This blog was written by Azat Mardanov
About a year and a half ago I wrote a ranting post about some old boring technical interview questions. Those pesky hash tables, arrays, and trees! Now it’s time to revisit the topic, and enhance it with some useful tips, tricks, and insights (a.k.a., technical interview hacks) that I’ve observed over the years in software engineering.
Preparation
- Network like crazy! This is probably the most valuable hack in a job search, because great companies get thousands of emails from candidates across the globe. While, on the other hand, personal connections will help you to stand out.
- Do mock interviews with peers and experts: CareerCup and AnyFu.
- Have a killer resume, LinkedIn profile, and GitHub portfolio which are relevant and authentic.
- Crack puzzles, toy problems, and be comfortable with programming on a whiteboard. Chess problems are good at training for the latter.
- Have a Google Voice number as your contact. This way you can get voicemail transcriptions via email and use the “Don’t disturb” feature when needed, because we all know how persuasive some recruiters might be.
- Be nice to recruiters – it’s tough for them out there right now!
- Be prepared to answer quintessential interview questions such as “What are your best accomplishments?”, “Why are you looking for a new job?”, “What are your interests?”, etc.
- Practice public speaking at meet-ups, in front of friends, relatives, or a cat/dog if you have one.
- Brush up on data structures and algorithms, e.g., hash tables, binary trees, Big Os — that’s like 80% of the technical interview questions!
- Review fundamental aspects, e.g., for JavaScript they include global scope, “this” keyword, closures, data types, inheritance patterns, and recursion.
- Schedule interviews early in the morning or right after lunch time, which is around 12–2 pm.
Before an Interview
- Take RESCUE Remedy if you’re a nervous type of person.
- On a day prior to the onsite interview, go to the office to make sure you know exactly how to get there. Google and Apple maps are notoriously unreliable, and the last thing you want is to be late or stressed out about getting there on time.
- Have a silent room, reliable internet, and a good headset — to keep your hands on the keyboard all the time — for phone interviews.
- Research the company via their website and other sites like GlassDoor, CrunchBase, and Quora — as well as the people who are interviewing you (using LinkedIn, Twitter, Google, and GitHub).
- Don’t study too much the night before, instead work out or go for a walk. In addition, try to get a good night’s sleep.
During an Interview
- Engage in friendly small talk. For that, knowing about an interviewer, company, or just about some recent local events helps.
- Ask extremely smart questions about technical solutions they use, the future direction of the company, the position you interviewing for, and about the interviewers’ backgrounds.
- Listen to the interviewers – they might give you some hints for those troublesome toy problems.
- Don’t sabotage yourself by being strongly opinionated. This is true in general, but especially in less familiar areas to you, in which you don’t have extensive expertise.
- Look for red flags, e.g., happiness level, job satisfaction, and culture fit. Even a simple, “Do you like working here?” might reveal serious issues.
- Learn how to slow down (e.g., by stopping on details or cleaning a whiteboard) when you need time to think, or how to speed up when your interviewer is running out of time (and you want to make an even better impression on him/her).
- Don’t drink or eat too much, and use a restroom before going into the conference/interrogation room.
- Have fun at an interview and, above all, have fun with those tough puzzles! In addition, keep in mind that you probably don’t want to work at a place that doesn’t do a good job at interviewing people, either out of incompetency or a lack of caring.
After an interview
- Don’t get discouraged, because even if the interview doesn’t land you a job. It’ll prepare you for the next interview.
- Keep in mind that chance (or dumb luck) could be a major factor in the decision-making process.
- Let people on the other side know and feel that you appreciate their time and consideration.
- Send a Thank you for the Interview email or maybe even a snail mail — the ultimate hack in the digital age.
- Have another interview lined up already. However, don’t do more than one or two a day. Needless to say that having multiple offers increases your options.
Good luck and after you get the job of your dreams, send me a note with what worked for you and what didn’t! 🙂