Hello
I've applied through Linkedin and after a couple of days recruiter contacted me scheduled rounds.
There were a total of 5 interview rounds.
Round 1: It was a Karat Interview(a third party). Interviewer is a professional seems like he's getting paid just for taking interviews only.
First Coding Question: An array of strings and a string is given, I've to find out whether using any of these words can I construct a string or not. You've to write code and they'd ask you to execute it on there IDE and would test on some test cases.
Second Coding: It is like an 2D char array and a string is given, you've to return the 2D vector containing indices of all those characters which can make that string.
Then a follow up question which is to return an index only once, you cannot use a character once it is a part of valid sequence.
Had a good discussion on this but couldn't able to come up with the right approach, then at the end interviewer himself told me that it is a very difficult one and you've done really good.
The best thing about this is if you're not satisfied with the interview you can again ask them to reschedule and they'll consider the updated one. As for me it was good I didn't go for this option.
After couple of days I got the feedback and it was positive.
First Technical round: It was taken by a Software Engineer at Compass having 10+ years of experience.
https://leetcode.com/problems/valid-parenthesis-string/
This is the exact question he asked after the introduction. I told him my first approach and he asked me to write a code, as soon as I heard this I thought my approach is good but then while writing the code only I thought of test cases where it'd get failed and explain him that this is the issue with this approach, then he asked me to try something else. For next 20 mins I gave him 3-4 approach but also I told him the test cases where my approach would get failed. At last he asked me if we can write recursive code. I said yes we can do that and I wrote the code and executed it after 2 try. It was able to pass all the test cases he could come up with but I told him about the complexity and all.
Thought I'd not clear it as it was not an optimal one. I wasn't able to come up with greedy approach.
Third Technical Round happened on same day: It was also taken by a 13 + years of Senior Engineer at Compass.
He gave me the problem in which we have flight availability between different cities and asked me to design an API. Have to find out whether we can have a reachability between two cities or not. We discussed the possibility of DFS and BFS and then I design it based on DFS. He tried my code on multiple test cases and it was working fine.
Follow Up question: He asked me to find out one route having x number of stoppages between two cities, x is an user input.
I quickly changed my code and able to explain him my approach.
Follow Up: Now he asked me to find all the routes with x number of stoppages. I told him the approach and he asked me what if we do like this or not like that.
key is your coding abilities, write well structured code and explain him while writing the code.
Next day I called the HR to ask about the feedback and she said that you've cleared both the rounds but now you have two more rounds which is Technical Deep Dive round and HM round.
Hiring Manager: Taken by the manager under whom you've to work.
It was more like a conversation than interview. He told me about the team, work they're doing, what is there expectations, what is your expectation. Then he asked me about a DB Design like he gave a scenario to validate a Login Page and Subscription model, what DB you'd use and what's the structure.
Asked me about web server, my interests.
Later he asked me why leaving current job and all those. It was a very frank round and nothing much to prepare for this at least.
Now comes TDD round: This is the round you won't get much information online. Taken by Nabarun Mondal(Undoubtedly most knowledgable man I've ever met). The way he talks and explain is reallly out of this world. In starting I thought this I cannot clear but then I took a deep breath and listened him. He asked me about a problem I have solved and most proud off?
I just started and told him about face verification, he stops me after 5 seconds only and explain me how I might have solved this problem and how I verified the results, I just keep listening him and at last he told me that you've two distribution given, tell me how you'd find out that these are similar or not.
At first I thoought it is gone and first clarify my understanding and then I started telling him what I'm thinking, the best part about this interview is this is such a unique problem you would not get it anywhere and at the end he takes me with him to this whole journey and at last I was able to solve the problem. He gave me more hints than required and helped me everywhere I got stuck.
Mainly I think he's looking for how well you understand the problem and how well you ask your doubts and able to come up with the approach doesn't matter whether it's right or wrong.
At last I myself couldn't believe that I solved this problem.
I was not very confident and next day asked HR about the feedback, she told me that they've meeting regarding my interviews at 1:30 pm and will tell me the results before 2pm. Such clarity of the process I never found anywhere. All the time I know what is going on with my application. At 1:57pm I got a mail that I've cleared the rounds and will get the offer letter soon.
Special mention is about HR, she's so supportive, everytime I asked any doubt on mail she replied me within 5 mins and always answer my calls. She's the best HR I've got so far.
Compensation: https://leetcode.com/discuss/compensation/1967143/Compass-or-SDE-1-or-Hyderabad-or-April-2022
Any suggestions would be appreciate.