Status: Final year student, BTech CSE, Tier2 college
Position: Software Engineer 1 (Internship + Full time)
CTC: 11 LPA (Indian rupees)
Location: Bangalore, India
Date: Summer 2022
Preparation (7 July 2021 - 15 Aug 2021)
Completed every question from set- must-do-coding-questions-for-companies-like-amazon-microsoft-adobe [-geeks--for--geeks-]
200 LeetCode questions - Mostly from this set - (Focussed more on Medium/Hard)
"/problemset/top-interview-questions/" on leetcode.
Detailed study of topics from Computer Networks, DBMS and Operating Systems. (-geeks--for--geeks-, -interview--bit- and personal notes).
50 SQL questions from -hacker--rank- ( Easy/ medium ).
Company specific questions one day before the online tests (From -geeks--for--geeks-).
Round 1 | Online test | 1hr
Round one was a online test consisting of 60 questions to be solved in 60 minutes. The questions involved DBMS, OS, Computer Networks, Quantitative Aptitude, debugging questions along with some code samples to find output.
Difficulty - Easy/ Medium
Total students appeared - 407
I was able to solve all 60 questions, out which 50 according to my knowledge were definitely correct.
Out of 407, only 95 students advanced to the next round. Next three rounds took place concurrently and results were declared at the end.
Round 2 | Technical Interview | 40 min
There was some miscommunication and my name was not called in the morning, so they rescheduled it in the afternoon. Prior to me many students had already given Interview round(tech) and moved through HR round as well.
Tell me about yourself
find kth element from end in a linked list (approach only).
My solution -
// time - O(n)
Node* getKthFromEnd(Node* root){
n = calLength(root);
return getKthFromFront(n-k);
}
Another way -
//preprocessing - O(n) | subsequent calls - O(1)
map<int, Node*> m; // to store index -> Pointer to elementI guess he expected 2ptr solution, with constant distance of k between them. I couldn't come up with that during the interview.
Garbage collection in C++, python. Is it automated in C++? Justify your answer.
Difference between .dll and .exe
About my projects and internships.
Describe how would you design a vending machine. He kept asking me to add more and more functionalities (8-9). [approach only]
Used my computer science knowledge to come up with functionalities.
Example - Atomicity (from DBMS), Security (From OS), Client side validation (web programming) [for coin authencity] etc.
Round 3 | HR Interview | 20 min
As I was interviewed late, this round started just after the previous round for me. I was asked to stay and next interviewer joined the same meeting link.
Describe analogy between knight and rook movements ( in chess) and any code you have written in the past. [because I mentioned chess in resume]
My answer - try and catch/Exceptions in programming. Rook goes in one straight direction, but can't go further if there is any other piece in the path. On the other hand, knight can jump over pieces. [subjective]
There were other basic HR questions which I can't seem to recall clearly. They were similar to "how you deal with failures?", "Is getting errors in a code a good sign? " etc.
Out of 95, 17 students got shortlisted.
Round 4 | HR | 5min
Interviewer asked me if I was ok with relocating to bangalore. Also how was the overall experience with the selection process. Later, we were invited on a zoom call where it was disclosed that all 17 of us were placed and can smile now.
My learnings
I tried to explain my answer as I would do to my friend. Don't be afraid, ask him for time if you need to solve something, ask doubts, be open and try to create a one on one discussion about the topic. For questions which felt like out of the box, tried to give answer using DBMS, OS and DS knowlege I had currently. Draw parallels. Last but not the least, it's normal to be distressed when not being able to crack on campus placements initially, you will get things going your way just when you thought that things can't improve from here on.