I am a software developer with 10+ years commercial experience, I am comfortable with nearly all of imperative languages. But I realized that most of employers prefer not candidates who is able to deliver good software but those who is trained to answer questions like "what are ten differences between pointers and references in C++" or "what this messy code fragment will print". Last time I have read a book on C++ 15 years ago in secondary school and yes, that was Bjarne Stroustrup. But today I need something quick, without long philosophical explanations about polymorphism etc but with focus to silly interview tests. So, can you recommend any short and effective books to refresh my theoretical knowledge? Thank you.
views:
286answers:
8Either you can program in these things or you can't.
If you can then it doesn't really matter what they ask. Some people may still ask esoteric questions but remember that an interview goes two ways: you're also interviewing them and if they ask silly questions then do you really want to work for them? Empirical data shows you get little more value from esoteric questions than simple.
If you can't then it sounds like you've said something that isn't true. Your best bet is to be honest and say "I Haven't coded C++ in 10 years so I'm a bit rusty" and then you're fine. If they don't hire you then again, was that the right employer for you? A good employer will realize that this shouldn't disqualify you for the job. As long as you can program in one language you can program in another, particularly one you've used before, with a ramp up period.
For C++ I'd use C++ FAQ Lite
For J2SE I'd use Java Tutorial
For STL, I'd use the article on Wikipedia and/or SGI STL Documentation Online.
Each takes about half a day. I've also once looked through the book "Programming Interviews Exposed" but I am not sure how helpful it can be.
Straightforward explanations of C++ concepts : http://www.parashift.com/c++-faq-lite/
You can pick up any book for the languages you're interested in, but since you already have programming experience, instead of working through the whole book page by page, you go to the drill exercises where they have "messy code" for which you have to find the output, plus those bullet-points summaries that list essential points concisely.
As an example, for J2SE you can use the exercises in SCJP certification books.
I agree with Cletus, especially with regard to the fact that YOU are interviewing them at the same time.
For C++ I would go with Scott Meyer's and Herb Sutter's books (Effective C++, Exceptional C++). They provide good guidelines and motivate them with clear and readable explanations.
For Java, if you want to see all the f**king messy questions go and read SCJP.
Agree with cletus. But also please consider why you have been asked that question. Sometimes good interviewer can ask not assuming to get complete right answer, but to see the way you analyze the way how you express thoughts and also as I have mentioned to check the depth of your knowledge. Do not expect that questions will be concerning only practical area, they can be far from practical use, but they can show your passion towards something particular... Sometimes you can be asked a question which has no connection to software development, but they can show "how your brains are working". Although sometimes you can face really strange type of questions, so remember as cletus says you are interviewing them also and you can make your consequences also.