If you are invited for an interview that involves live coding, here’s some tips for you to improve your performance. These are from my perspective as an interviewer:
- Googling for syntax is fine. It shows us you are human.
- Knowledge of different data structures show us you have enough experience to pick the right tool.
- Also don't rush into writing code - plan ahead to show us that you understand the problem space. Also to help clarify your understanding of the question. Last thing you want to do is solve the wrong problem.
- Related to 3 - don't spend too much time planning. This is a coding assessment, we want to see you write code, not dazzle us with your handwriting and pseudo code.
- Manage your time: Clarify how much time you have for the assessment. That should inform you about how much to build. Its not cool to over-engineer when you only have 1 hour - but not solve the problem.
- It's ok to ask questions. We like it when you ask us questions cos that shows you not a mindless drone.
- Communicate - cos we are also looking for a co-worker we can collaborate with. Also, we can't read minds. So communicate what you are doing as you code. It shows us you are following a plan.
- Even the most mysterious problems can be solved methodically. In a face to face interview, we are interested in your progression and process as much as the answer.
For extra brownie points:
- Show proficiency in your tools - your IDE and keyboard skills. Know how to operate your IDE and demonstrate that you know the keyboard shortcuts.
- Write tests to solve the puzzle. TDD is a super bonus point in my books.
- MVP the solution quickly and then refactor.
I don't expect all devs to do the above 3. However, they are indicators of competence and mastery.
Hope this helps you when you go into your next interview grind.