Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Professional C++ [eng].pdf
Скачиваний:
284
Добавлен:
16.08.2013
Размер:
11.09 Mб
Скачать

C++ Interviews

Since XML has become such a popular buzzword, one of the authors has started bringing a simple XML document to interviews. The candidate is asked to point out all of the attributes, all of the elements, and all of the text nodes. It puts the candidate on the spot, but effectively proves whether that person has worked with XML or simply understands that it’s an HTML-like syntax.

Chapter 25: Incorporating Techniques

and Frameworks

Each of the techniques presented in Chapter 25 would make a fine interview question. Rather than repeat what you already read in the chapter, we suggest that you skim back over Chapter 25 prior to an interview to make sure that you are able to understand each of the techniques.

Chapter 26: Applying Design Patterns

Because design patterns are becoming very popular in the professional world (many candidates even list them as skills), it’s likely that you’ll encounter an interviewer who wants you to explain a pattern, give a use case for a pattern, or implement a pattern.

Things to Remember

The basic idea of a pattern as a reusable object-oriented design concept

The patterns you have read about in this book as well as others that you’ve used in your work

The fact that there are hundreds of patterns with often-conflicting names, so you and your interviewer may use different words for the same thing

Types of Questions

Answering questions about design patterns is usually a walk in the park, unless the interviewer expects you to know the details of every single pattern known to humankind. Luckily, most programmers who appreciate design patterns will simply want to chat about them with you and get your opinions. After all, looking concepts up in a book or online instead of memorizing them is a good pattern itself!

801

Annotated Bibliography

This appendix contains a list of books and online resources on various C++-related topics that we either consulted while writing this book or recommend for further or background reading.

C++

Beginning C++

Harvey M. Deitel and Paul J. Deitel, C++ How to Program (Fourth Edition), Prentice Hall, 2002, ISBN: 0-130-38474-7

Known as simply the “Deitel” book, this text assumes no prior programming experience.

Bruce Eckel, Thinking in C++, Volume 1: Introduction to Standard C++ (Second Edition), Prentice Hall, 2000, ISBN: 0-139-79809-9.

An excellent introduction to C++ programming that expects the reader to know C already. Available at no cost online at www.bruceeckel.com.

Stanley B. Lippman and Josée Lajoie, C++ Primer (Third Edition), Addison Wesley, 1998, ISBN: 0-201-82470-1.

This book requires no knowledge of C++, but experience with high-level object-oriented languages is assumed.

Steve Oualline, Practical C++ Programming (Second Edition), O’Reilly, 2003, ISBN: 0-596-00419-2.

An introductory C++ text that assumes no prior programming experience.

Walter Savitch, Problem Solving with C++: The Object of Programming (Fourth Edition), Addison Wesley Longman, 2002, ISBN: 0-321-11347-0.

This book assumes no prior programming experience. It is often used as a textbook in introductory programming courses.

Appendix B

General C++

Marshall Cline, C++ FAQ LITE, www.parashift.com/c++-faq-lite.

Marshall Cline, Greg Lomow, and Mike Giru, C++ FAQs (Second Edition), Addison Wesley, 1998, ISBN: 0-201-30983-1.

This compilation of frequently asked questions from the comp.lang.c++ newsgroup is useful for quickly looking up a specific point about C++. The printed version contains more information than the online version, but the material available online should be sufficient for most professional C++ programmers.

Stephen C. Dewhurst, C++ Gotchas, Addison Wesley, 2003, ISBN: 0-321-12518-5. Provides 99 specific tips for C++ programming.

Bruce Eckel and Chuck Allison, Thinking in C++, Volume 2: Practical Programming (Second Edition), Prentice Hall, 2003, ISBN: 0-130-35313-2.

The second volume of Eckel’s book covers more advanced C++ topics. It’s also available at no cost online at www.bruceeckel.com.

Ray Lischner, C++ in a Nutshell, O’Reilly, 2003, ISBN: 0-596-00298-X.

A C++ reference, covering everything from the basics to more advanced material.

Scott Meyers, Effective C++ (Second Edition): 50 Specific Ways to Improve Your Programs and Designs, Addison Wesley, 1998, ISBN: 0-201-92488-9.

Scott Meyers, More Effective C++: 35 New Ways to Improve Your Programs and Designs, Addison Wesley, 1996, ISBN: 0-201-63371-X.

These two books provide excellent tips-and-tricks on commonly misused and misunderstood features of C++.

Stephen Prata, C++ Primer Plus, Sams Publishing, 2001, ISBN: 0-672-32223-4. One of the most comprehensive C++ books available.

Bjarne Stroustrup, The C++ Programming Language (Special Third Edition), Addison Wesley, 2000, ISBN: 0-201-70073-5.

The “Bible” of C++ books, written by the designer of C++ himself. Every C++ programmer should own a copy of this book, but it can be a bit obscure in places for the C++ novice.

The C++ Standard: Incorporating Technical Corrigendum No. 1, John Wiley & Sons, 2003, ISBN: 0-470-84674-7.

This book is almost 800 pages of dense standard-eze. It doesn’t explain how to use C++, only what the formal rules are. We don’t recommend this book unless you really want to understand every detail of C++.

Newsgroups at http://groups.google.com, including comp.lang.c++.moderated and comp.std.c++.

The newsgroups contain a lot of useful information if you’re willing to wade through the flame wars, insults, and misinformation that appear as well.

804