PROBLEMS
It would be impossible to cover every conceivable area of computer knowledge that could appear on a résumé or in an interview. Instead, this chapter provides a sample of knowledge-based questions. These questions focus on system-level issues, trade-offs between various methods of programming, and advanced features of languages. All these topic areas make sense from the interviewer’s perspective. A candidate who claims to know a lot about computers but who isn’t aware of basic performance issues of data structures, networks, and architecture is likely to make poor design decisions that may be expensive to fix later. Furthermore, many job assignments are not as specific as “Implement this algorithm in this language,” but may be more along the lines of “We have this problem that we need solved.” A strong candidate understands the trade-offs between various solutions and knows when to use each one.
Interviewers prefer specific,...