

Ask HN: How do you prepare for a technical interview. - minalecs

Theres so much ground to cover prior to an interview, design patterns, algorithms, data structures, language specifics, techniques &#38; technologies, database, etc.. what do you guys do to prepare? for approximately how long? good resources in general ? language specific resources ?
======
bayareaguy
I make a list of the kinds of things I expect to be asked based on the
company, position and role and then review those things.

If I think I'll be writing C then I spend a little time re-reading "The
Dictionary of Standard C" by Rex Jaeschke and "Hacker's Delight" by Henry
Warren so I'll be able to immediately explain what SIG_ATOMIC_MAX means or
what (x & (x-1)) accomplishes.

If there's a likelihood that I'll be doing any network programming then I'll
spend a little quality time reviewing the BSD sources and perhaps re-read my
Richard Stevens books so that I'll be able to clearly explain stuff like
Nagel's Algorithm (and when it's not a good idea).

If I think I'll be looking at a database then I'll review Gray and Reuter's
"Transaction Processing" so that I'll keep my SERIALIZABLE, READ COMMITTED,
REPEATABLE READ and CURSOR STABILITY straight. If I think they'll want me to
do something on the back of an envelope then I'll re-read Jon Bentley's
"Programming Pearls" and there's any chance I'll need to actually think about
an algorithm (!) then I'll review Skiena's "Algorithm Design Manual".

I like to also do a few of Raymond Smullyan's puzzles, just in case I end up
in an interview with one guy who always tells the truth and one guy who always
lies...

------
russell
Google "programming interview questions" or the like. There is lots of useful
information. Design pattern questions are common. If you know MVC, Factory,
and a couple of others, you are probably OK. Algorithm questions are
surprisingly rare, but you should know big O notation and be able to state it
for a couple kinds of sorts or searches. Language specifics: yes. Know OO,
abstract classes, concrete classes, interfaces and instances. Otherwise know
what you claim. If all you know about databases is what you learned in a CS
class, you dont know databases.

~~~
jkuria
The 2 best resources for this are:

1\. Programming Interviews Exposed 2\. Career Cup interview Guide by Gayle
Laakman (www.careercup.com)

I had to prepare for interviews and didn't have much time. I spent a few days
going through each one of them--marathon studying did really well as a result.
I remember beingasked questions several times and I almost felt like telling
the interviewer, do you want to blindfold me and tie my hands behind my back
to make this a little more challenging? :)

~~~
minalecs
which is the better purchase if you had to chose, career cup or programming
interviews exposed

------
stonemetal
It rather depends on all the information you know about before the
interview(what do they use, what kind of questions did they ask in the phone
screen, what do you know about the company). If it is for a specific language
position I typically read the books I have for the lang. Practice problem
solving techniques (something along the lines of prag. prog.'s code katas.)

