CQ_Softwaretalks | Devarshi Patel | Graviton

Communiqué IIT KGP
9 min readMar 24, 2022

Placements 2021

Interviewer: Today we have Devarshi Patel with us who has been placed at Graviton Software. So firstly heartiest Congratulations on that. Devarshi please tell us about the general interview process for the companies you interviewed? Please mention the number of rounds and the nature of the interview process.

Devarshi: Thanks a lot for having me! On the day of the interview, I gave one round for Rubrik for about an hour and had just a simple greedy question in it. The purpose was to understand the clarity in the question and propose a solution interviewee’s thoughts as an IDE was given, but we were not allowed to compile or run the code at any point in time. Before beginning to code, we needed to explain the algorithm and, when the interview said so, we should start coding it. First, I went on a different path but eventually came to the right one and mentioned the correct one only. Also, it was necessary to mention all the corner cases, so be ready for that. What I’ve heard from the seniors is that rubric focuses more on if your code is running. Try to write bug-free code in the first attempt.

Whereas, the interview for Graviton was 2–3 hours. It was as good as three rounds of interviews. My interview began at 1 am at night and went on till 4 am. The format was DSA for about 30–45 mins, then OS fundamentals for another 45 mins, then some OOPS programming on a very particular case(somewhat similar to system programming). The interviewers kept changing and I was asked to wait meanwhile.

Interviewer: Could you please list down the questions you were asked in the different rounds? Puzzles, technical questions, any other discussion in general that you think will prove to be helpful for students.

Devarshi: As I already said before, I gave one round for Rubrik for about an hour and had just a cp greedy question which could be easily solved using a priority queue. Be sure to mention why and how you have solved so. Also, mention the corner cases where the algorithm may fail, if any. To my surprise, the interviewer also asked me to code the initial wrong algorithm and pinpoint where the logic fails in the code. Be sure to clear the question before beginning to avoid silly mistakes.

In graviton, the first part of the interview was on verbal DSA. We were asked not to code but to explain our approach. There were two easy ques. The first one was a direct bipartite graph or to be more specific, manipulation of the question(odd cycle length detection). The second was the longest common subsequence type of question. I came upon the optimal solution initially as it was easy. The interviewer was not expecting that, but he was satisfied when I told him about the longest common subsequence so your communication skills matters here. So if it’s a very famous topic, you can mention it if you are confident enough. You can also specify any other approach you want to go ahead with.

The second part of the graviton interview round focused on Operating Systems(OS). We were asked about the theory, or you can say the almost entire OS course of the curriculum. Some of the questions were on file system management, virtual machine and memory management. There were also some miscellaneous questions like “the difference between malloc and new?” and “why are caches faster than normal memory”. I think it is an excellent round to justify your standards to the interviewer if you are well versed in OS principles. It is quite a compulsion in HFTs that they focus on your system skills for a software developer, so they grill on OS concepts. Be sure to prepare that.

The interviewer in the third part was a senior developer. He asked me some tricky questions to understand how I could adapt to the situations. Those kinds of ques were not traditional but, looking at how he was explaining the question and he was giving some pointers, it was about how well I’m grasping them. It was challenging but interesting. When it comes to performing under pressure and when you know that the stakes are high, we tend to forget. The interviewers in all three parts of the graviton or rubric were quite friendly. They support you when you are uncomfortable and keep giving you hints. They understand that you’re giving interviews in the middle of the night and try to help you out. So the interview stigma of “what will I say” is not a major issue.

The third part of the interview was about oops concepts like classes and how you code stuff in object-oriented coding on the system-oriented questions. The interviewer asked me a question where there’s a bottleneck in the system where the keyword is called multiple times and I had to reduce the bottleneck. It was a kind of data structure/memory management question and was interesting.

Interviewer: What are some of the FAQs in most companies that you faced and think students must definitely prepare for? More specifically, in the context of HR rounds.

Devarshi: Ask the seniors who have given interviews in the companies you are shortlisted for or targeting. For a software developer position, one needs to be well versed in DSA and to some satisfactory extent the operating systems. Be sure to read some miscellaneous concepts like how vectors and data structures are implemented internally. Make sure to revise all the concepts of C++ and how they are implemented. What are smart pointers, what are padding and packing, how are enums implemented, and how are classes implemented internally? There are multiple channels on youtube that you can refer to. I looked at “The Cherno” on youtube. It had a playlist of the entire C++. One can look at it in the last week of the interviews, it would take 2–3 days to revise it.

