Interview Tips for Candidates
I mentor Computer Science students at my alma mater and one of them recently asked me if I could provide some tips about interviewing. It is a question that comes up repeatedly, so I finally wrote it all down and I'm sharing it here so that others can learn. I gathered these tips from interviewing on both sides of the table (or phone connection) numerous times, some ending well and others not so much. Enjoy!
-
First and foremost, you are going to be nervous and the interviewers will notice that you are nervous. This is 100% okay and is understood by anyone who has interviewed more than one person. Nobody (especially if you are young or of a junior experience level) should be walking into a tech interview without showing some sort of nerves.
-
Don't BS anything. You'd be surprised how many people attempt to answer a question, but don't know the answer, with a load of BS. I'm sure that, to them, their BS is going unnoticed, but to the interviewers it is plain as day. If you don't know something, the BEST thing you can do is say "I don't know" and, if you are truly interested in learning, ask them what the answer is (not so plainly of course, but it shows you are willing to learn).
-
Further to #2, the other reason that you don't BS anything is that these companies are not the only game in town. You are entering an industry that is on fire right now, and you can take your skills (especially your computer science degree) anywhere. Some companies try to make you think that they are your best, and only, shot at a good job, but just keep a cool head that if they don't like you being honest (by saying things like "I don't know"), then it's probably not the place you want to work.
-
If you are asked to do a whiteboard exercise (i.e. some programming problem), the purpose of the exercise is not necessarily in seeing you get the right answer (that is part of the solution), the majority is how you solve the problem. This means you need to keep talking while you work out the solution. They want to see/hear how you think and get to the answer, even if it is wrong.
-
Don't get frustrated. Technical interviews are difficult for both parties. Some interviewers are simply terrible (my guess is that it takes them away from their computers and into the real world where things aren't so logical) and can come across as rude or know-it-alls. Some interviewers just want to show how smart they are, usually by asking questions that are obtuse or require some key piece of knowledge that only they possess. But don't let these people bother you, just work your way through the interview by keeping a cool head. If you get flustered, stop talking and take a slow, deep breath, then gather your thoughts and continue talking.
-
It is perfectly normal to walk away from an interview having felt that you've blown it, only to find out that they actually like you. Some interviewers push a candidate to where their knowledge is lacking (like 80s video games where there is no way to beat the game) and see if you are still ready to learn and if you remain calm under pressure.
-
If you don't get the job, use the interview as a learning lesson. Yes yes, this sounds cliché, but it really works. Most tech interviews (both on the phone and in person) are structured the same way, with the same sort of questions. Thus, after you have been to enough interviews you can start to smooth out your bad areas (e.g. talking about salary expectations) and really nail all the questions.
-
Always expect an interviewer to ask for your salary expectations. This is just a stupid interview tactic that puts you off-guard and sets the ceiling for future salary negotiations. To prepare for this, first expect that the question will be asked so that you don't get flustered. Then, ensure you have done a bit of research on what the typical salary is for that type of job (even if it is ball-park). You can also tell them that the salary should be in line with what other companies pay (this is a bit of a bully tactic, but sometimes it works). If you need time to think about your answer, and to show that you are really paying heed to their question, ask what the roles and responsibilities entail and also what benefits are provided, since those two things are what affect a salary.
-
Put together a list of questions for the interviewer, at least 5. They will ask you at the end of the interview if you have any questions and it always looks suspicious if a candidate doesn't have any questions for the company. Some questions can be generic, but it is also good to use some questions specific to the company itself because it shows you've done homework. Two good questions I use are: "What does a typical day look like for me," and "If I were hired, what would my first week look like (or what would I be put to work on)?".
-
Lastly, and sometimes most importantly, learn to properly shake someone's hand. Shaking hands with a noodle is off-putting and can set the wrong tone upfront in the interview. Give a good, firm handshake without resorting to rearranging the other person's knuckles. :)
Since these are tips that can be used for candidates, I'll put together a list of tips for interviewers as well and post it here.