Practice
Data Structures and Algorithms
Machine Coding Round (LLD)
System Design & Architecture (HLD)
Frontend UI Machine Coding
Resources
Career Advice and Roadmaps
Data Structures and Algorithms
Machine Coding Round (LLD)
System Design & Architecture (HLD)
Backend Development
Frontend Development
Project Ideas for Software Developers
Core Computer Science
Companies
SDE Jobs & Internships
Interview Questions
Compare Companies
IDE
Online IDE
Collaborative IDE

How to crack interviews at top product-based companies? | Skills required for product-based companies

Gaurav Chandak
Gaurav Chandak
Disclaimer: This article was written few years ago and may no longer be relevant as software engineering has changed a lot in the last few years. This is what may be more relevant now: Future of Software Engineering - Gaurav Chandak

I am unable to crack interviews. Please help.

  • I’ve learned everything but I’m unable to crack interviews.
  • I’ve solved all the past interview questions of that company but I am unable to solve problems during the interview.
  • I gave all the correct answers during the interview but I still got rejected.

If you can relate to any of the above scenarios, I’m sure that you’re interested in knowing how to crack interviews.

Let’s start with the why.

Why am I unable to crack interviews?

In most cases, there is only one answer to why you are unable to crack interviews.

There is a mismatch between what your current state and what is expected of you by the interviewer or the company.

The reasons contributing to this mismatch in expectations might vary from person to person but the only reason you’re getting rejected is that you’re not meeting the expectations of the interviewer or the company.

How do I meet the expectations?

First of all, you need to change your mindset that you are supposed to crack interviews to get a job. Cracking interviews is more about hacking the interview process to somehow get the job.

Focusing on cracking interviews might help you do well in a few interviews but might not help you do well in most of the interviews with consistency and confidence.

Instead, if you work on being suitable for the role you’re applying to and meeting the expectations, you can easily get the job you want.

If you focus on this, you might still do badly in a few interviews but that would be an exception rather than the norm.

What is expected of me during the interview?

At a high level, these are the skills required from any candidate for product-based company interviews:

  • Strong foundational knowledge
  • Good problem-solving skills
  • Ability to properly use your knowledge and skills
  • Culturally fit for the company/team

Specific for Software Engineering roles

Let’s dive into the specifics of these for a Software Development Role. Apart from the ones mentioned below, there might be different expectations in each bucket depending on the specific role and the company.

Strong Foundational Knowledge

  • Basics of programming (I/O, Decision Making, Loops, Functions, etc)
  • CS basics
    • Data Structures & Algorithms
    • Space & Time Complexity Analysis
    • Database Management Systems (DBMS)
    • Operating Systems (OS) and Networks
    • Object-Oriented Programming (OOP)
  • UI basics for Frontend/Fullstack roles
    • HTML, CSS, JS
    • What happens when you open a website on your browser?
  • Distributed Systems & Web Architecture foundations for Senior roles
    • CAP Theorem
    • Horizontal & Vertical Scaling
    • Databases
    • Asynchronism
    • Caching
    • Other core components of modern web architecture
  • Software Development Best Practices
    • Design Principles
    • Design Patterns

Good problem-solving skills

  • As a software engineer, you are expected to be able to solve problems unless you want to be a code delivery vehicle where you just convert solutions to code.
  • You can become a good problem solver if you’re able to come up with good solutions given sufficient information based on your knowledge.
  • If you’re not given sufficient information, you should be able to figure out how to get that information by scouting for more information either by asking for it directly or by researching more about it.
  • Strong foundational knowledge will generally make it easier to figure out how to get the required information.
  • On the job, good problem-solving skill is something that differentiates a good engineer from a bad engineer.
  • During the PS/DS (Problem-Solving/Data Structures & Algorithms) interview
    • Your ability to solve real-world problems based on your foundational knowledge is evaluated.
    • Even if you are able to provide the correct answer, you might fail the interview if you have not actually shown your problem-solving skills here.
    • This is why you’re not directly asked to implement a particular data structure or algorithm.
    • The problem statements are generally ambiguous. Unless you know what information to ask and how to ask, you are bound to fail the interview.
    • More details at How to ace the Problem Solving & Data Structures round?
  • During the System Design Round
    • You are generally provided a very ambiguous problem statement like “Design WhatsApp”.
    • The expectation here is to first figure out the exact requirements by discussing it with the interviewer.
    • Unless you’re a good problem solver, you would not be able to do that well.
