Tip 1: Prepare dynamic programming well.
Tip 2: Prepare database isolation levels and locking concepts well (optimistic locking, pessimistic locking, etc.), and understand which to use in real-world use cases.
Tip 3: If you are interviewing for SDE-2 or above, prepare system design concepts well, such as trade-offs between NoSQL and SQL, Kafka vs. RabbitMQ, etc.
Tip 1: Mention your projects on your resume in bullet points and quantify their impact with numbers (e.g., optimized system performance by 40%).
Tip 2: Mention only those skills you are confident in.
It was divided into two parts:
Discussion of projects: The interviewer wanted to understand the tech stack I had used and the scale of the projects I had worked on. He then cross-questioned me on the tech stack and the design choices in the projects.
Cross Questions:
Why did I choose MongoDB in one project and PostgreSQL in another?
Why did I choose RabbitMQ in one project instead of Kafka or Amazon SQS?
Tip 1: Be structured and prepared with system design concepts and trade-offs.
Tip 2: You should thoroughly understand every project mentioned in your resume.
In the second half of the interview, the interviewer asked the following questions:
Tip 1: You must be well versed with concepts like Multithreading, Concurrency, thready safety and database locking.
Tip 2: You should have good hands on with real time backend systems.




Can you solve the problem in O(N) time?
Step 1: I converted all taps/sprinklers into intervals.
Step 2: I sorted the intervals by increasing end time.
I applied the Activity Selection logic (minimizing overlap). However, this problem is an interval covering problem, not a scheduling problem.
That’s why some test cases were failing. The interviewer also gave me some time to think, but unfortunately, we ran out of time.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
Which data structure is used to implement a DFS?