The duration of the conversation was around 50-60 minutes on the video call.
Following is the sequence in which the questions were asked :
- Introduce yourself, about your current roles and some projects, where I was currently located etc.
- Then, he said that he would ask some algorithms related questions, after which he could tell me how much time I need to prepare and how to prepare.
- He asked me what is the difference between Merge Sort and Heap Sort?
- He asked me which one is efficient in terms of space complexity : Merge Sort or Heap Sort?
- Then he said the next question will be a multi-option correct question :
a. Which of the following Data-structures do NOT have
O(log n)lookup(search) in worst case:
i. Binary Tree
ii. Binary Search tree
iii. Hash table
v. Linked list
- Then he moved on to ask a simple programming language related question : “Can you modify string in-place in C++?”
- As far as I remember, these were the main questions.
The answers to some questions:
- Basically explain how merge sort works and is an divide conquer algorithma and how in heap we build a tree and use the property of Max/Min heaps to extract required elements.
- Heap sort can be done without extra-space hence efficient in terms of space complexity, as in terms of time complexity both have some worst case complexities.
- i), ii), iii), v), vi) all don’t have have
O(log n)lookup in worst case, they have
- Yes, in C++ we can modify strings
Post these questions, he moved on to explain me the process of the interview and how can I prepare, he asked me to solve leetcode problem for common-asked topics in interviews. I will update this post later to share the resources shared. We also did have some discussions regarding where are the openings available for me, since being from India, he pointed that many core teams working in Bangalore are looking forward for recruitments, so it’s a good time for interviewing.
P.S. : I will be having my phone interview in the coming week. Also, recruiter is trying to see where they can help you so ask many questions from them, they will try to give good time for preparations as well.
This was the response from the recruiter:
Update : Missing Resource links :
you can also use this gitHub link on CS fundamentals that can serve as a checklist while preparing: Github Link
- Example Coding/Engineering Interview
- How to: Prepare for a Google Engineering Interview
- Interview tips from Google Software Engineers
- Steve Yegge’s Blog (read me!)
- Check out this YouTube playlist!