Strengthening your Problem-Solving Skills
  • Problem-solving skill is not something that is fixed. It can be developed and one of the best ways to develop problem-solving skills is through practice.
  • For PS/DS round, you can do that by solving problems that equate to applications of different data structures and algorithms.
  • For system design round, trying to design different apps/websites that you use might help develop good problem-solving skills.
  • Your problem-solving skills will get better if you consistently get out of your comfort zone whenever you face a problem and try to solve it by putting significant effort.
  • While solving problems during interview preparation, most people look at solutions without putting significant effort. This is one of the biggest reasons candidates do badly in actual interviews. Get out of your comfort zone and solve it yourself whatever it takes.

Ability to properly use your knowledge and skills

  • If you have strong foundational knowledge and have good problem-solving skills but you don’t know how to code, do you think any company would want to hire you?
  • During a PS/DS interview round, after you solve a problem you should be able to code it without any major bugs.
  • During a system design round, you should be able to create and explain a good architecture based on the initial discussions on requirements and trade-offs.
  • During a machine coding round, you should be able to code the solution to the problem along with good coding practices and appropriate design patterns.

Culturally fit for the company/team

  • No company would want to hire you if they think that you would not be suitable for the team/company culture or vice versa.
  • Every team/company has a different culture and most of them care a lot about who they would want to hire to maintain that culture.
  • This is generally evaluated in the hiring manager round.

Join our discord community to have healthy discussions on programming, interviews and job search.

Further reading

For specific details on how to prepare for and do well in tech interviews, you may want to check out the following links:

General Advice
  • SDE I Interview Preparation: The Ultimate Guide
  • Which programming languages/technologies should I learn?
Introduction to Programming
  • Intro To Programming in C/C++
Problem Solving/Data Structures & Algorithms Round
  • How to prepare for Problem Solving & Data Structures round?
  • How to ace the Problem Solving & Data Structures round?
  • Is competitive programming required to do well in interviews?
Machine Coding Round
  • How to prepare for machine coding round?
  • How to practice for machine coding round?
System Design
  • What are the best resources for System Design Interview? - Part I

We hope that this guide will help you prepare better for job interviews. Please share this with your friends and your network to help them achieve their goals.

Gaurav Chandak
Gaurav Chandak
Gaurav is the co-founder of workat.tech and has previously worked at Flipkart and Microsoft. He intends to actively contribute to the future of education through workat.tech.
Related Content
SDE 1 Interview Preparation Roadmap for Product-Based Companies
How to prepare for the Problem Solving, Data Structures and Algorithms Interview Round?
How to ace the Problem Solving, Data Structures and Algorithms Interview Round?
SDE Bootcamp - Become a software engineer at a product-based company
Practice Data Structures & Algorithms
Learning Resources
Interview Prep Resources
Blog
  • Career Advice and Roadmaps
  • Data Structures & Algorithms
  • Machine Coding Round (LLD)
  • System Design & Architecture
  • Backend Development
  • Frontend Development
  • Awesome Project Ideas
  • Core Computer Science
Practice Questions
  • Machine Coding (LLD) Questions
  • System Design (HLD) Questions
  • Topic-wise DSA Questions
  • Company-wise DSA Questions
  • DSA Sheets (Curated Lists)
  • JavaScript Interview Questions
  • Frontend UI Machine Coding Questions
Online Compilers (IDE)
  • Online Java Compiler
  • Online C++ Compiler
  • Online C Compiler
  • Online Python Compiler
  • Online JavaScript Compiler
Topic-wise Problems
  • Dynamic Programming Interview Questions
  • Linked List Interview Questions
  • Graph Interview Questions
  • Backtracking Interview Questions
  • Arrays Interview Questions
  • Trees Interview Questions
Company-wise Problems
  • Amazon Interview Questions
  • Microsoft Interview Questions
  • Google Interview Questions
  • Flipkart Interview Questions
  • Adobe Interview Questions
  • Facebook Interview Questions
DSA Sheets (Curated Lists)
  • Top Interview Questions
  • FAANG Interview Questions
  • Most Asked Interview Questions
  • 6 month DSA Practice Sheet
  • 3 month DSA Practice Sheet
  • Last minute DSA Practice Sheet