Do you know that less than 10% of candidates passed their on-site interviews as reported in Silicon Valley? Don’t forget that those who failed have already passed the phone screen.
As the last stage to filter candidates, on-site interview is the most difficult barrier for job seekers. For software engineers, on-site interviews usually involve quite a few coding questions and candidates are required to write optimal solutions with intense discussion with interviewers.
With years experience as an interviewer, I’ve seen so many similar mistakes that candidates keep making and I’d like to summarize the most common mistakes in technical on-site interviews here.
Mistake #1 – No preparation
If you got a chance to be an interviewer for a little while, you would be surprised about how many candidates came to on-site interviews without any preparation.
This is definitely a fatal mistake and majority of candidates who failed interviews falls into this category.
Some people are too confident as they passed phone screens without any difficulty. However, as it’s known to all, on-site interviews are more difficult than phone screens in general and are much more intense.
I won’t talk about how to prepare for an on-site interview in detail as there are a lot of online resources and books can help you get familiar with coding interviews. Several most popular resources include:
- GeeksforGeeks – Has almost everything to prepare for a technical interview, including programming questions, answers, discussions, tutorials etc..
- Glassdoor – You can practice with programming questions from past interviews of different companies.
- Gainlo – Allows you to have mock interviews with experienced interviewers from Google, Amazon, Facebook etc..
I always encourage people to prepare as much as you can even if only one day is left, let alone most people have at least several weeks before their on-site interviews.
Mistake #2 – “Give me 5 minutes”
The following conversation has happened countless times.
Interviewer: “Here’s the question … and I’d like you to write a function to …”
Candidate: “Sounds good! Please give me 5 minutes.”
Silence in few minutes.
Candidate: “Ok, let me write down the solution for you.”
Interviewer: “Err… Maybe you can describe your solution a little bit…”
I think you get my point here. It’s highly recommended to talk while thinking instead of coming up with a “complete solution” after silence. There are various reasons for this.
First of all, this gives the interviewer a chance to help you. Believe it or not, most interviewers want to help candidates to pass interviews. By talking about your ideas, the interviewer is able to know your current progress and may give you some hints when you get stuck or are not on the right track.
Secondly, it’s safer to do so. In the worst case that after a while you may fail to provide a solution, you just waste a lot of time and the interviewer has no way to know what’s in your mind and how close you get to the answer. At the end of the interview, he could hardly write any feedback except that the candidate failed to come up with a solution.
Lastly, it’s a great chance to show your communication skills.
Mistake #3 – Crappy code on whiteboard
Most technical on-site interviews require candidates to write quite a lot code on a whiteboard. However, a lot of people didn’t prepare well for this.
For many people who don’t have any interview experience, they may find it really uncomfortable to code on a whiteboard. There’s no copy and paste, no shortcut and it’s very inconvenient to edit or insert. You may miss your favorite text editor and IDE a lot.
For some other people, they just write terrible code in general and whiteboard just amplifies this point. Some common mistakes includes:
- Pseudo code
- Incomplete code (no function/variable definition)
- No input validation
- Bad code style/naming
- Unclear handwriting
- Redundant code
Most tech companies won’t hire people without checking their code, so it’s for sure that you’re gonna be asked to write code in an on-site interview. The rule of thumb is that when preparing always write down your solution on a whiteboard or a piece of paper instead of in your mind.
Mistake #4 – Bad communication
One of the things that make technical on-site interviews different from phone screens is communication.
During a one hour face-to-face interview, a lot of discussion and communication are involved, which are also evaluated as core skills. For many companies, interviewers will evaluate candidates’ communication skill together with technical skill at the end of the interview.
However, many candidates didn’t pay enough attention to this point. They may be quite passive in the discussion, failed to articulate their solutions clearly and ignored basic etiquettes like eye contact. Part of the reason is that they were too nervous in an on-site interview and forgot almost everything.
One suggestion is to pay attention to communication in your preparation. You can keep talking about your idea when thinking even if no one else is there. Or have mock interviews with your friends or some experienced people to practice this, which is also highly recommended.
Mistake #5 – No enthusiasm
Another key factor that is evaluated in a technical on-site interview is culture fit.
Culture fit can’t be emphasized enough. Basically, it evaluates whether you are a good fit for the company, whether you are likely to work well with others assuming you have qualified technical skills.
For instance, I won’t hire someone who has no idea about our company’s product even if he’s an expert in a specific technical area. On the contrary, I might hire someone who might not be very outstanding technically but is very passionate about our company’s mission and product. He might be a very active user and has a lot of critiques about how to improve the current product.
Another example is when you have on-site interviews with Facebook, it’s almost for sure that you will be asked about why you want to join Facebook. Of course, there’s no standard answer for this and it’s very important for candidates to show their enthusiasm about the company.
However, I don’t want to make this point sound like you need to pretend to be passionate about the company. In fact, I don’t really recommend people apply for companies they don’t believe in. It’s a little similar to find your life partner. If you don’t have a crush on the person or the company, it can hardly work out. So showing enthusiasm is something quite natural.
There are hardly any shortcuts to pass an on-site interview. The golden rule is always to spend enough effort and time on preparation.
With enough practice, you will realize that on-site interview is not as hard as people expected and you’ll enjoy the whole process for sure.
About the author:
Jake Cook is the co-founder of Gainlo, an online based online platform that allows people to have mock interviews with experienced interviewer from Google, Microsoft, Amazon etc. and get real feedback to improve. Having been in tech industry for years, he has lots of experience about interview and has a great passion for it as well. He truly believes that interviews can be made more transparent, which is exactly why Gainlo was born.
If you also wish to showcase your blog here, please see GBlog for guest blog writing on GeeksforGeeks.
- How to get started for technical Interviews?
- Cracking Technical Interviews; Freshers
- Common mistakes to be avoided in Competitive Programming in C++ | Beginners
- Rodrigo San Martin Monroy - Geek on the Top | Extract common topics from previously asked interviews of the company you want to join
- Microsoft Interview Experience | Set 46 (Onsite)
- Project Idea | Onsite Judge
- Amazon Interview Experience | Set 368 (Phone and Onsite)
- Avoid these mistakes on D-day | Gate 2018
- 10 mistakes people tend to do in an Interview
- Python dictionary (Avoiding Mistakes)
- How to Prepare for HR Interviews
- Commonly asked questions in Flipkart Interviews
- Huawei Interview Experience | OnSite Interview ( 5 years experienced)
- Commonly Asked Questions in Goldman Sachs Interviews
- Print common nodes on path from root (or common ancestors)