So it's placement season and you're here to know more about Flipkart and how you can get your dream job there? We've got your back. This article contains all the information required for you to get your dream job!
As you might already know, Flipkart is one of India's leading E-commerce marketplaces. It is headquartered in Bangalore, and was founded in October 2007 by Sachin and Binny Bansal.
Well, it initially started as a basic bookstore. Their first ever sale was a book (obviously) that was shipped to a young bookworm in Mahbubnagar.
Well, it seems like they've been constant innovators, all the more reason to work at Flipkart!
The five cornerstone Flipkart values: Customer First, Ownership, Bias For Action, Audacity and Respect are the defining characteristics that constitute the DNA of the organization. And to top it all off, employees that stick to these wonderful company values, are even rewarded!
Now that I'm sure you're interested in working at Flipkart, let me guide you through the whole process for your SDE interview (internship and full time roles). SDE stands for Software Development Engineer. The creation of features based on product requirements is done by the SDE1-4 engineers at Flipkart. Here, you must know the best practices of code, design principles and patterns. Any code you write must also be maintainable and extensible. You must also develop a deep understanding of non-functional requirements, such as reliability and availability, scaling, etc over time and make tech stack decisions accordingly.
Oh gee, feeling intimidated? Don't worry, read on. We'll break down the interview process better for you. Give this article a thorough read and you'll be working your dream job.
The first round for this position is generally an online coding round with 2 coding questions to be solved within a time limit. Both the questions are based on basic DSA (data structures and algorithms).
In the interview process for the SDE intern role there will be 3 rounds (after the on campus rounds) of which the first two will be the technical rounds focused on Problem Solving and Data Structures.
Checking your comfort level with data structures, algorithms etc will be the main focus of the interviewer. The Data Structures and Algorithms would include arrays, graphs, trees, tries, DP, recursion, linked list, stacks and queues, maps, heaps and so on. They will also pay attention to how you approach the problem.
So what is the flow of the interview?
The Final Round of the process would be a Hiring Manager round, which is generally taken by an Engineering Manager of the team for which you are giving an interview.
This round is focused more on checking how well you would fit into the Flipkart world, with the panel evaluating you on your cultural fit as well as other soft skills such as communication, attitude, etc.
In order to ace this round, it is advisable to have gone in detail through your resume (esp the projects) and being true to who you are!
So now you know about an internship at Flipkart, but what about full time roles?
The interview process at Flipkart for full time SDE positions generally has 5 rounds.
Let's delve into each of the phases.
This round lasts longer than the previous one, about 60 minutes. You'll have a conversation with the HR before you come for an on site interview . This is a specialized screening round which is fundamentally centered around past work insight, job qualification and a couple of critical thinking questions pertinent to the job you're being interviewed for.
This too will be on either telephone or hangouts, and you will be asked more about your past projects in detail to get a better insight into your strengths and weaknesses.
NOTE: that this round may or may not be conducted on a case to case basis.
Well here comes one of the most important rounds in the complete interview process. This round lasts about 2 hours where they ask you a low level design question. Talk about exhausting! Campus freshers, don't worry. This round can be skipped for you.
To understand the flow, Flipkart has divided this into 3 sub sections, Pre-coding, Coding and Post-coding. The pre and post coding sections typically last just about 15 minutes, while the coding section lasts about 90 minutes.
In this section you will be explained the problem in detail. Again, do not hesitate to ask any questions that you may have to clarify your understanding of the problem statement.
Just as the name suggests, you will be working on writing executable codes for the problem statement explained to you in the pre-coding section. In the middle, your interviewer may have 1 or 2 checkpoints. Toward the end of this stage, you are relied upon to send your code to the interviewer. Note that this stage can be for a lesser length in specific cases. In the interview, you are required to write industry level code.
In this stage, you will be showing a detailed demo of the program you have written. The interviewer will give you a few test cases to test the program for expected outputs.
This round involves programming questions from various data structures. The ones that you're expected to know in depth are Array, Stack, Queue, Linked list, Heap, HashMap, Tree and Graph. The most common types of topics that are expected are String Manipulation, Two Pointers, Searching, Sorting, Backtracking, Bit Manipulation, and Dynamic Programming.
NOTE: This round will only take place for a senior SDE position such as SDE 2 or greater. If you're applying for an SDE 1 position, you will have a DSA (Data structure and Algorithm) round in place of this.
In the design round you will be solving and discussing a non-trivial design problem. There are two types of design interviews: Systems Design and Object Oriented Design (OOD). You may be asked to solve a broad design problem like ‘Design Twitter’ (System Design) or ‘Design a Parking Lot’ (OOD). This round typically lasts for 60 minutes.
You are relied upon to make a versatile framework with the compromises needed to accomplish that. There is no particular answer expected in this round, and it is more about the interviewer and the interviewee examining the compromises and prerequisites and thinking of an answer.
In an OOD interview, you're required to plan a genuine problem dealing with design standards and examples to such an extent that the solution is viable and extensible. Most concepts of Object Oriented Programming (OOPs) and design principles are used in this round, so be sure to brush up on them.
To prepare for this particular round it is advisable to read engineering blogs to get a grasp on how companies usually design their systems. Netflix TechBlog and High Scalability are some of the best engg blogs.
The plan of this round is to assess your group fitment dependent on your experience, interests and qualities shown across different rounds. In this round, you'll associate with your potential group manager/recruiting director who will attempt to become more acquainted with you better to make an educated decision and make sure that you're the right individual for the work.
This round too, just like most other rounds, lasts for about 60 minutes. The interviewer will make an attempt to understand your aspirations, strengths, weaknesses and basically all about you. This can also be considered as a summary round because you will be asked about the competencies shown by you in the previous rounds.
Flipkart is one of the companies that takes all decisions based on the values that they have set for themselves. You know, the ones we read about in the beginning of this article.
In this round you will be evaluated for how well you will fit in the work culture at Flipkart. There are absolutely no right or wrong answers for his round.
Some specific tips for this round:
That's all for the SDE interview!
You must be wondering about the interview process for higher SDE levels. Let's look into the process for the same.
The flow of the interview process for SDE 3 and 4 is the same as SDE 1 and 2. There are a few key differences between the two, since SDE 3 and SDE 4 are at a higher level than 1 and 2.
Major differences can be noted in the coding round.
To prepare for the coding round, picking up real world problems and taking a stab at them would be helpful. During the interview, make sure you're asking enough questions to get a good clarity of the problem at hand. At the same time, also be prepared for any new complexities that could be introduced by the interviewer.
Another major round would be the Design and Architecture round.
With Design and Architecture as main points of focus, 1 or 2 real world problems would be discussed in the interview. You are expected to provide a solution with multiple components and provide class design, REST/RPC interface design and software architecture (logical view and deployment view).
Your solution is expected to work in a distributed environment, leverage parallelism wherever possible and handle concurrency.
As you might already know, there can be 2 types of design - Low level, and high level designs. Both or one of these can be asked in the interview.
For a question based on Low Level Design be sure to come up with a Logical View and a Process View.
Your logical view should cater to the following points - Domain Entity Identification (Identify the key domain entities and their value objects), assign roles and responsibilities to each of the identified entities, identify the relationship between entities and association between entities.
While making the process view, keep the following points in mind -
For High Level Design questions, Identify the components by their functionality, characterize the components from their NFR point-of-view (i.e., function of components like Low Latent Key-Value Store, etc.), talk about their interactions (e.g., WebService, DataStore, Cache, Queue, etc.) and preferred approaches for interactions (Sync, Async, Job, etc.).
Well now you know the whole process, the workflow and even what to study. Let me help you with a few extra tips that could help you ace your interview!
Minimum Qualification requirements would be BE/B.Tech/ME/M.Tech – CSE,IT,ECE with 60% or 6.5 GPA and above throughout without any running backlogs.
These are just general criterias for on-campus placements, people from any other branch with a knack of programming can apply for the same as well.