Elements of Programming Interviews: The Insider's Guide
We update EPI continuously based on reader feedback as well as interviewing trends that we have observed. Over the past six months we have updated the core data structures and algorithms problem material by including a bootcamp for each topic. Each boot camp is (1.) a straightforward, illustrative example that illustrates the essence of the chapter without being too challenging and (2.) top tips for the subject matter, presented in tabular format. For chapters where the programming language includes features that are relevant, we present these features in list form. We have also expanded the treatment of domain-specific knowledge. In addition to the existing system design questions, we have added problems around programming language concepts, object-oriented programming, and commonly used tools such as SQL and TCP/IP. Keep in mind that some companies do not ask these questions - you should investigate the topics asked by companies you are interviewing at before investing too much time in them. These problems are more likely to be asked of architects, senior developers and specialists.