Internship Role: Summer Analyst
It was the last week of July that we heard that GS will be coming to take interns from NIT-C. The entire selection process consisted of 3 rounds, an online preliminary round, followed by 2 rounds of interviews.
Online Preliminary Round
- The preliminary round was conducted in our lab and was hosted on hackerrank platform with a time duration of 2 hours.
- It basically had 2 sections with time limit of 1 hour per section, first section had one coding question(will be described below) and 9 MCQ questions based on Data Structures and Operating Systems.
- The second section had 9 MCQ questions based on Probability, Mathematical Puzzles and few questions related to finance.
- Coding Question:
Given a 2D plane and 2 points on it named A and B.Along with them we are also given a set of n points P1, P2, P3, …..Pn. With A and B as centres we can draw 2 circles of radii R1 and R2 respectively. Now we are asked to calculate the values of R1 and R2 such that all N points P1, P2, P3, …..Pn lie inside at least one of the 2 circles, and the value ofR12 + R22 is minimum.
- Be perfect with all the basic Data Structures and Algorithms.
- Reviewing basic problems and theorems in probability(like baye’s theorem, conditional probability) will be helpful.
- Be well versed with combinatorics. Many mathematical puzzles will be based on them.
Around 600+ students gave the test(since there was no restriction on CGPA and Branch). The next day results were announced and 17 students were shortlisted for interviews which were scheduled to be held the following day.
There were 2 interview rounds, both of them were face to face interviews with engineers at GS.
- This round started off with some theoritical questions on OOPs
- What is a Virtual Function?
- What is Inheritance and where did you use it?
- What is Polymorphism and give a real life example where you think polymorphism is used.
In fact all these questions were discussed during the end of FOP(Foundations of Programming Course), so big thanks to our sir 🙂
- And then a question on Dynamic programming was asked, it was the famous “EGG DROPPING PUZZLE”.
- First I was asked to give a recursive solution and then convert it to DP.
- I was then asked to write down the code on paper and dry run it for few test cases provided by the interviewer.
- Then I was asked about time and space complexity of recursive and DP solution.
- Then a series of questions were asked from basic Data Structures.
- Reverse a Linked List without using extra space and in linear time.
- You are being given a continuous stream numbers, at any instance you are asked to print the k maximum elements among the numbers received uptil that instance.
- I proposed a solution using min heap of size k.
- I was asked to write the code on paper and explain it.
- Then as expected, I was asked to derive it’s time complexity.
- And then it was followed by few questions on DBMS.
- What is difference between SQL and NoSQL databases.
- Give an example of NoSQL database.
I was then asked about my Internship experience at IIT-Bombay, which I attended during summers after 2nd year.We had a nice little chat on the project which I worked on during my Internship, and about the technologies used in it.
That was the end of first round and 5 students were qualified for second round.
- Most of the questions were based on basic Data Structures, so just revise everything covered in DSA course.
- Learn Dynamic Programming well.
- Doing Competitive Coding helped a lot.
- Look into basic concepts of OOPs.
- And most important thing is, do as many problems as yu can on Geeks For Geeks. It’s absolute GOLD.
- As soon as I entered the room, I was asked to solve an algorithmic question.
- Given a sorted array which is rotated by k places in clockwise direction, find the value of k in most optimal way.(I gave a solution similar to binary search which takes O(log n))
- Write recurrence relation for above solution.
- Solve the recurrence using Master’s Theorem and recurrence tree method and show that they will give same result.
- Then he asked me few questions on campus life and current academic curriculum and asked me whether I was satisfied with it.
- I said I’m not satisfied with our curriculum :P, and the reason for that is first year.(wasting a lot of time on irrelevant courses and workshops)
- Then we spoke about my Internship at IIT-Bombay, challenges that I faced there and how I overcame them.
- Now again he switched back to technical questions.
- What is your favourite Data Structure?(I said Graphs)
- Why Graphs?
- Which Data Structure would you use to implement a dictionary?(Trie)
- What is the time complexity to retrieve a word of length M using trie.
Then he gave a real life situation and asked me to give a solution to it.
- You are given a mini-world where there are only self driving cars, how would design a system for interaction between Traffic signal and car such that traffic rules are followed, i.e. car stops when traffic signal is red, slows down upon yellow and so on.
- First I proposed a solution where the system associated with the car keeps sending signals to the system associated with traffic signal at regular intervals of time(Polling) to check it’s status and then act accordingly.
- He accepted it and then asked me questions on polling, like what is the difference between long polling and polling?
- But I immediately realised that it is not the most optimal solution, since there will be many useless signals sent to system associated with traffic signal(hence wastage of resources).
- Then I said him a solution using WebSockets, which maintains a continuous pipelined connection with the server, hence consumes less resources and he was satisfied.
- It ended with few basic HR questions like
- What are you expecting to learn at GS.
- How did you get to know about GS.
- If you are working in a team where one of your team member is not productive, as a team leader what would you do?
- At the end he asked if i had any questions. I asked a couple of questions regarding how interns work there and also about GS work culture.
That was the end of Interviews. We got results on the same day and 3 of us made it through, and I’m one of them 😀
I would like to take this opportunity and thank Geeks for Geeks, it wouldn’t have been possible without it.
I hope my experiences help you to be better prepared for your Internship Opportunities.
All the Best !