5 Tips for your Live Coding Interview
By: Michal Gurgul
Tags: Programming, Backend, Development, Engineering, Fintech

You’ve just received an invitation to attend a tech screening interview at Revolut. This is your moment to shine! It might feel like a lot of pressure — after all, you only have between 30 and 60 minutes to show the interviewers what you can do. They want to see your real-time problem solving skills, and you’re wondering what you can do to prepare for the unknown. To help you go into this interview with confidence, here are my five top tips on what you can do to prepare yourself to get the best results.

Be yourself

One of the main goals of the live coding interview is to assess how you deal with given requirements and provide solutions to problems as if it were a real task in your day-to-day work. Some candidates might try to show off with a TDD (Test Driven Development) approach, or experimenting with things they wouldn’t use in everyday practice. This can be a mistake, as it often pulls all their focus into the technical problems of writing and debugging code. Instead, you should focus on your tried-and-tested methods of working to deliver a working and tested MVP (minimum viable product) solution, which you’ll then have space and time to improve and refactor before the end of the interview.

One step at a time

The task at hand will probably have several steps that you’ll need to complete, and your time will be constrained. Remember that this is a simulation of your day-to-day work, so approach the problem logically and break it into manageable chunks. It’s better to deliver some working functionality than to start many different little tasks and leave them all incomplete. Start with a plan, so you can better control the quality of your work in the time you’re given.

Think loudly

There’s no such thing as a stupid question. As a developer, most tasks will require some degree of clarification from your requestor. When in doubt, don’t be afraid to ask whether your planned approach is correct before wasting time on implementing your own interpretation.

Don’t overcomplicate

Let’s assume that you get a task to implement a piece of code which tells you if a given number is prime or not. You don’t need defining interfaces, REST APIs, or multithreading. Instead, form a simple working solution which fulfils the requirement, but without the unnecessary overhead. Be careful not to cross the line between creating a minimum working solution, and writing untested code which just prints some output to the console. Once you’re done with the little things, there’s always something in the ‘interview backlog’ to deliver next.

Practice makes perfect

There’s always something to improve in the way we write code. While you can read countless books and articles about it, there’s nothing better than sitting down and spending some time trying things out yourself. Nobody is expecting you to memorise all the APIs and structures in the world, but having several years of experience doesn’t excuse you from being up to date with the most recent language syntax and concepts. Take the example of Java — it’s 2020 and not everybody is familiar with the concept of Optionals and null handling. The answer to these problems is practice.