How do I prepare for a technical interview (and “live coding”​ part) for a software engineer role?

How do I prepare for a technical interview (and “live coding”​ part) for a software engineer role?

If you are applying for a software engineer role in any of the top tech companies, it is guaranteed that you will be asked problem solving. That is, you will be given some algorithmic problem to solve, and you would be expected to do the following:

  1. Come up with a properly working brute force solution to the problem.
  2. Mention its correct time and space complexity. For this, you need to understand the Big O Notation well.
  3. Optimize this brute force solution with well know data structures and algorithms (binary search, stacks, queues, hashing, dynamic programming, heaps being some of them)

Now let’s come to the preparation part of it. So, first and foremost you need to know a language. It could be any one language.

Next, you would need to improve your basic problem solving by attempting some easy 25–50 questions on any platform like hackerrank, spoj, codeforces, etc.

Then, you can start learning different such data structures and algorithms and observe the different patterns of problems which are solved by each of them.

This will help you develop intuition and help you tackle new problems. For this, leetcode is your best bet for problems.

If you want all this content in an organized fashion with a teacher guiding you through it using handpicked relevant problems and making sure you don’t miss on any patterns, you can go for a guided course like that of Programming Pathshala.

This course has a 7 days free trial. You can grab that.