Online Technical Test – This round was an online Hackerrank test consisting of 3 questions, out of which 1 was easy and 1 easy-medium, and 1 medium. These were unique questions based on a competitive solution approach as well as good DSA knowledge.
After getting selected in this round, I got the interview mail and a call from the technical recruiter within 1 week of giving the test.
Technical Round 1 – This round was a problem-solving round where the interviewer gave 3 coding questions (2 easy- medium, 1 medium).
- Find the row with the maximum number of 1’s: Given a 2D matrix, each row contains 0’s and then 1’s, row-wise sorted. Find the row with a maximum number of 1’s. There was an interactive discussion going right from O(n * m) to O(n log m) and finally to O(n + m).
- Minimize the calculated Sum: Given an array, take up two numbers and add them and put the sum into the array, and remove the picked up numbers from the array. Add the hence formed sum to a variable res. Repeat this step until the array has only 1 element left and minimize the final sum. I used the Priority Queue approach in this.
- Add up two numbers given in the form of LinkedList: There were follow-up questions on the same, taking conditions like no reversing to LinkedList allowed, can’t use extra space and I had to explain the approach for all of them and finally code the best one.
Technical Round 2 – This round was also a problem-solving round held after 1 hour of the above interview, where the interviewer gave 2 coding questions (1 medium, 1 hard).
- Find all unique triplets with zero-sum: Given an array of integers, find all unique triplets in the array such that their sum is equal to 0, i < j < k and i != j != k. Starting with using loops, to HashMaps, and finally to the best approach of sorting, we discussed every approach and coded out the last two as asked by my interviewer.
- Stepping Numbers: The question was similar to this one and starting from the brute force approach I finally landed up to the BFS approach and the interviewer was really impressed at this point by my problem-solving and thinking capability.
Technical Round 3 – This round was taken the next day and was again a problem-solving round where the interviewer gave 2 coding questions (1 medium-hard, 1 hard).
- Given a 2D boolean matrix where 0 is for accessible cell and 1 means non-accessible cell, and two points A and B. Find if we can reach point B from A if we can move in the right ( ⇒ ), diagonally top right ( ⇗ ), and diagonally bottom right ( ⇘ ). Starting from DFS, to the BFS approach the interviewer told me to optimize it further and then going to O(n + m), I coded this approach, after which he threw a follow-up question stating that if all cells are 0’s and I tell you to optimize the given approach further. I came up with an O(1) solution for this case.
- Given a machine that can perform each task in 1 second, but if two similar tasks are to be executed consecutively, there is a cooling period of k seconds. Find the minimum time and the execution pattern in which all the tasks should be executed such that it takes minimum time. I came up with a solution using Priority Queue after a good discussion of all scenarios and pros and cons of the 2 approaches that I explained to him.
Technical Hiring Manager Round 4 – This was a technical round with the Senior Hiring Manager. He started with a brief introduction about what domains do his teams handle and how it actually works at the backend. This was a really calming down discussion for me and then he jumped on to my past internship experiences and projects that I had built and tech stacks that I have worked on. Then finally jumping on a High-Level Design question on Designing Google Sheet. There was a good and healthy discussion starting right from the choice of database and formation of the tables and relations to the handling of requests, and building of features like shifting of rows/ columns, and copy-pasting, Collaborative Editing, and optimizing requests for each, in google sheet. He also asked some good questions related to the design that I was implementing and discussing. This was a highly interactive and knowledgeable round and you can also find my blog on the System Design of Google Sheet(https://medium.com/nerd-for-tech/system-designing-google-sheet-bdf12321b99c).
After this, I asked him some questions related to the tech stacks and problems that they are trying to tackle and also the reasons for not launching some new features that I was very keen to ask since always :P.
HR Round 5 – This was a normal HR discussion on my SWAT analysis, my goals, and my vision toward my work and life. Some other questions were based on my current offer and other offers in hand.
After 2 days I got a call from the recruiter congratulating me on my selection and finally, I was offered a full-time SDE-1 role with Swiggy.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course. In case you are prepared, test your skills using TCS, Wipro, Amazon and Microsoft Test Serieses.