I did quite a bit of interviewing recently before I got my new job.
I’ve come to believe your success depends much more on the attitude of the interviewer than how much you prepare. Anyone can find a gotcha question you can’t answer. Anyone can twist your lack of instant recall of a topic into an irrecoverable failure. You simply can’t know everything off the top of your head.
And on the flip side, anyone could talk you through your nervousness or your sudden blanking on things-you-knew-an-hour-ago, if they really wanted to. Anyone could connect with you and get you to open up about what you understand.
Could, but often won’t.
So while you should definitely do the preparations that they advise you to do — many companies give you fairly detailed lists of things to study — you shouldn’t kick yourself when you get rejection emails.
And you will get them, and they’ll almost never give you very helpful feedback. That just seems to be the way it is, however frustrating.
I have one major piece of advice, if you’re interviewing for a developer job, or really if you’re interviewing for any job.
If you get the sense that the interviewer is dissatisfied with how you did, don’t hesitate to ask what they’re dissatisfied about.
For example: “It feels like I didn’t completely answer your question. Is there anything I could expand on for you?”
Or: “Did my solution to the exercise cover everything you wanted me to cover?”
If they just say yes, but they still seem dissatisfied, well, then there’s nothing you can do.
But I’ve often found that this will bring forward whatever reservations they have, and give you a second crack at them.