views:

286

answers:

8

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.

+5  A: 

Either 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.

cletus
I agree with your first statement, but disagree with the rest. From my experience, the "interviewing duty" is a kind of "semi-mandatory" activity in the company, so most interviewers prepare accordingly (by googling and using "300 Senior Java interview question"). So even in a good team the interviews can turn very boring and limited with "What is Java Memory Model?" type of questions.
bobah
... says the developer... who has a job. Unfortunately "do you want to work there anyway?" often conflicts with "do you like food and shelter?" and IME, HR interviewers have no idea that programming C# is translatable to programming Java etc.
SnOrfus
+2  A: 

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.

bobah
+1  A: 

Straightforward explanations of C++ concepts : http://www.parashift.com/c++-faq-lite/

Ugo
A: 

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.

Bakkal
+2  A: 

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.

Francesco
A: 

You can go with Accelerated C++, from Andrew Koenig

pcent
A: 

For Java, if you want to see all the f**king messy questions go and read SCJP.

HZhang
A: 

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.

Incognito