I recently took part in an assessment centre with work, during which I played a part in the technical interviews. It’s important to point out that this post isn’t about what I saw that day, nor is it advice aimed at people applying for jobs at the BBC. So, in those classic words, the views expressed here are mine, and not those of my employer.
If you’re asked to perform a coding task as part of an interview (or before it), here are my tips:
Begin with an overview.
Start by giving a brief overview of what you’ve written. Keep it short and high-level: talk about the main classes, what they’re responsible for and how they collaborate. A simple diagram is sometimes a handy thing to point at, if you feel it’s appropriate. Walk people through the happy path, rather than explaining every possible eventuality.
Make sure you’re followed.
If you’re talking about a specific bit of code, then make sure that the interviewers are looking at that same bit. It makes it a lot easier for both of you. Do this in moderation though — they may also want to flick through at their own pace, particularly at the beginning.
Follow the brief.
The task given to you should (hopefully!) be well specified, and it’ll may tell you which languages you’re allowed to complete the task in. Stick to the rules, but remember that the interview is also your chance to explain what you might have done differently, had those rules been different. If there’s a language that you think might have been better suited to the task, say so. If there were parts that you wish you had approached in a different way, flag those up.
Bring hard copies.
Bring printed copies of your code with you, with enough copies for everyone to have their own – including you. If the code is something you had to submit beforehand, then the chances are that they’ll already have copies printed when you get there. Handing them a copy that you’re familiar with will be easier for you to talk through. Good presentation will also leave a good impression.
Pay attention to page numbering.
It sounds like a simple one, but number your pages. Your editor/IDE might want to start from page one again for each new file, so make sure your pages have sequential numbering throughout. It’ll make life easier for you when you’re referring to specific parts of the code. For bonus points: line numbers.