Design patterns

  • Шпаргалка по шаблонам проектирования
  • What major patterns do the Java APIs utilize?
  • Pattern used in Java
  • Which patterns do you use in a daily basis. Explain their principles.
  • Give an insight into such patterns as Façade/Proxy/Decorator/Strategy/Observer (selectively)
  • Can you please explain “bridge”, "singleton" design pattern?
  • Can you please explain "FlyWeight" design pattern?

OOP

  • Inheritance vs Composition
  • Coupling & Cohesion (class & method level)
  • SOLID
  • DRY
  • Law of Demeter
  • Feature Envy
  • CQRS: Command Query Responsibility Segregation
  • Principle of Least Astonishment/Surprise


Domain driven design

  • Building blocks: Entity, Value Object, Aggregate, Service, Repository, Factory
  • Ubiquitous Language
  • Anticorruption Layer
  • Bounded context


Craftsmanship

  • What is software craftsmanship?
  • Books: Clean Code, GOOS, Working Effectively With Legacy Code, RSpec, etc
  • How do you keep yourself up-to-date?
  • Pet projects? Tell me more
  • Katas? How do you practice?


Code

  • How do you identify good and bad code?
  • Multiple return statements
  • Average lines per method & class
  • What do you think about the “else” keyword. What are the alternatives?
  • What is the problem with getters?
  • why the switch statement is post-soviet construction?
  • what is problem with comments in the code?