Practical Coding Interviews
What are practical coding interviews?
Types of practical coding interviews
I have generally seen two types of practical coding interviews:
- Pair-programming. Usually you're writing the code and screensharing (or projecting your screen if in person). It's up to the company/interviewer how much they will participate in the exercise.
- Take-home tests. You're given an assignment to complete on your own at home without someone looking over your shoulder.
How to prepare for practical coding interviews
The nice part about practical coding interviews is that, if you're currently working in the industry, you're likely practicing for this type of interview every day at your current job. That being said, there are some specific steps you should still take to prepare for these interviews.
Ask a few questions ahead of time
When you find out from your recruiter that you'll have a practical coding exercise, be sure to ask them the following clarifying questions:
- What environment will I be using? Some companies ask you to use a shared, online environment (e.g., CodeSandbox) while others will have you use your local machine and screen-share. Whatever the answer, be sure to practice in that environment.
- Am I expected to use a particular language or tech stack? For Leetcode-style questions, you can usually use whatever language you want. For practical interviews, I have seen a bit less wiggle room. A React company might want to build a React app with you, a Django company might want to build a Python API with you. Make sure you know what the company expects.
- Can I use external libraries? Most practical challenges I've done don't need external libraries, but it's usually good to clarify this ahead of time.
- Can I use Google? Many companies don't care if you use Google for these challenges. After all, they're trying to see how you would work in the real world and in the real world we use Google quite a bit.
Be very careful to meet all requirements
Make sure to read requirements carefully and continually check back in on them. When you're finished the assignment, ask the interviewer if we can step through the requirements to make sure they're all met correctly.
Find out if you're expected to write tests
In the real world, we write automated tests for our software. In practical coding interviews, this is much less of a certainty. This could be something you ask of the recruiter ahead of time, but at the very least be sure to ask during the interview.
Find out if the interviewer wants this to be a collaboration
They might just want to watch you code, but it's also possible they want to know what it's like to work collaboratively with you. I actually prefer the collaborative model: it gives you a chance to show off your communication skills, proves you'd be a great colleague, and keeps your interviewer engaged.
Practical problems are very domain-specific. That being said, here are some examples you can practice building based on your discipline.
- Build a CRUD API
- Implement specific business logic in a function or class
- More TBD
- Write an app that fetches data from an API and displays it on the page
- Create a loading bar
- Create a slider component
- Create an image carousel
💌 Subscribe to the newsletter!
I'm beyond excited to announce the launch of the InterviewGuide.dev Newsletter. In this free newsletter, I'll be sharing:
- Additional interview tips
- Curated jobs + other opportunities to land tech jobs
- Ways to get feedback from me directly
No spam. Unsubscribe any time. Sound good?