In the HR round specifically, they wanted to know my intention and whether I wanted to join. They asked me my preference. I was comfortable letting them know as I placed graviton above Microsoft and Rubric. They were happy to know that I was willing to join an HFT and I won’t just hold their offer to get other better offers. You can also mention that you are not comfortable sharing or say that you prefer HFTs.

So points like OS, files system, virtual function, internal implementations of data structures, lambda functions, overview on C++ keywords, a bit of COA and smart/shared/unique pointers(not really compulsory, mention it in the interview only if you are confident) and definitely CP. These kinds of things are important for HFTs in particular. Also, most HFTs do look at your JEE rank too for shortlisting.

Interviewer: What are things students sitting for placements next year can do from now until December to maximize their chances of getting through a company in this sector?

Devarshi: The first step of getting the offer is the shortlisting process. Year after year, the technical rounds are getting more cp oriented. Take up a course on DSA, if you aren’t from a circuital branch and keep practising. I took an Algozenith course which certainly helped me during my preparation in a structured manner. Give online global competitions because rank matters. Most of the companies that came in for placements asked us about our ranks in global competitions like google competitions(code jam, kickstart, etc.), Facebook hacker cup, and ICPC. They do look at your participation in online competitions as it helps them shortlist the dedicated candidates and those who have been doing this for a long time. The technical round of graviton was a 2 question round and, the time given was one and a half hours. I did one question and the other question partially to pass the sample test cases. But it was a question that one should know before sitting for placements. So even if you are doing all the questions, expect the unexpected. Someone might be faster than you, someone might have a better CG. You might not get shortlisted over that candidate, so be ready to be disheartened. Uncertainty is a big factor for placements and CDC in general. Things might not work out in such a scenario so, practice CP from now on.

As a cse student, the Operating Systems course is a part of the curriculum. Therefore, I just had to revise a little. It was a plus point for me. If you have not done an OS system course, you can start learning side by side from online blogs and websites.

Interviewer: How did your preparation for technical rounds evolve once you were shortlisted?

Devarshi: So we were not given enough time after we were shortlisted. The results were out around 25 Nov, and the interviews were around the first week of Dec. We barely had time. Hence the preparation did not vary much. I just revised a few concepts. All my hard work on dsa algorithms was done, I did not have to do much as it is a skill that you develop over time after months of practice. I knew that I just had to revise stuff to not miss out on trivial things. I took a few really important questions to brush up on the theory of CP. I revised operating systems, oops and c++ concepts.

After I was shortlisted, I had to manipulate my sleeping schedule. As slot one is general in the nights. It begins at midnight and goes on till 8 am. I used to sleep at around noon after lunch, wake up for dinner and then study during the night. This was not difficult for me as I am a night person, I did this for one week straight, to get used to the interview timings. Apart from that, the prep did not vary much. I was exhausted after the entire sem and the technical rounds of all the companies and took some time to reflect and work smartly.

Interviewer: Anything else that you’d want to share with the students?

Devarshi: There’s still time. If you are beginning in cp, then you also will have to devote that much amount of time to be of that level that you can crack the technical round. Keep your CG high, around 8 or 8.5. Just do cp because companies always prioritise cp skills and ranking in platforms like code forces. Keep giving contests on such platforms. Skills/experience matter but mostly in the interviews, very few to no companies shortlist on the basis of skills and projects. So it is important to get shortlisted first where mostly CP and OS theory questions are mostly asked. A few projects(maybe a self project too) and an internship look good in the interview. If you have your thesis it’ll be tough to manage. There will be tests, a thesis and you have to do research work, you might have to give 4–5 tests a day, it gets hectic. When you are done with your classes, assignments, and thesis work, you still have four tests in the evening, you are kind of exhausted for the day but you still have to pick yourself up. Be ready to sit for long hours. Be ready for a 14–18 hr day of excessive hard work. So start studying from now. Keep participating in contests, coding rounds, solving questions for 2 hours straight and take a 15 min break. You can stimulate this by yourself. It is necessary to be attentive to be on top of your mind to give such tests.

In the initial tests, I scored around 60–70%, which I thought was poor at that time because I could have solved more. So I started playing blitz chess and bullet chess. I am a terrible chess player but I wanted to kickstart my mind after a tough day. I would lose 5–6 matches of chess, but still, I would try to think and win in each scenario. Even if I would be in a losing position, I would try to come up with tricks. I’m a competitive person so this exercise increased my alertness and my performance picked up from then.

Also, be ready to face tough situations. I blundered the three important tests of Google, Goldman and Quantbox. Learn to pick yourself up because there are plenty of companies that will be coming. Keep in touch with your friends and more so with the peers sitting in the placement drive with you. This will give you a sense of confidence and support. Give your best! All the best!

--

--