Cracking the coding interview

Preface

    This book introduces the interview process of first-line Internet companies such as Microsoft and Google. It explains how to prepare for the interview and how to answer technical questions. It also teaches you how to evaluate the choice of offers and how to negotiate with HR. Of course, time complexity, space complexity and specific interview questions are the focus of this book.

    The 189 questions in this book are dominated by data institutions and algorithms, and their questions and answers occupy most of the content of this book. In addition, there is a chapter covering distributed system design, C/C++, Java, database, multi-threading and other knowledge content, but these contents are almost superficial, aiming to provide readers with a simple but systematic knowledge framework, so that Readers can aim to strengthen the training according to their weaknesses. These 189 questions cover most of the question types you may encounter in a programming interview. The questions are easy and difficult, and all the questions are given more conventional problem-solving ideas and answers. The implementation of the algorithmic questions uses the Java language. Of course, some solutions are not optimal, if you are interested, you can try to give the optimal solution yourself on this basis.

    Just like reading the OG before taking the GMAT, this book is an introductory book for programming interviews. If you have worked for many years and need to pick up data structures and algorithms again, this book is suitable for you; but if you are a big cow who has played algorithmic competitions such as ACM or engaged in algorithms-related work, then this book is You can skip it directly. Since it is oriented to coding interviews, this book can't avoid its utilitarian nature. If you just want to learn algorithms, you can read Programming Pearls and other books. Compared with the actual interview, the topic of this book is still slightly simpler. If you want to improve it further, it is recommended to go to Leetcode to write the questions and digest and summarize by yourself.

    By the way, the Yimu Sanfendi forum often mentions another book: Programming Interview Exposed, this book is a bit more basic, non-science students with zero foundation can try to start with this book.

    Finally, I suggest that capable readers should read the original English version of this book.

Contents

data structure

Concepts and Algorithms

Basic knowledge

Additional review questions

XI. Advanced themes

XIII. Tips

Note: The X. Answer part of this book is a coded answer. This project will not be translated and included. Students who need to read can read the original English version, or this project of CareerCup: https://github.com/careercup/CtCI -6th-Edition.