So you sent off hundreds of developer resumes to the biggest technology companies in the world, and waited by the phone for days. When you didn't get any replies, you bottomed out in the pit of despair, and began watching 80s movies in your underwear. Then, the impossible happened: the phone rang! You've got an interview! Wait, now what?
You're probably asking: "What kind of questions get asked at developer interviews?" or "what do I have to do to prepare for an interview at Google?"
We are here to help, with our comprehensive guide on how to prepare for a developer interview at one of the world's technology giants.
1. Write code
This might sound obvious, but the best way to prepare for a developer interview is to do a lot of development. Write code. Rewrite the code. Review the code. Rewrite it again. Challenge yourself to do things you've never done, and learn new tricks. Practise those tricks. Return to the code you wrote, review it and rewrite it.
Because a lot of developer interviews will hinge on a previously unseen problem, your only sure fire way of beating it is to make yourself as versatile a coder as possible. Interviewers will want you to recognise the brute force approach, and find a more elegant solution. The only answer to this is experience and initiative.
Unfortunately there's no shortcut for this, but it's an important one.
2. Get your portfolio together
If you want to show code, show code that runs and that looks good. Interviewers who get shown messy code will not take kindly to your application.
Also make sure that any examples given in your portfolio are sites that are still running. If you want to show off a site you built, have a copy of at least the front page on your own server in case the site is down or went bust for other reasons
3. Know the most up to date framework
You have to know the name of the current version of frameworks that you claim to use regularly.
If you claim you are a jQuery guru and you cannot rattle off jQuery 1.7.x, jQuery UI 1.8.x (or whatever is current of the day you are asked) then interviewers will immediately get wary of whatever else you are saying.
This is a silly detail to get caught out by, so make sure it's clear in your mind.
4. Practise writing code on paper
If this hasn't been a part of your regular working life, it's going to pretty soon. It's rare for interviewers to give you a computer and keyboard to write out your solution to their problem, so make sure you're comfortable writing on paper or standing up on a whiteboard.
Having to do so if it's unfamiliar to you could be enough of a distraction to put you off your coding game – which is the last thing you want.
5. Learn the kind of task that gets set
It's a great idea to read lists of developer interview questions. One great resource for this is Geeks for Geeks, a site that collates the kind of mind-bending programming puzzles that get asked at interviews to separate the developer wheat from the wannabe chaff.
Aspiring developers post examples of questions they've received in interviews with giants like Amazon, Qualcomm and Goldman Sachs.
For instance: "Given a number n, write a function that generates and prints all binary numbers with decimal values from 1 to n."
Or another: "Given the binary Tree and the two nodes say 'a' and 'b', determine whether the two nodes are cousins of each other or not."
Crazy for Code also has a similar resource, which is just as worth checking out.
So start solving one problem a day, solve it complete from time complexity to space complexity, different ways of same problem, write code on paper. You can crack any interview.
Beyond these tips, our advice is the same for any job interview. Be calm, friendly and professional – and most of all, try to have a bit of fun while you do it.
Well what are you waiting for? Get coding!