My Interview Experience at Vyapar App
Vyapar App was recently listed amongst the top-3 Indian apps in the Google Play Store. The company is famous for its amazing work culture & supportive leaders. In June 2021, I got an opportunity to interview for Software Engineer - Backend/Security role at this amazing company.
The Opportunity:
In mid June, I received a call from the CTO of Vyapar App. He mentioned that he found my profile interesting and would like to give me an opportunity to interview at his company. He was very kind and humble. We chatted for almost 30 minutes about my career, current work, studies etc. He asked about my areas of interests to which I responded - "Software Engineering - Backend". He assured me that he'll set up my interview very soon.
First Round:
My first round of interview process took place after a week. The interviewer was Senior Software Engineer from the Backend team. Here's how it goes..
Interviewer : Hi Ritish, My name is ... My role at Vyapar is.. At Vyapar we solve... We are looking for someone who... Can you give a brief introduction about yourself?
Me : Introduced myself.
Interviewer : Ok Ritish, let's solve a problem. Explain how will you approach to solve this problem. The problem statement is as follows:
1) Consider a book store. A book can have multiple authors. An author can write multiple books. Design an efficient database schema for this problem.
2) Demonstrate how the request/response APIs would work for this problem? Explain with a pseudo code.
3) Combine the above two solutions and demonstrate various important functions/methods necessary to design the final book store.
Me : Was too slow in the beginning to come up with an efficient schema. I took my time and eventually gave the correct solution. I answered the remaining two questions quickly. We spent around 45 to 50 minutes discussing this problem. My solution was similar to the ones on Stack Overflow
Interviewer : Explain Authorization and Authentication. Implement these in the book store problem.
Me: As I encountered this question in almost every interview I gave, answering it was a cakewalk for me.
Interviewer : Design a rate-limiting system from scratch. Assume there are no available libraries. On a crucial endpoint, a user can make at-most 5 requests in 10 minutes and a maximum of 100 requests in 24 hours.
Me : Broken down the problem into small parts , took my time and gave the correct solution using IP tables.
Interviewer : Satisfied with all my solutions, had a formal discussion in the end as we covered the planned questions within the 90 minutes time frame. Finally, agreed upon to end the interview.
领英推荐
Final Round:
2 weeks later, I received a call from the recruiter that I cleared the first round. He scheduled the final round with the CTO. The round was scheduled in the middle of my ongoing semester exams. So obviously, I appeared this round under-prepared and with a negligent attitude.
CTO : Greeted me, talked about his company/culture for 30 minutes. He asked me when can I join & what are my salary expectations. Asked me to introduce myself again.
Me : Introduced myself and answered his queries w.r.t joining availability and salary expectations.
CTO : I'll ask you relatively simple questions which focusses mainly on basics of computer science. All the best :) . The questions were as follows:
QUESTION 1:
-----------
Consider the following
A = [1,2,3]
B = A
A = [4,5,6]
What will be output if we print B?
QUESTION 2:
-----------
Consider the following
A = [1,2,3]
B = A
A[0] = [4]
What will be output if we print B?
QUESTION 3:
-----------
Consider a book store. A book can have only one author. An author can write multiple books. Design an efficient database schema for this problem.
QUESTION 4:
-----------
Consider a book store. A book can have multiple authors. An author can write multiple books. Design an efficient database schema for this problem.
QUESTION 5:
-----------
Given a positive integer?n, find?the smallest integer which has exactly the same digits existing in the integer?n?and is greater in value than?n. If no such positive integer exists, return?-1.
QUESTION 6:
-----------
You are given?two identical?eggs and you have access to a building with?n?floors labeled from?1?to?n.
You know that there exists a floor?f?where?0 <= f <= n?such that any egg dropped at a floor?higher?than?f?will?break, and any egg dropped?at or below?floor?f?will?not break.
In each move, you may take an?unbroken?egg and drop it from any floor?x?(where?1 <= x <= n). If the egg breaks, you can no longer use it. However, if the egg does not break, you may?reuse?it in future moves.
Return?the?minimum number of moves?that you need to determine?with certainty?what the value of?f?is.
Me : Answered 3rd & 4th correctly, 6th partially and messed up in remaining ones. I found the questions too logical and was under pressure since first minute. The ongoing semester exams' tension also contributed to the pressure. We spent around 1 hour in solving these problems.
CTO : Ok Ritish, we had a good discussion for about 90 minutes now. Do you have any questions for me?
Me : If you don't mind, can you explain me the answers to the questions I messed up?
CTO : Sure Ritish :)
He took additional 30 minutes an explained me the correct approach to each and every question he asked. He is an amazing person, so is his company!!
CTO : Any further doubts/questions?
Me : No Shubham, Thanks a lot. This interview was a great learning experience for me. Thanks again.
CTO : Great Ritish! Someone will get back to you with the next steps. Bye!
The moment the call ended, I knew I won't get a callback from anyone. It was such an embarrassing moment for me & I realised I should never take any interview negligently.
I hope you found the interview experience helpful. Questions were amazing and will surely help anyone preparing for Software Engineering roles.
Danke sch?n
NMIMS'26 -MBA(Business Analytics) | Ex - Accenture
3 年Keep this series going..