Placement Stories : Mahesh Hada’s journey to UBER, San Francisco

DoJMA: Which companies did you apply to and from which companies did you receive interview calls?

Mahesh: I had received a Pre Placement Offer from Goldman Sachs, Technology division after my summer internship, so I was eligible for only one dream company which offers 1.5 times the total compensation offered by Goldman Sachs,as per Placement Unit rules,. Hence I applied only for Uber (both international and domestic profiles). For an internship, I had applied for most of the companies like Uber, Nutanix, D.E. Shaw and Goldman Sachs.

DoJMA: What were the factors that you had considered while shortlisting companies for the purpose of placements?

Mahesh: Most of the companies coming for placements and internships for Software Development Roles in BITS Goa provide the best jobs and learning experiences in the IT industry. These companies use and develop novel technology stacks, provide ownership and opportunity for end to end design decisions and development and have a good pay structure with a variety of employee perks. Since these companies also recruit from other good colleges like the IITs, the NITs & the IIITs, an employee of such a company, will be working with skilled people. They provide a very good platform to start one’s career. I considered the above factors while applying. One can also look for a specific company whose domain of work is interesting.

DoJMA: How did you build your profile to suit the requirements of the company?

Mahesh: Some of the most important requirements of companies are a good understanding of data structures and algorithms, object-oriented programming and databases, and proficiency in some programming language. I had focussed on learning data structures and algorithms through coursework and had practised on various online websites. I got a stronghold on the concepts of OOP in the course of my summer internship and my study project(SoP). I also stressed upon understanding programming constructs to learn programming languages. Being a TA(Teaching Assistant) for DSA and OOP courses also helped me in enhancing my skill set. Companies also look for experiences in working on projects which deal with problem solving and involve design decisions, technology and implementation of the solution. It can be any design project(DoP), lab project(LoP), course project or internship project. In this case, my internship project at Goldman Sachs, which involved end to end development of some micro-services, came handy. It is difficult to customize your profile specific to a company, I would recommend focussing more on the base learnings above.

DoJMA: What were the strong points in your CV according to you and what was your CGPA before applying for placements?

Mahesh: My CGPA was 8.44 before applying for placements. The strong points were the internship experience on developing some micro-services at Goldman Sachs, the project completed during my PS-I on distributed systems and some course projects related to data science.

DoJMA: Did the interview call for an international placement requires you to prepare differently than for a domestic placement? Was there a difference in the nature of tests for an international placement and a domestic placement? If yes, then please state them.

Mahesh: The coding test, as well as all the interview rounds, were completely identical for domestic and international profile. The position of Software Development Engineer was offered in both the profiles.

DoJMA: How will you rank each of these, and why, in increasing order of importance, for getting placed in a coveted company: a) CGPA, b) Performance in the coding round, c) Interview – Technical and HR, d) Projects.

Mahesh: The following will be the priority order from the highest to lowest: Performance in the coding round, Technical & HR Interview, Projects, CGPA. The foremost is coding abilities to clear the coding round in which you need to be fast in problem-solving as well as the implementation. The technical interview is where your approach to a solving a problem is tested. The scalability and the efficiency of the solution are also taken into account. CGPA is generally for the eligibility to sit for a company’s recruitment tests.

DoJMA: How did you receive the required guidance for the coding round and interviews? When did these rounds take place? Which sources did you use to prepare for these rounds?

Mahesh: Most of the guidance was taken from seniors, about placement preparation and their placement experiences. Websites such as Interviewbit and GeeksforGeeks have previous interview questions and experiences recorded, company wise, and are very useful. These rounds took place on 5th August’ 18. I had practiced coding questions on multiple websites like Codechef, Hackerrank, Hackerearth, SPOJ & GeeksForGeeks. Course material for DSA, OOP, DBMS & Networks helped in design questions. Discussion with some batchmates on important topics and questions also proved quite useful.

DoJMA: Please tell us what transpired during the multiple rounds of selections. (Talk about the kind of questions in your coding round/technical and HR interviews, the difficulty levels, time limits and a general walk-through of the process.) Also, please tell us a bit about the on-campus placement scenario at Uber. (the joining contract, the number of people selected etc.)

Mahesh: Coding round: It had 3 questions, all based on graph data structure (the solutions were reducible to graph augmentation and DFS/BFS/Dijkstra/Bit Masking). I had completed 2 questions entirely and cleared two or three test cases for the third question.

Technical interview round 1:  It was a screen shared, design coding round with the interviewer. I was asked to design a scalable and automated design for a parking lot. It involved creating an object-oriented design with various entities, their relationships and functions. I used Java as the programming language to code.

Technical interview round 2: In this round, the internship project was discussed.The questions were more reasoning based, and stressed upon the line of thought taken up in solving problems and covering various edge cases and blockers faced while taking a particular approach in the internship project. Next, the design of Hackerrank was asked. It involved an object-oriented design with more focus on scalable approach, data persistence and flow of data from database to user and vice versa. Some HR questions were also asked; regarding work interests, strengths and weaknesses.

Technical interview round 3: It was a DSA round, in which some graph related questions were asked, once again. The questions were based on Dijkstra algorithm and graph augmentation.

The difficulty level was moderate in all the rounds and the technical interviews involved discussion with the interviewer, and it wasn’t just a question-answer session.

The placement scenario, specifically for Uber, is really good. They have offered four full time positions in on-campus placements (three domestic and one international) and offered PPO to four summer interns, from BITS Goa.

DoJMA: What is the job profile for which you have been placed in Uber?

Mahesh: The profile is Software Engineer.

DoJMA: What message would you like to convey to our readers and future aspirants?

Mahesh: Placement preparation is the cumulative sum of efforts put in over a long period of time. Proficiency in competitive coding is very important for clearing the initial coding round as well as in the subsequent rounds of interview. For this, I would advise practicing as many questions as possible on Interviewbit, Codechef, Hackerrank etc. Some of the CDC’s such as OOP, DSA, DBMS, DAA and POPL are comparatively more important from the point of view of placements. Having internship experience and good projects on your resume have a positive impact on recruiters since the discussion on these projects allows you to showcase your technical proficiency during the interview. A lot of good companies come for placements and internships, so keep calm and prepare 🙂