Getting an offer from Flipkart was a pleasant surprise for me as I had never ever, even in my wildest dreams, targeted this company, as I knew it gave offers to a selected few and the selection process was very strenuous. I never imagined it would be possible, but it’s a reality now. I know now, that wherever you are destined to go, you will land up there only. 🙂
Flipkart gave a pre-placement talk at our college around 9 am. They told us about their history and their journey and the work culture. Many people were wowed by the end of it.
Then we had 1st round which was written test. It had few MCQs which were aptitude (only 3-4) and technical questions. There was no negative marking, so I attempted all questions and to the best of my knowledge. This was for half hour. Then there was the second part of the written exam, which was the coding round. 2 questions, use any language, compile and run the test cases on their website and submit the code. I finished the first question with few glitches in about 40 mins. It wasn’t passing all the test cases. I decided to move to the next question. But somewhere around the 1 hour mark I realized I’m not going to finish this in time. I remembered a past experience of a friend, who faced a similar situation in one of her exams. So, I decided to perfect my first code instead and focused on getting all the test cases to run. I completed the first code with just minutes left to go, and submitted my answers.
I thought I had messed up my chances, but my name was shortlisted along with 18 other folks.
I was elated. I waited for about an hour and then my turn came for my first interview. The interviewer was very humble, he introduced himself and explained the process. Then the normal routine proceeded where he asked about me, my work so far, the projects I was involved in. I had done an OOAD project where our team had built a prototype of Flipkart. I think that worked to my advantage. Then we moved on to questions. He asked me all array related questions.
Find median of 2 sorted arrays; Maximum contiguous sum in an array; previous question with negative values in the array; to reverse all k buckets of a linked list within themselves, given a value k; and few questions on complexities etc. Initially I was getting nervous as I got few complexities wrong sometime, but the interviewer was very helpful and always kept nudging me towards the possible correct solution and I would be able to figure it out. The interview lasted around 1-1.5 hrs.
Then I waited for my turn again. I had made few mistakes in the interview, so I wasn’t sure if I would get shortlisted for the next round. And the candidate list was decreasing by the hour. Few others had already had round 2 and 3, and I was still waiting for my second round. I felt like it was the end of the road. But then after around 2 hours of waiting, my name was called for Round 2. I was overjoyed.
The interviewer introduced himself and explained about the round and what it would be based on. It was more of a situation based analysis round. The first problem was about searching for a name the contact list in a normal smart phone contacts directory. He gave the situation that when we start typing the name of a person say ‘SUV..’ after we enter every letter we get a possible list of results. So if I were to design that system, what would be my approach. I talked about the possible type of storage, string matching algorithms like KMP etc. But he asked me to think of some other approach. Then the idea of Tries struck to me and I proceeded with that. It was a very healthy and positive discussion. He kept on adding more variations. We discussed on all the possible scenarios, incorporating a few other data structures into tries, etc etc. He was very open to all my ideas and he would keep posting new questions and scenarios and I would keep telling him what was coming to my mind. I had worked on a data structure called Dancing-Links and I suggested that approach. We talked about the space constraints and all issues and finally came up to a possible solution.
Next situation was that, I am a teacher and my students have submitted a coding assignment and they may have copied, but were smart enough to change variable names and maybe positioning of the function bodies. Then he asked me to think about some algorithm which will be able to catch such plagiarism. Again I explained few approaches which came to my mind, and as before we kept on improvising and improving upon it.
There was one more question which I am not able to recollect right now. Then he asked me if I had any questions for him. I asked him two questions. This round lasted for around 1.5 hours or more (I’m not sure).
Then again, the waiting. After about an hour or so I was called by the HR. I felt my time is up and I didn’t clear the round, but she asked me to go to the next room where another interviewer was waiting for Round 3. Again, I was overjoyed.
This round lasted for about 1.5 hours and was a mix of HR, situational and technical. He asked about me and my projects. I explained my projects in-depth. Then we moved on to questions. He asked a question about prime numbers and asked me to write the entire code on paper. I came up with a O(n^2) algorithm. He asked me to optimize it but I couldn’t think of a better approach. He told me to park the question and we moved on to the next question.
He gave me a situation about improving the traffic situation in Bangalore and how I would represent it. I drew graphs, showed paths, made the structures/classes and represented their members. Then I gave two approaches I could think of. He kept on asking me questions as to why I am going with a certain approach and discussed about the issues with the approach. Then I came up with a 3rd approach, which I think he liked. He asked me to design it.
Next he gave me a situation that you have to design an android app which can locate the nearest free cab. Again he wanted to see how I would formulate the answer and what properties and problems I could think of. Whenever I would get stuck somewhere, he would ask a question which would indirectly help me in thinking of the next step.
Next he gave a situation where a user searches for the text ‘Shoulder Bag’ and our DB doesn’t have any such item. Then how do you go about the problem and show the most relevant results to the users. Again, my approach and thinking was being evaluated.
Finally we came back to the Prime nos question and he asked me if I had thought of any optimization. I tried for some time but couldn’t come up with anything. He said it’s okay. And the interview ended.
Then again there was the waiting part. Till then only 7 candidates were remaining. My anxiety level was at its peak and somehow I was maintaining my cool by just sitting quietly and waiting. Finally around 10:30 pm, the results were announced and 4 of us were selected, including me. 😀
I was on Cloud 9 and cannot express what I felt in that moment. People all around were congratulating me but I was just numb and shaking with happiness. Finally all the hard work and patience had paid off and I got an internship cum placement offer with Flipkart.com. 🙂
I apologize if this was a very long read, but I felt like penning down all my thoughts 🙂
The following are my key takeaways from the whole process:
- Smile, be calm and think clearly through the interview. It shows how you react under pressure.
- It’s not about getting the right solution straightaway. Keep on talking to the interviewer and let him/her know your thought process. It helps immensely.
- Try to relate the situation based questions with your real life experiences and you may come up with a whole new approach.
- Research about the company and ask relevant questions at the end of the interview.
- Most important, have patience and wait for your day. It will come. Till then, don’t lose hope and keep preparing. Sooner or later, hard-work pays off.
My family and friends have helped me through these past few months to keep my morale high and stay positive. A special thanks to them all. This would not have been possible without you. I thank you from the bottom of my heart.
For the aspirants who are preparing for placements, the following were my preparation guides:
3. Karumanchi DataStructure book
4. RS Agrawal for aptitude questions
5. http://www.indiabix.com/ for Apti + Technical MCQs