navigation
tech talk

code snippets

all reads

portfolio

cv (out of date)

 

about me

i'm the principal software engineer @ airadvice inc and have been performing the craft of software development for a decade.

 

what i use

textmate (code)
mantis (bugs)
dokuwiki (docs)
omni* (organization)
khronos (timekeeping)

 

find me

twitter
upcoming
delicious

 

disclaimers

© andrew ettinger

design by Smallpark

 

Interviews

posted Tue May 22 17:40:04 +0000 2007 - permalink


Interviews are such a critical time for a team. A wrong move can seriously damage your teamwork and sap resources. I don't really subscribe to the riddles train of thought, so here's some of the core knowledge I'd expect developers at any position to know. Here's some sample questions from the last time I had to interview someone.


General Theory. Name one thing you'd change about any programming language. This will give you a good idea about their general attitude, and on the other hand may tip off someone that doesn't really understand languages.


SQL. What's the difference between an inner and outer join? SQL is such a necessary component of anyone's resume, don't just assume that it's there -- ask.


OOP. Give an example of polymorphism; give an example of inheritance; name two adjectives to describe encapsulation and explain what they mean (looking for 'protected', 'public', or 'private'). If an applicant doesn't understand these concepts, there's no way I'm going to allow them near my code. These are fundamental concepts; even extremely junior developers straight out of college should be able to answer these no problem.


Ajax. Describe a good use of Ajax vs. a bad one. If you use it, you don't want someone new abusing it -- and the correct answer to this question may vary depending on your philosophy and/or implementation.


SVN. What is a branch and when do you use one? Anyone other than an extremely junior developer should be able to nail this.


I usually have a very small coding exercise, like: Write a function to determine a substring of a string using only functions you create which returns the index of the starting location if found or -1 if not (bonus points if they ask if it wraps!). Yes, it's easy, but remember they are under the gun and are probably nervous -- and you really just want to see how their brain works.


Here's Joel on interviewing, and some Microsoft sample questions.