Skip to content

Software Development Engineer(SDE) Roadmap

Interview Process Overview:

  1. Phase I:

    1. Exploratory Discussion(30 Minutes)

      πŸ’ Intent: To know past experience, expectations, and aspirations for future

      πŸ’ Expect: To introduce Yourself, Past work Experience, Strengths and Aspirations

      πŸ’ To do: Be Consize, Clear and Prepared

      πŸ’ Impotant: Ask questions, Understand Charter, Scope, Kind of work in role

    2. TECHNICAL PHONE SCREENING (60 MINUTES)

      πŸ’ Intent: To know past-work experience, Role-Eligibility

      πŸ’ Expect: To talk about Past Experience, Major Projects(May deep dive to Understand Strengths and Weaknesses)

      πŸ’ To do: Be well-verse mentioned in resume, Brief Introduction Experience, Go-in depth if asked any specific

      πŸ’ Impotant: Ask questions, Understand Charter, Scope, Kind of work in role

  2. ONSITE (Phase - II)

    1. MACHINE CODING (120 MINUTES)

      1. PRE-CODING (15 MINUTES):

        πŸ’ Intent: To Explain Question

        πŸ’ Expect: To clarify the scope and requirements with respect to the problem statement

        πŸ’ To do: Ask questions to Understand questions(if needed)

      2. CODING (90 MINUTES):

        πŸ’ Intent: To write executable codes.

        πŸ’ Expect: At End Send Code to Interviewer

        πŸ’ Note: Duration Can be for a lesser duration in certain cases

      3. POST-CODING (15 MINUTES):

        πŸ’ Intent: To show a detailed demo of program.

        πŸ’ Expect: For multiple test-cases program supposed to provide the expected output

      4. PREPARATION:

        πŸ’ Ask questions to understand problems

        πŸ’ Design solutions, Think code Structures, and then start coding

        πŸ’ code is executable, functionally correct, modular and readable

        πŸ’ code is executable, functionally correct, modular and readable

    2. Problem Solving & Data Structures

      πŸ’ Intent: to test your problem-solving skills based on how you approach the problem.

      πŸ’ Expect: 1 to 3 problems on common data structures and algorithms

      πŸ’ Most Common Data Structures: Array, Linked List, Stack, Queue, HashMap, Tree, Graph and Heap

      πŸ’ Most Common Algorithms: String Manipulation, Two Pointers, Searching, Sorting, Backtracking, Bit Manipulation and Dynamic Programming

      PREPARATION:

      πŸ’ Ask questions to understand problems

      πŸ’ Explain your solution approach with interaction

      πŸ’ Design solutions, Think code Structures, and then start Explaination

      πŸ’ Clarify the input constraints

      πŸ’ Write a few test cases with both input and output including side cases, and dry run solution before and after coding

      πŸ’ Resources: Prepare for the PS/DS round?

    3. Design(60 MINUTES)

      πŸ’ Intent: To discussing and solving a non-trivial design problem. Systems Design and Object Oriented Design (OOD).

      πŸ’ Expect: To solve a broad design problem like Design Twitter (System Design) or Design a Parking Lot (OOD).

      πŸ’ To do: start with gathering all the specific requirements from the interviewer. Make the interview as interactive as possible.

      PREPARATION:

    4. Team Fitment(60 MINUTES)

      πŸ’ Intent: to understand your aspirations, inspirations and motivations, self-awareness, leadership ability, stakeholder management, strengths and weaknesses, etc.

      πŸ’ Expect: questions around some of the competencies which you would have been evaluated for in previous rounds

    5. Culture Fitment(60 MINUTES)

      πŸ’ Intent: to assess whether you would be a good fit in the world of Company culture or not.

      πŸ’ Expect: questions around your past experiences, career aspirations, hypothetical scenarios, your strengths and weaknesses, etc

      • Read up about our values and what makes you a great fit for us
      • Be honest about your success and failures
      • Invest some time in preparing yourself for the interview
      • Be candid and help us understand you better

TOPICS TO BRUSH UP ON BEFORE YOUR INTERVIEW:

  • Supervised learning: Topics include linear regression, logistic regression, Naive Bayes, support vector machines, decision trees, random forests, gradient boosted trees, Bayesian models, evaluation metrics for classification and regression tasks

  • Programming Languages: You should be familiar with any programming language, preferably, a high level programming language like Java, C++, C#, Python, etc.

  • Coding: Most of the interviews require you to be proficient in coding. You’ll be expected to code on your laptop during the machine coding round and on paper/whiteboard during the PS/DS round. To do well in these rounds, you should be extremely comfortable with coding. During the interview, you are supposed to write a bug-free code in a short time. It’d be a good idea to practice coding on online coding platforms before the interview.

  • Data Structures and Algorithms: The PS/DS round is centered around data structures and algorithms, and that is something you should learn well. Try to understand the basic concepts related to different data structures and algorithms. You should be able to solve most of the questions that you will likely encounter during the interview if you work on the basic concepts.

  • Design Patterns and Principle: There are many ways to solve problems while creating features/products, but the only solutions that are long-lived are the ones with a good design. Good design is essential for the code to be extensible and maintainable. One of the most widely accepted paradigms of programming is the object-oriented programming paradigm which also widely use. It would be a good idea to learn how to write code in an object-oriented way. There are some widely known best design practices, also known as the Design Patterns and Principles which may help create better solutions and perform well in the Machine Coding and the Object Oriented Design rounds

  • System Architecture and its components: The design round is centered around system architecture, and having a thorough understanding of the basics may help you perform well in the design round. You are expected to know about different types of data stores and when to choose one over the other. You must be aware of how distributed systems work and what are the different nuances in them.

Having a clear understanding of CAP theorem, scaling, cache and queue systems, and knowing the basics of the Internet as well as OS topics are essential for the system design round.

SOME TIPS FOR A SMOOTH INTERVIEW:

  • Be prepared: . Prepare well, understand what we do as a business, the position you are interviewing for, learn how your role will contribute in achieving our vision and brush up your basics as much as possible

  • Pique our interest: why you stand out from the rest.

  • Think things through: to know how you approach a problem. Therefore, make sure you think through your answers

  • Be authentic and candid

  • Show your passion

  • Ask questions