This book is about coding interview question of 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.
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 you'll 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.