O'Reilly logo

Ace the Programming Interview: 160 Questions and Answers for Success by Edward Guiness

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 8

Quirks and Idioms

Just like languages spoken around the world, every programming language has its own idioms and quirks. These quirks make a language interesting and are powerfully expressive, just as much as they might infuriate the language student. A clever trick such as the Schwartzian Transform might seem unmaintainable madness to the uninitiated, but knowledge of the Schwartzian Transform is one of the hallmarks of fluency in Perl. A programmer fluent with .NET will generally prefer LINQ over looping constructs. A fluent C programmer will not overheat at the semantic implications of a pointer-to-a-pointer-to-a-pointer. The list goes on.

An interviewer who tests you on the quirks of a language will generally not be testing your ability to remember programming language trivia. The interviewer will be testing your familiarity and fluency with a language or a framework. The assumption is that if you are proficient with a language, then you will know most of its idioms and many of its quirks.

In this chapter I barely scratch the surface of the many, many quirks and idioms you will find in the wild as a practicing programmer. If, after attempting these questions, you find that you aren't as familiar with a language as you would like, the best way to improve is to study the code of others and focus on anything that isn't obvious. You won't improve your knowledge by sticking to what you already know.

I have divided this chapter into sections based on language so that you ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required