Status: CSE Undergrad, currently in my 4th year of engineering. Tier 3 college.
Position: Backend Engineering Intern
Location: Banglore, India
Duration: 6 Months
Date: January 2021
The Interview process consisted of the following rounds:
It was during the month of December, 2020 when I had found out about the open position at HackerEarth. The requirements of this job was being good with DSA, experience of coding in python and some experience with Django. Since all of my college projects were written in Django, I decided to apply for the job.
1. Round 1 - The Online Assessment on (guess where!)
The OA consisted of a 40 minute test where there were 2 coding questions. One of them was easy level while the other was Easy Medium. I dont really remember the exact problem statements, but both the questions were pretty simple enough. While the questions were quite simple, the real trick part was to complete the entire test in time, which had about 15 more short objective questions on CS fundamentals, basic math stuff. It took me about 30 mins to finish the test and I was happy about it. On test completion, I was told that an HR rep would reach out to me in case they felt I was suitable for the role.
2. Round 2 - The First F2F Technical Round
After about a month, in January, an HR rep contacted me asking if I as still interested for the role. She scheduled my first round of technical interview a day later. I gave my interview with an SDE of the company. I was initially quizzed on python. Questions on pythonic way of writing code, and other python stuff. After that we discussed on the projects that I had done using Django. After this was done, we moved on to the coding section of the interview.
He initially asked me to implement a Stack in python without using any DS like lists. So I had to use the concept of Linked Lists and pointers and build him one. After he was satisfied with my answer, he asked me to convert the stack that I created into a Min Stack. Once this was done, he went on to quiz me some more on python fundamentals. I was expected to write fully working code in PYTHON with different test cases. This interview carried on for a little bit more than 1 hour 40 mins.
3. Round 3 - The Second F2F Technical Round
On the night of my first technical round I was informed by the HR rep that they have decided to move ahead with me into the next technical round which was scheduled the very next day. This was an interview with a Senior Software Engineer of the company. The interviewer began this round with some python fundamentals and then moved on to DS and Algorithms where I was asked to define binary tree and their properties. I was asked the question Depth of a Binary Tree. Once the interviewer was satisfied with my code, we moved on to some Django related questions. I was asked some Django ORM queries and some database related questions. This is the part where I felt I could have done better. The interview lasted for more than 1 hour 30 mins.
4. Round 4 - The Hiring Manager Round
On the following day, the 4rd Technical Interview round was scheduled with the Engineering Manager. The interviewer started off the discussion with some questions on Python fundamentals, Then we discussed about some CS fundamentals like Hashing and Hash Collisions. Once this went on for about 10 mins, we moved on to coding.
The first question that I was asked was something quite similar to Top View of a Binary Tree. The next question that I was asked was Kth Largest Element in an Array. The interviewer was satisfied with the nlogk approach. After this I was asked some questions on Django ORM queries. This round lasted for an hour.
5. The Final HR Round
This round was a cultural fit round and the HR asked me some basic questions trying to gauge where my interests lay. We just had a nice conversation for about 20 minutes and I was told that I would be told the results latest by the next day.
Verdict:
The following day, I was informed that I had been selected for the role of a Backend Engineering Intern. I was elated at the news. The whole interview process was very smooth and often during the interview, the interviewers paused to expand my knowledge on the topics they were asking from. It felt a lot like a teacher was asking me questions and teaching me stuff I didnot know. Such a great experience it was for me!
My Preparation:
I had been preparing for placments seriously since the beginning of 2020. I was into a bit of Competitive Coding before I started to grind LeetCode for fun! I have mostly worked on the most famous interview problems on LeetCode - mostly medium level problems. And I always have fun participating in Biweekly Contests. My problem stats are [E - 194, M - 345, H - 44]. So as you can see I have focussed mostly on medium level problems. I also make sure to revisit old problems from time to time. I feel the daily LeetCoding Challenge is a fantastic way to keep in touch with interview questions. Also lastly P_R_A_M_P had been a useful tool to practise face to face interviews. Clarity of thought process is very important during technical rounds.
Lastly I would like to thank this wonderful community which helped me to learn a lot of stuff I didnot know. LeetCode is a wonderful platform and is actually all you need for your coding interview preparations.