Shubham More
Computer Engineering
Company: WorkIndia
Job Profile: SDE(Backend)
Offer Type: Internship + Placement
Internship Stipend: 40,000
CTC: Base ( 12 + 1 Lakhs ) + Growth Plan ( 10 Lakhs )
Location: Bangalore
Process Date: 02/07/2024
Placement Process:
Following are the four rounds that occured after resume shortlisting:
1) API Round
2) Technical Round 1
3) Technical Round 2
4) Hr Round
1. API Round [ 92 students appeared for this round ]
In this round, you will be given 3 hours to create an API for a problem statement. You can use any web
server of your choice, but the database should be MySQL or PostgreSQL. At the end, you need to fill out a
Google Form and submit the GitHub link for the API.
I got the problem statement of creating an API of dining reservation system for Zomato, where I had to
implement the following requirements:
1. Register a User
2. Login User
3. Add a New Dining Place
4. Search Dining Place by Name
5. Get Dining Place Availability
6. Make a booking
After submission, you will explain your API to the panel, where they may ask you to write code for a
different functionality in front of them. They asked me to write code to search for a dining place by address
and to delete the dining place.
Tips for this round:
1. Practice creating 1-2 APIs beforehand
2. Have a template ready where the server is connected to the database, and the login and register
functions are working with JWT Authentication.
3. Decide the libraries you will be using beforehand to avoid wasting any time during the round.
4. Have clear understanding of how Authentication using JWT works
5. Your first priority should be to complete all the functionalities; once implemented, you can improve
them and adjust the output format as required.
6. Ensure that all backend code is not in the same file.
7. Keep your explanation short and effective, as the panel may be short on time.
8. If possible, prepare a few extra points to distinguish yourself from other candidates. For instance, I
described how my API is secure against various types of attacks and can be scaled.
9. If the Google Form requires you to submit the GitHub link, do not wait until the last moment. Push
whatever code you have written and ensure your last commit is before the deadline.
2. Technical Round 1 [ 18 students appeared for this round ]
In this round, the panel asked me to share my screen and open a Google Docs document, where they had
pasted a DSA question. They explained the question to me and asked how I would approach it. I initially
shared a brute force approach and discussed its time complexity. They then requested optimization, which I
explained within 30 seconds due to my familiarity with the question. Subsequently, I was asked to code the
solution in the document.
The interviewer then remarked, 'Now that you're warmed up, let's increase the difficulty,' and presented me
with a LeetCode medium-level question. I explained the brute force approach, then within the next 30
seconds, I formulated a DP approach and discussed its time complexity. Thinking the solution couldn't be
further optimized, the interviewer provided hints that led me to realize the question could be solved using
binary search. I proceeded to write the code accordingly.
The exact questions that i was asked are:
1) Find the Engineer who has kth lowest score this year
Productivity : [5, 6, 7,7, 8, 8, 9]
Engineers: 7
Quarter wise performance
{
Q1: [1, 5 ,6 ,8, 8, 8,9]
Q2: [4,6,7,3,8,9,1],
Q3: [6,8,1,6,5,4,4]
}
SCORE : productivity * performance
2) partition tasks into X parts such that the maximum sum out of all partitions is minimum
Sprint - eg: 14 days - n days
X engineers team
t tasks
I just know about t tasks and i know for every task how much time will it take as x y z tasks
Tasks -> [2, 1, 5, 6, 2, 3] 6 tasks
X = 2 engineers
N - sprint days
Sprint = 11 days
Constraint
● You can’t divide/break tasks
● You have assign tasks sync to same engineer
● Order of tasks can’t be changed
Tips for this round:
1. If you don't understand the question, ask the interviewer to explain it again.
2. Before diving into the solution, clarify the question's constraints with the interviewer
3. Test your approach with an example to validate its correctness
4. Always begin with the brute force approach, stating its time complexity, and iteratively optimize the
solution
5. Vocalize your thought process so the interviewer can guide you effectively and save time
6. If you feel stuck, don't hesitate to ask for hints; they can be very beneficial
7. Reviewing standard questions thoroughly is usually sufficient to succeed in this round
3. Technical Round 2 [ About 10 students appeared for this round ]
This was my first round where I had to answer the common question 'Introduce yourself.' I had prepared a
response to keep the interviewer interested. I mentioned that I'm in the top 5% of global coders and shared
how I reduced task completion time by 75% during an internship, saving over 200 hours each year. After
that, I explained the task in detail and we discussed how the project's architecture works with the database.
Next, I was given the task to design a database for an Instagram-like platform. I asked questions to fully
understand the requirements and avoid making assumptions. I discussed my thought process out loud,
explaining why I chose certain solutions and considering potential problems that might come up as the
database gets used more.
During the database design, I suggested several solutions and asked for feedback on whether they were
practical for an SQL database. Whenever I got stuck, I asked for hints to help me move forward. After
finishing the database design, I was tested on writing SQL queries using aggregate functions and joins. I
managed to answer all the questions and even suggested improvements for the last query.
The interview ended with me asking a question and having a short chat with the interviewer.
Tips for this round:
1. Emphasize the reasons behind your solution choices. They want insight into your thought process.
2. Learn from my mistake: Prepare by considering how you would design databases for common apps
like Instagram, Twitter, WhatsApp, YouTube, and blogging platforms beforehand.
3. Practice sql questions before the interview
4. HR Round [ About 7 students appeared for this round ]
The interview started at 11 PM and lasted about 30 minutes with the co-founder. He asked me to introduce
myself within 30 seconds, so I focused on highlighting important achievements and kept my introduction
concise, about 3-4 sentences. It's advisable to prepare multiple versions of your introduction for such
situations.
We then briefly discussed my internship experience, particularly focusing on the quantifiable results I
achieved. Since I mentioned leading a team, I was asked about delivering negative news to team members
and how I would handle various leadership situations.
This round primarily aimed to understand my thought process and assess whether I would be a good fit for
the company culture. I was asked personal questions such as the lowest point in my life in the last 3-4 years,
why it happened, what might have occurred if things had gone differently, and what I learned from the
experience. They also inquired about any regrets I might have.
Additionally, we discussed what global issue I would choose to solve if given the opportunity, and why. I
was also asked what I had learned if I didn't secure the internship today.
The interview concluded with me asking several questions about the company's core values
Tips for this round:
1. Take your time to consider your answers. Speaking impulsively can lead to difficulties when
discussions delve deeper into the topic
2. Frame your life experiences as a narrative. Be prepared to explain why things happened as they did
and what lessons you've drawn from them
3. Approach this round as a conversation rather than a formal interview. Use it as an opportunity to
discuss your life and experiences
Three students were offered the opportunity at WorkIndia for the role of SDE.
Useful Tips:
1. Prepare an well-crafted introduction
2. Make notes during pre-placement talk
3. Come prepared with template and a README to setup APIs and practice creating a few APIs
beforehand
4. Solve striver’s A2Z DSA sheet at least once; you don't need to be a knight on LC or a pupil on CF to
clear the interview rounds
5. Solving LC top 50 SQL sheet will give you enough ideas about different types of possible sql
questions
6. Dont panic in the interview; simply ask for help–interviewers are very helpful
7. Practice mock interview with friends
8. Thinking aloud might help you a lot
9. After every interview, prepare genuine questions and avoid generic ones. The notes you made during
the pre-placement talk might assist you here. Prefer asking follow-up questions and engage in a
conversation
All the best for your placements!!!