Hello, I recently attended an interview at Flipkart. There were four rounds:
I was given a problem statement and I had to write a fully functional working code at my laptop. I was told that the focus is not on logic but on the way I code and the design of my solution. The problem statement was something like : “There is a n player game of cards. The deck of card is not fair, i.e. any card can be there any number of times. A card has a number and a color. Each player gets k card each (n and k can be harcoded in the solution). The computer starts the game by throwing a card from the deck of cards. Assume the card is 4 of Green. Then the other player has to throw either a 4 of any color or Green of any number. If the player does not have any such card, then it can say pass. The player who finishes all his card wins. The logic of selecting the card by the user can be hardcoded (Eg, If you use a list data structure for storing the cards for a player, then you can say that the player always throws the first card from the list). The logic was required only to start and conclude the game.
I was given close to 1 hour to finish this. First we had a discussion about the design of my solution and then I was asked to code. After I was done coding, she checked my code, asked a few questions about how will I add some new features in the game.
After the first round, I was told they’ll send the lunch to me. They sent Dominoes pizza for lunch 😉
Round 2: Designing Round
I was asked to design a snake and ladder game. The game can have more obstacles than just snake and ladders. There were a lot of questions asked about the design.
Round 3 : Problem solving
This round was about testing the problem solving and data structures. A few questions were asked about my current project. Then I was given a problem for which I had to decide the data structure to be used and the algorithm. The problem was : “Assume you have a starting 4 digit number, say 1234 and and ending 4 digit number 4567. For changing a bit of a number from 1 to 3 (for example), it will take 2 steps (from 1->2 and from 2->3). So to convert 1234 to 4567, you’ll have to change each and every bit individually in some number of steps. (Change 1->4 in 3 steps, 2->5 in 3 steps and so on). Now there is a list of blacklisted numbers. So while transforming start to end, if you reach a blacklisted number, then you cannot change that particular bit, you’ll have to move to another bit. E.g. Assume 1434 is a blacklisted number, and while transforming you reach it, then you have to change either 1, or 3 or the last 4. So you have to find the least number of steps in which start number can be transformed to end number.
Round 4 : Hiring Manager Round
A lot of questions were asked about my current company. I was asked to draw the architecture of my project and my company (basic overview). Then they asked quite a lot questions about my current project, some difficulties I faced there. If I had to change some requirement in my current project, what it would be. Also, they asked me why I want to work for Flipkart.
I was also given a problem to solve (I don’t remember it now). Then they asked me if I get to meet a celebrity and ask him a question, who will it be. I was asked to take my time to answer this question.
If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.