Software enginner interview questions - part 1

Here are questions I usually ask as a candidate for a software engineer position.

  1. How do you plan/estimate effort?
  2. How long are the sprints?
  3. How often do you release?
  4. How long does it take to get from commit to qa/production?
  5. What is your code coverage?
  6. What kind of tests do you write? Unit? Integ? Func? End-to-end? What style do you use? TDD? BDD? What frameworks are in use?
  7. What dependency management tools do you use? Would you be able to switch easily or do you have custom setup involved in build process?
  8. How long does it take to setup local environment? Up and running in 2h? Commit on first day?
  9. What frameworks/libs do you use? What versions?
  10. How do you document your code?
  11. What is version of technology you use (Java/PHP/Go etc.) in production environment?
  12. What storage engines do you use (SQL/No-SQL)?
  13. Do you do merge requests and code review? How many people must accept the merge request to push it to production?
  14. Where do you deploy your project? Cloud/your own infrastructure?
  15. Monolith, microservices? How do you plan to evolve your architecture in future? What modules are there In the project? How are they connected? How many microservices are present? How are they connected?
  16. How big is the code base? What languages does it consist of(%)?
  17. How old is the code base? What is the estimated amount of maintenance vs new features development time?
  18. What version control system do you use? (git/hg/svn)
  19. Who deploys to production? Devs/Ops? Do you do infrastructure as code (terraform?)?
  20. What methodology do you work with? Scrum, kanban etc.? Do you do Pair Programming? TDD?
  21. Build tools? Continuous integration? How long is the CI project? Continuous deployment? Do you use any kind of release fallback when there are problems with new version? Canary deployment?
  22. What tools are you providing? IntelliJ? Jrebel? YourKit?
  23. Are domain experts available on premise? How can I get a business information when I need it?
  24. What knowledge center do you use? Wiki/Confluence?
  25. Are There any restrictions regarding day-to-day work on the project? Specific operating system?
  26. How do you fight your technological debt?
  27. Do you use APM?
  28. Do you collect metrics from your apps? How?
  29. Do you have centralized logging setup?

Contents