Tip 1 : Don't try to aim for a particular company, instead try to aim for a band of companies in placements, and increase your preparation level gradually to get to the desired band.
Tip 2 : Try to pay utmost attention to consistency, giving contests consistently and upsolving questions will definitely help
Tip 3 : Try to write succinct and concrete information in resume instead of trying to write bigger sentences.
Tip 4 : Do at least 2 projects, try to explore a breadth of technologies in projects, such as Web Dev, Mobile Dev, ML etc.
Tip 1 : Try to have projects where you have explored some technology on your resume. I had a project about GPU based ray tracing that really helped me a lot, as it stood out from normal projects.
Tip 2 : Highlight your previous work experience in terms of the direct and indirect impact you created in that role.
Tip 3 : Make your resume more concrete and succinct.
The test was held in 3 slots, and each slot had different starting times, 3pm, 4pm, 5pm. I was in the last slot. The test was conducted in our college labs. The test was being held on a portal that I had never used before, It was quite a different setting and we had to scan a QR code to log into the portal. Once the test started, the portal interface was fairly intuitive.



Let us consider 'K' is 3, an element at index 4 in the sorted array, can be at indexes 1, 2, 3, 4, 5, 6, 7 in the given array, because the absolute difference of all these indices with 4 is at most 3.


1) Cells with a value of 0 indicate empty space in the room.
2) Cells with a value of -1 indicate an obstacle in the room.
3) Cell with a value of 1 indicates the starting position of the robot.
4) Cell with a value of 2 indicates the ending position of the robot.
If ‘N’ = 3, ‘M’ = 3 and ‘ARR’ = [ [1, 0, 0], [0, 0, 0], [0, 0, 2] ]
Then the room is represented as:

The 2 unique paths are marked in the image above.
The first path is: (0, 0) -> (0, 1) -> (0, 2) -> (1, 2) -> (1, 1) -> (1, 0) -> (2, 0) -> (2, 1) -> (2, 2).
The second path is: (0, 0) -> (1, 0) -> (2, 0) -> (2, 1) -> (1, 1) -> (0, 1) -> (0, 2) -> (1, 2) -> (2, 2).
1. I recognized that number of unique path problems are often solved using DP so I tried to fined a recurrence relation. I was unable to figure out how to keep track of visiting a cell only once.
2. As the constraints were quite low, I decided to write a brute force way.
3. While writing the brute force solution I realized, I can use simple DFS here with backtracking. We can check that a particular path has covered all the non-obstacle blocks by counting all the blocks encountered in the way and finally comparing it with the total number of blocks available and if they match, then we add it as a valid solution.
This was the first interview round, it was held at 10am in the morning and we were given the zoom links 15 minutes before the interview was scheduled. Once, we joined the call we were sent to our waiting rooms (in zoom) where the interviewer joined at the interview time. The interviewer was very cheerful and made me feel at ease instantly. He started by introducing himself, followed by my introduction. We then we had a 5 minute talk about my resume and my projects. Then he gave me a DSA question which I was able to solve.



• The left subtree of a node contains only nodes with data less than the node’s data.
• The right subtree of a node contains only nodes with data greater than the node’s data.
• Both the left and right subtrees must also be binary search trees.
For the given binary tree :

The BST will be:

Note: Each node is associated with a unique integer value.
After the first round was completed it was intimated to me that I have cleared the round and I will be progressing to the next round, that will be held after 30 minutes. It was going to be a design round. This round was held at 11:30.
Initially we had a lengthy discussion (30 minutes) about my projects and then later on about OS, where we talked about Semaphores and Mutexes and mutual exclusion along with topics like race conditions and DBMS types, this was more of just a conversation and not really questions, I felt like the interviewer was trying to gauge my knowledge of the subjects and didn't dive deep into any topics.
We then progressed to a system design question. Design an online book reader system.
Tip 1 : System design questions can be quite open ended, so it is best to communicate well through them and think of the round as a collaboration instead of a question/answer type of round.
Tip 2 : I tried to identify as many problems as I could upright, as then I would have a defined set of problems to work with and I would spend my time solving them, instead of running into/ realizing new problems in the middle of the round.
Tip 3 : Once the problems have been identified and communicated along with the rough estimates about the data considerations, we should prioritize and start solving the problems. One thing that really helped me was that I was trying to draw comparisons with already existing concepts such as memory management in OS etc.
Tip 4 : Some problems are quite tricky so it is advisable to try and solve them creatively for the brownie points.
This was the final round for me, a few people had another problem solving round after the first one. This interview round was more of a Hiring Manager round as the person asked me about my projects extensively (tech stack choices I made, my contribution, research work related to projects etc). The interviewer also gave me a DSA problem to solve but it was relatively simple. We then talked about Zynga, the tech stack and mobile gaming in general.
For X = 1, Y = 2 the game goes as follows -
You will donate 1 candy. So you now have 0 and your friend has 3 candies.
Your friend will donate 2 candies. So you now have 2 and your friend has 1 candy.
You are required to donate 3 candies but you only have 2 candies.
Hence your friend wins.

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