Tip 1: Read books for in-depth knowledge of the concepts and refer to videos for broader coverage.
Tip 2: Practice on online coding platforms to simulate time-based conditions.
Tip 3: Maintain notes and try to give at least 2–3 mock interviews.
Tip 1: Keep your resume simple and readable, and be honest about any projects or past experience you include.
Tip 2: Be confident and well-prepared regarding the tech stack you mention.
The interview was scheduled at 2 PM on Google Meet. The interviewer was kind and asked if I had lunch. It was a coding round, and the interviewer shared a Google Doc link with the problem details. A complete working code was expected, with all given and edge cases passing, along with a thorough dry run. The interviewer expected fully optimized code and asked me to try different approaches for the problem.
Design a class in C++ to implement a recent apps functionality. The expectation is to create a recent apps drawer that shows the last used apps in the order they were launched, always displaying the most recent apps first.
I first clarified the problem and tried to explain an array-based approach, discussing the time complexity of the solution. Later, I moved on to a map/set-based approach to reduce the complexity slightly. I then implemented a class-based solution similar to the LRU cache problem, as it resembles most of the use cases for this problem. The interviewer asked about the overall complexities of the operations and was satisfied with the solution. I coded the answer in an online compiler, and the interviewer asked me to submit a complete working code.

Input: ‘n' = 7 , ‘k’=6, ‘arr’ = {1,2,3,4,5,6,7}.
Answer: 0.5
Explanation:
We can place 6 gas stations at 1.5, 2.5, 3.5, 4.5, 5.5, 6.5.
Thus the value of 'dist' will be 0.5. It can be shown that we can't get a lower value of 'dist' by placing 6 gas stations.
You will only see 1 or 0 in the output where:
1 represents your answer is correct.
0 represents your answer is wrong.
Answers within 10^-6 of the actual answer will be accepted.
I understood the problem since I had done it before, and I implemented a step-wise solution for it. A working code was not required; a pseudo code on Google Doc was expected.
The interview was scheduled at the same time, 2 PM, and the same interviewer from Round 1 was allotted. The interview was on Google Meet and again used a Google Doc. The problem statement was shared on the Google Doc.
Design a train management system similar to IRCTC. The expectation was to design a proper ER diagram for the models and their relationships.
Tip 1: Consider scalability while proposing a solution. Make models less dependent on each other so that minimal changes are required when adding new functionality.
Tip 2: Try to break the problem into as many chunks as possible and have a solid understanding of all system design principles.
Tip 3: Be technical in your solution and try to implement relevant algorithms. For example, in my scenario, I proposed a job scheduler for maintaining train schedules.
This was the last technical round (before the cultural fitment) and was conducted by a Senior Engineering Manager. The interviewer was on time, and the round was again on Google Meet. No document was shared this time, as it was meant to be a general engineering discussion.
The interview ended with discussions about the company’s work culture, and I asked 2–3 questions about the role being offered.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
What is recursion?