Companies hire software engineers to solve real work problems. They are not looking for people who can merely write code to efficiently find the kth largest integer in a list. They want people who can look at a user story, dig down and determine that the fundamental problem lying under the covers of the story is to find the kth largest integer in a list and then write an efficient solution.
There’s no limit to the kind of scenarios that may be presented in an interview. A bit of practice goes a long way in preparing for the unexpected. This course covers a majority of the questions that are part of coding interviews at top tech companies. We have organized the course into chapters based on a categorization of interview problems on various themes.
Each chapter will explain a business scenario regarding an existing application, and we’ll build certain features to solve a specific category of problems. The goal is to develop an understanding of a problem’s underlying pattern so that we can apply that pattern to solve its corresponding interview question. We have chosen each problem carefully so that each one not only follows the pattern discussed in the scenario but also presents different constraints.
Each chapter begins with a brief introduction of the features we’ll be building. We will discuss how to build each feature in detail, explaining the underlying patterns that can be applied to interview questions. Then, you will be asked to solve problems related to the pattern we discussed on your own.