He is a Computer Science student from Indian Institute of Engineering Science and Technology, Shibpur of batch 2017-2021. He is a star coder with a 5-star rating on Codechef, a finalist and All India Rank 1 along with World Rank 7 in TSC CodeVita. He was selected for a direct interview at Google after from Google Kickstart and has interned and received a Pre-Placement Offer (PPO) from Microsoft IDC.
Although, a star coder now, he hadn’t started like all of us. Despite not having Computers during his first semester, he still pursued programming. Starting with Let Us C and practising coding with his friends who had Computers as a subject during the first semester, he became a pro by the time he reached the second semester. He started doing Competitive coding by solving five questions every day, sorting them by topics. To hone his skills further, he joined the Interview Preparation and Competitive Programming courses at Coding Ninjas.
“I took the Competitive Programming Course in my 4th semester which captured advanced concepts like Segment Trees and Number Theory. In the Interview Preparation course, I really liked the Object-Oriented Programming Part by Nidhi Ma’am. I scored full marks in my college OOPS exam after studying from this course,” he mentions.
According to him, the college curriculum often features in-depth concepts. However, the clarity to comprehend the concept is often lost in translation. “The concepts and topics are explained so well that learning comes naturally. I think that is the biggest difference between college and this Coding Ninjas courses,” he says.
Stating his experience of getting through Microsoft during on-campus placement he said that all students of CS, IT, ETC, Electrical having 70% and above till 4th semester with no current backlogs were eligible for the profile.
The First Round comprised of three Programming Problems (90 minutes) mainly based on Competitive Coding on Mettl Platform.
- A Quadratic Equation was given and that had to return the roots of the equation rounded up to three decimal places.
- A story around the problem but the moot problem was- a string containing only ‘J’ and ‘K’ was given in which they had to tell the minimum operations needed to make the string good satisfying few conditions. The operation was to flip ‘J’ to ‘K’ or ‘K’ to ‘J’. Conditions for a string to be good were the number of ‘J’ should be equal to number of ‘K’ and any ‘J’ can come in string only if there is a matching ‘K’ before it.
- This problem also revolved around a story but the soul idea was that there were several intervals given in form of l to R. They had to merge the intersecting intervals and tell the number of intervals left after merging. Ex: (1, 5), (9, 15), (2, 6), (7, 8) answer will be 3 as we will have (1, 6), (7, 8), (9, 15).
Gupta solved all three problems completely in approximately 45 minutes. In a cohort of 130 students, test was undertaken by 122 students from which only 70 students qualified for the next round. “The qualified list was quite strange because few students who solved 1/2 problems completely were not qualified and few solving all three problems partially qualified for next round,” he said.
The second round was the group fly round in which they were given a problem related to algorithm design to manage an airport considering all the constraints of the airport given by them. There were three sections of the problem- Algorithm, Data Structures Used and Test Case scenarios.
He was among 26 students who were shortlisted for the next round as he wrote the algorithm revolving around priority queue and different functions determining priority according to different factors.
Third round was theTechnical-Interview Round which included the following questions:
- Questions based on resume and overall portfolio alongside explaining the features of the five projects that Gupta had undertaken.
- Next question was to explain inheritance from OOPS alongside writing a code in any programming language, meaning of inheriting with different classifiers like public, protected, private and more.
- Another question was a DS Problem based on Tree to which he first gave a solution using level order traversal.
The Technical-II round comprised of the following problems.
- Finding the number of BSTs possible from an array of numbers having all even numbers on left sub-tree of root.
- Swapping 2 numbers without using extra space using Bitwise Operators.
- Problems related to developing products like making an ATM.
- Designing algorithm for tinyurl conversion from normal URLs and vice-versa for which he explained solutions using polynomial hash.
The final round was over video conferencing with the HR. He was asked about his summer intern project, its practical applications, extensions possible and difficulties he faced while designing the project and finally he was among the top three students who were shortlisted.
He has completed his internship at Microsoft IDC and has also been offered a PPO. Sharing his experience, he recalls that the working environment is great over there. “In the beginning, my manager used to help me with my codes until I became comfortable in doing them on my own. Later, I proposed two algorithms, both of which were implemented in our project which feels really nice. The internship was virtual for which we had a 40 minutes call every day to discuss the progress,” he said.
By the 7th week, he had completed his intern project which was a DL Model to rank quick replies according to customer messages. He also developed a clustering algorithm to pick good messages that can be added to the system as a quick reply in Microsoft Dynamics 365.
For PPO, our first level and second level managers sent recommendations and then we were interviewed.
“I had used the Upskill feature of my coding ninjas course just before my interviews to revise OOPS. In the interviews, I was asked questions on OOPS and system design and to implement an API. In one interview, there were questions about the project. There were a lot of questions for which you couldn’t prepare much before-hand and were required to think on spot, he mentions.
Finally, three of us out of six from our college were given a PPO.
Gupta has the following projects to his credits:
- Virtual internships at Crio and TARAH.AI, working on multiple projects like QBox, QMoney, QCharm based on Linux, OS, Networking, REST API, Jackson, Java, Python and Applied DSA. He developed a video processing program using OpenCV for counting different objects moving in a video alongside a combination of object detection and object tracking algorithms.
- An image processing project for forensics investigation.
- A document Scanner and OMR grader that takes images of OMR sheets as input and then grades the answers according to answer key using OpenCV.
- Authored a research paper on Effective Mapping of Boolean Function into Memristive Crossbar using Binary Decision Diagram.
Keen to share your success story or interview experience, write to us on firstname.lastname@example.org.
By Vidhi Aggarwal