Tip 1 : Consistently practice DSA questions.
Tip 2 : Regularly participating in contests held on competitive programming platforms(codeforces, codechef etc) will definitely help in developing an aptitude for problem solving and also improves speed to solve such questions
Tip 3 : Revise basic questions of OOPS and OS like polymorphism, race condition, semaphores, deadlock etc.
Tip 1 : Only mention your most important skills and achievements to keep it short and precise.
Tip 2 : Have a sound knowledge of all projects mentioned.
It consisted of two sections - first section had two coding questions and second section had to submit explanations for your solutions. One of the question was a simple spiral traversal of a two-dimensional matrix. Other was a straightforward binary search question. Level of this round was very easy.







This was the first F2F interview. He started by asking me about the work I did in my previous company. He seemed genuinely interested in knowing the project I was working on. Also asked me some technical questions related to that project. Asked a couple of questions related to the skills I had mentioned on my resume like AWS lambda etc. I was able to answer all question correctly except one. Then I was given one coding task to solve. I was required to start coding instantly and explain what I was doing simultaneously. Other than the coding task, interviewer asked me a couple of behavioral questions
Static and Dynamic Memory allocation
The problem statement was very vague, so I started asking questions. I asked him about what's the input and what exactly is expected to do with it. He explained further that I can assume things that are not given in the problem statement. He also mentioned that he will be judging me based on those assumptions. I was a little surprised but then I started creating the problem statement myself and also explained him what I was doing. He gave me hints wherever I was making wrong assumptions. Basically I assumed there was a finite memory available for processor and there is a stream of process with different memory requirements. It could be allocation or deallocation. I was going for a non-contiguous memory allocation and was thinking of using linked list for that purpose but the interviewer clarified that I need to implement a contiguous memory allocation. I used an array and for each input process I traverse the memory array and find a contiguous subarray of required size and allocation each memory unit of that subarray to that process.
Asked me two coding questions.



Let ‘N'=3, hence the length of the binary string would be 3.
We can have the following binary strings with no consecutive 1s:
000 001 010 100 101
I calculated number of strings without consecutive 1s and then subtract it from total number of strings. At first I created a two state DP, then interviewer asked me if I can reduce its space complexity. I arrived to a one-state DP solution but he asked me to reduce it further and I was able to do it with a temporary variable.
There are election in your country. Write two functions - First method will take the state as input and will return the name of the party that's winning in that state. Second function will take party as input parameter and will return all the states in which that party is winning.
I created classes for Party and States and declared some member variables. For state, I maintained a variable for current number of maximum votes, update it when each vote is cast to a party. Maintained a paired set of state and its vote in that state. That paired set mapped to each state can be used to answer first query in O(logn). I was not able to implement second query due to time constraint but tried to explain my approach to the interviewer in a limited time.
This was HM round. He asked me some behavioral questions which seemed like a formality. He asked me some questions on OOPS and OS. Then gave me a coding question. Wanted me to explain the approach and run it. I asked him a couple of question at the end of interview related to the work and tech stack used by the team.


Given ‘N’ = 4, ‘numMisha’ = 2.
The options available to us are 1, 3, and 4. In this case, choosing 3 would be most optimal because the probability that Andrew wins is 2 / 4, whereas if he chooses 1 or 4 it would be 1 / 4.
I had never seen this question so I came up with a simple and inefficient solution at first. Then he gave me a hint and I was able to improve my solution significantly. I was able to come up with the exact solution and explained it to him. He expected me to code my solution in the remaining time. I wasn't feeling like coding the solution even though I knew it because of the time constraint. He encouraged me to type it but I wasn't able to complete it in time. He seemed convinced with my verbal explanation though.
He asked me some questions about my role in previous organization. Asked me the architecture of the systems I have worked on. Then asked me a coding question.


If the given matrix is:
[ [1, 2, 5],
[3, 4, 9],
[6, 7, 10]]
We have to find the position of 4. We will return {1,1} since A[1][1] = 4.
I was not able to solve it in the most efficient way. I explained naive approaches to him. Then came up with a binary search solution. Applied binary search to row and then column. Complexity was O(logn * logm).

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
How do you remove whitespace from the start of a string?