GoF theorem / Design Pattern
SOLID Principle
Experiencia con microservicios y monolitos
Explain I in SOLID
JVM memory model
Horizontal scaling vs Vertical scaling?
Circuit Breaker in Microservices?
Synchronous vs asynchronous protocol in payment systems?
What is the CAP theorem?
JDK vs JVM?
What is REST API?
Have you ever create a programming language?
How does the internet work?
Array vs linked list?
Concurrency Model?
Microservices communication patterns?
Differences of junior and senior engineers?
What is the complexity of binary search?
Do you know some pattern to prevent "cascading failure"? Circuit breaker
List data structures that you know!
Describe concurrency in Java?
What types of architectures do you know/have used in the past?
What would be the steps you would take to debug an endpoint on a web server that is running slow, assuming everything else works??
What languages have you worked with?
What data structures and design pattern do you use?
How would you make a class immutable?
Time complexity of a HashTable, LinkedList, Arrays etc.?
JVM - Working and Heap?
Process and thread - difference and relation?
Deadlock and concurrency?
Observability and logging - basics like what metrics to check etc?
Domain Driven Design?
SQL vs noSQL (where to use each one, differences and trade offs, how to run a migration without downtime)?
How would you build the backend for the customer app?
Spotify system?
Design a waze-like system!
Design food delivery system like Swiggy
Bike rental system?
Design Glovo with following scope?
- User can create account and login
- User can list restaurants and check menus
- User can order something from menu
- User can make payments for the order
- Restaurants have to accept/reject the order
- Delivery person has to accept/reject the delivery request
- Delivery person status should be updated to the user every 2 seconds
- And then what kind of DB/cache/messaging system would you use etc. You basically need to defend your choice or maybe change it if doesn't look right.
Bike rental system?
Design Whatsapp with following features?
- User can send a message to another user or a group
- A user can create a group
- Then some extension like what if we want to support multimedia messages etc.
- Draw class diagram for the problem