Senior Backend Interview Questions
General Questions
● Introduce yourself and tell us about some of the projects you are working on.
● Can you please briefly tell me about the process you follow starting from who
decides which features or updates should be done until it goes to production.
Technical Questions
OOP
● What is the difference between interfaces and abstract classes? And when to
use each one?
● Do you know the SOLID principles? Briefly explain each principle.
● What are some design patterns that you used at work? (Feel free to ask about
some main design patterns like: Factory, Builder, Adapter, Decorator,
Observer, etc)
Architecture
● What is the difference between monolithic and microservice applications? And
when do we use each one?
Craft and Practices
● How do you ensure the quality of your project in terms of writing clean code
and following good practices?
● Do you write tests for your code? What are the benefits of unit tests and
integration tests?
Databases
● Which database systems do you have experience with?
● When to use SQL and NoSQL databases?
● Do you know the ACID properties? Briefly explain each property.a
Basic Distributed Systems
● How would you scale your system (server and database) to handle more
load? Can you provide any example from your working exerience where you
needed to scale a specific service?
Observability and Debugging
● When you encounter a performance bottleneck in your system, how do you
debug it? (Example: A screen on the mobile app the keeps loading forever)
● If you discovered that the performance bottleneck was caused by your
database, how would you debug it to discover where the problem is?
● If you discovered that the problem is in a specific query, what would you do to
discover its problem?
Basic problem solving and collaboration skills
● Write a function that takes two integers and returns their multiplication but
without using the multiplication operator.
Solution: https://www.paste.org/126506
Closing
● Do you have any questions for us?
●