Skip to content

Instantly share code, notes, and snippets.

@stevo
Last active July 27, 2022 09:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save stevo/c154c2ab30981a25f3d777bd8a32589c to your computer and use it in GitHub Desktop.
Save stevo/c154c2ab30981a25f3d777bd8a32589c to your computer and use it in GitHub Desktop.
OOP/Architecture Verification

Terminology / Principles

Be prepared to explaing following terms/rules/principles etc.

Patterns

Refactoring

Open discussion topics

Be prepared to talk about following topics. Answers can be scoped to given framework.

Idependent developer πŸ”Ή

  • What do you think about custom controller actions (outside CRUD)?
  • What do you consider clean code?
  • How about testing? Are there any principles you identify with regarding TDD?
  • How would you ensure that tests are easy to understand by other developers?
  • Does writing tests after implementation affects process & quality in positive or negative way? Please explain.
  • What do you like about [framework] the most?
  • What is your preferred way in working with repository? (i.e. GitFlow) 🐩
  • What options can you see in terms of static code analysis? 🐩

Mid developer πŸ”Έ

  • What is your list of top things/techniques to ensure high code quality and why?
  • What do you think about metaprogramming?
  • What patterns do you consider useful when writing backend MVC apps?
  • What full-text search solution are you familiar with? In what cases would you use those solutions?
  • What do you miss in [framework]? Where do you think [framework] is not the good fit?
  • What do you think about project documentation?
  • What are the anti-patterns when writing [framework] apps in your opinion?
  • How would you deal with complex, legacy project that you need to work with, if it does not have adequate tests coverage?
  • Are you familiar with concept of Test Induced Design Damage? What is your opinion on that? 🐩
  • How do you often deal with long running requests (i.e. generating documents)
  • How would you describe β€œmaintainable code”?
  • If I was to write API only application in [language], what would be your recommendations / hints in relation to this task?
  • What kinds of caching do you feel are the most useful when developing [framework] applications?
  • If there is an information you need deep inside your code, but it is only accessible on top level (i.e. in controller), how would you approach propagating it (think β€œcurrent_user”, but it can be anything else)
  • What do you think about / where do you find application for JWT 🐩
  • What do you think about / where do you find application for Pub / Sub 🐩
  • What do you think about / where do you find application for UUIDs 🐩
  • What do you think about / where do you find application for WebSockets 🐩
  • Where do you find use for so-called "monorepo"s 🐩

Senior developer πŸ”Ί

  • What is your opinion about monolithic vs microservice based architecture? 🐩
  • How would you ensure reliability of microservice architecture?
  • How do you deal with database related performance issues (when processing tens of millions of records)?
  • If you are asked to implement an interface that should work with live (realtime) data feed, how would you approach implementing it?
  • How would you handle very intense traffic (i.e. from IoT) in [framework] application?
  • How would you ensure stability of public API in application that is under active and rapid development?
  • What do you think about / where do you find application for SOA 🐩
  • What do you think about / where do you find application for CQRS 🐩
  • What do you think about / where do you find application for DDD 🐩
  • What do you think about / where do you find application for Event Sourcing 🐩
  • What do you think about / where do you find application for Reporting Databases
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment