This fall, I’m interviewing for new grad SDE positions with several companies, and had several phone screens and onsite interviews for now. Following is what I gained from my experience, and they’re generally helpful, so I’d like to share with you.
- After the interviewer gave the question, don’t rush to the solution directly.
Rushing to the solution is the mistake I made most frequently, even if I knew I should not. Maybe at the beginning of the interview I’m too nervous. So I put this one as the first rule. The interviewer is expecting you to ask questions, to clarify the problem. In this part, they are testing if you have the ability to clarify the problem, and also your communication intention and skill. Remember, you and your interviewer are collaborating now. It’s not your or their own game. By asking questions, you need to try to make yourself have the same understanding of the question (the aim of your function, input/output data type, edge cases needed to consider, etc.).
- In high level, explain your algorithm first, never jump to code without the interviewer’s agreement.
In complex questions, think from the brute force solution, and think how to optimal it. IN some cases, the brute force solution is not acceptable by the interviewer, so there is no need to write it out. And also don’t wait for the best solution if you don’t have yet. If you find some workaround in the middle, try to write it out first. It’s always better to have something than have nothing, but remember to get the interviewer’s agreement before writing code.
- During your implementation, if the interviewer asks you some questions, stop and think about it. I know you want to finish your code, but in most cases, the interviewer is giving you a hint by asking you questions, maybe because they find a bug, and try to help you. Never ignore anything from the interviewer. The key of passing the interview is not about solving the problem perfectly, but is about making the interviewer satisfied and willing to give you hire.
- Never “argue” about different workaround. The best practice is to write out what’s in the interviewer’s mind. If you have your own workaround, sometimes it’s OK, but you need to convince the interviewer. Remember, be nice. Treat the interviewers as your colleagues.
- Asking hints directly is not good. You can come up with different solutions and ask for hints implicitly.
- Never, never, never give up. Even if you don’t know how to solve the problem after maybe 30 minutes, and you have no hope to finish it in the interview, don’t give up. One interviewer told me, in this case, he won’t give hire, but he can also give something as lean hire, which can be balanced with hires in other rounds. So cheer up and leave a good impression.
- Be a nice person, do good things, help others in your everyday life. And finger crossed, you will be treated nicely in the interviews, you will crack the problems and get HIRE!
Hope my experience is helpful. I’m preparing for dream company’s interviews in January. Hope I can make it! Hope all of us can make it!
Best wishes! Happy holidays!