This book is about coding interview questions from software and Internet companies. It covers five key factors which determine performance of candidates: (1) the basics of programming languages, data structures and algorithms, (2) approaches to writing code with high quality, (3) tips to solve difficult problems, (4) methods to optimize code, (5) soft skills required in interviews. The basics of languages, algorithms and data structures are discussed as well as questions that explore how to write robust solutions after breaking down problems into manageable pieces. It also includes examples to focus on modeling and creative problem solving.
Interview questions from the most popular companies in the IT industry are taken as examples to illustrate the five factors above. Besides solutions, it contains detailed analysis, how interviewers evaluate solutions, as well as why they like or dislike them. The author makes clever use of the fact that interviewees will have limited time to program meaningful solutions which in turn, limits the options an interviewer has. So the author covers those bases.
Readers will improve their interview performance after reading this book. It will be beneficial for them even after they get offers, because its topics, such as approaches to analyzing difficult problems, writing robust code and optimizing, are all essential for high-performing coders.
What youll learn
- Necessary knowledge for coding interviews, including programming languages, algorithms and data structures
- Tips to write complete and robust code
- Approaches to simplifying and solving difficult problems, with examples, figures and discussion
- Methods to optimizing memory and space efficiency
- Tips to demonstrate communication skills and learning skills during interviews
- Standards in interviewers minds to evaluate candidates performance
Who this book is for
Targeted audiences of this book include students who are interested in programming-related careers, as well as developers with less-than-three-year experience who are looking for more career opportunities.
Table of Contents
1. Interview Process
2. Programming Languages
3. Data Structures
5. High Quality Code
6. Approaches to Solutions
8. Skills for Interviews
9. Interview Cases