Technical interview can be stressful. In this article I want to give you some advices which were useful to me when I was the person being interviewed. Nowadays I’m on the other side and being an interviewer has strengthened my view about some of the advices. There are just a handful of them but I think they can really make a difference.
One thing worth noting is that those advices are not related to some algorithmic/puzzle questions a few companies ask on a technical interview. From my experience such questions are a weak predictor about how well a person will suit a job. I much more prefer a pair programming session on a real and relevant (to the product I’m hiring to) feature and a discussion about past experiences.
Try to be self-confident (but not arrogant) and enthusiastic. Typical interview takes about an hour, which is too short to show all your knowledge so the way you talk about your experience can be as important as what your experiences are.
There’s nothing wrong with saying that you need a moment to think about an answer to a hard question. No sane person would require you to have a well-thought answer without actual thinking it through.
Usually the biggest part of an interview is asking a person about their experience. It is important to emphasise the reasoning behind every major decision.
- What was your thought process?
- Why didn’t you choose alternative solutions?
- And most importantly, in retrospective, was the decision good? What would you do now? Here are some examples:
- “In my last project I used MongoDB. While it’s not an obvious choice, in that particular case I weighed pros and cons (which were …) and decided that noSQL database was a better fit. In retrospective, this was a good decision because …”
- “I chose Grape instead of Rails-API because at that time Grape had better support for API versioning and this was an important requirement. “
- “We chose AngularJS instead of ReactJS because we were more familiar with AngularJS. In retrospect this was a bad decision.“ (What was the impact of that decision? What did you do about that? What did your learn?)
Remember to talk not only about technical consequences but also about business related consequences. Understanding business side would be a big advantage for you.
Before the interview do a research about the company/product. Use that knowledge during the interview.
- “I have an experience in X, and I think this can be helpful in Y.” (some problem/product etc. which a company has)
Ask questions. Be curious about a company, a product - both technical and business related aspects. Seeing that a candidate is curious about the company makes the interviewer a lot more favourable for that person. (because employee which has curiosity is more valuable for the company)
If you have absolutely no idea how to answer a particular question, be honest. Be enthusiastic about learning.
Do some research (if possible) about the interviewer. Is she/he technical or business oriented person? Knowing a bit about the person you talk to helps you use the language (e.g. business language) that is understandable to he or she.
I hope that those advices will be helpful for you. Just try to have a bit of fun, learn something, relax and be curious!