TestGorilla LogoTestGorilla Logo
Pricing
homeblogsHiring & recruiting
How to conduct an online coding interview and assess developers

How to conduct an online coding interview and assess developers

October 4, 2024
How to conduct an online coding interview and assess developers featured image
Share

Online coding interviews are a convenient and cost-effective way to test your developer candidates—especially for remote roles. But without the right preparation, these interviews won’t give you the full picture of your candidates’ abilities. 

You’re making a decision that could impact your entire development team. The right hire means better productivity, innovation, and team cohesion, whereas the wrong choice can mean poor code quality, costly delays, and a demoralized team.  

So, how do you cut through the virtual noise and truly assess a developer's skills over the internet? Is it possible to create an online interview process that's fair, effective, and – dare we say – enjoyable for both sides? From preparation tricks to live coding strategies, we've got your back.

Key takeaways

  • For the best online interviews, create a structured interview process with clear evaluation criteria to effectively assess technical skills and problem-solving abilities.

  • Use reliable coding assessment tools to create a fair evaluation environment for all candidates.

  • Combine coding exercises with skills tests – including programming skills tests – to get a comprehensive view of a candidate's abilities.

how to conduct an online coding interview graphic

What is an online coding interview?

An online coding interview is a remote assessment of a developer's technical skills, problem-solving abilities, and coding proficiency. It's a big part of the tech hiring process, enabling recruiters and hiring managers to evaluate candidates' hands-on coding skills – regardless of where they’re located.

Unlike traditional in-person interviews, online coding interviews use coding assessment platforms and tools to create a virtual coding environment. This setup allows you to watch candidates write code, explain their thought processes, and demonstrate their expertise in specific programming languages or frameworks.

Online coding interviews can take various forms, including:

  • Live coding sessions with real-time interaction

  • Asynchronous coding challenges that don’t involve real-time interaction between the candidates and interviewers and completed on the candidate's own time

  • One-way video interviews combined with coding exercises

  • A combination of these approaches

Building a great online coding interview

For your online coding interviews to find the top talent, you’re going to need to lay a little groundwork first.

how to build a great online coding interview

1. Carefully define who you’re looking to find

Nail down what you're looking for. Are you after a front-end developer or a back-end specialist? Maybe you need someone who can juggle both? Define the specific skills and experience level you need. This clarity will guide your questions and help you spot the right talent.

For example, if you're hiring for a React developer role, you might prioritize:

  • Proficiency in React and its ecosystem

  • State management experience (e.g., Redux, MobX)

  • Knowledge of modern JavaScript (ES6+)

  • Understanding of responsive design principles

By focusing on the skills you really want, you’ll have an easier time coming up with coding challenges that perfectly test developers.

2. Choose a platform with advanced coding assessment features

Picking the right tools can make or break your interview. The right coding assessment tools are designed to offer a realistic coding environment. You’ll find it’s a lot easier to use them than trying to cobble together a set of disparate tools to test developers’ coding skills effectively.

Look for a platform that offers things like:

  • Ease of use for both interviewer and candidate

  • An integrated development environment (IDE) that feels like a realistic coding environment and supports multiple programming languages

  • The ability to run and test code in real-time

  • Screen sharing and collaborative editing options

  • Support for asynchronous coding challenges

  • Integration with other assessment tools, like skills tests and personality assessments

  • Practice questions and candidate onboarding to familiarize users with the platform

  • Detailed coding reports and timelines to review candidates' problem-solving processes

What you prioritize in a platform will depend on whether you want to conduct live or asynchronous interviews. 

Just remember: The platform should enhance – not hinder – the interview process. It should enable candidates to showcase their best work in a comfortable, familiar coding environment.

3. Create a structured interview process

Map out your interview stages. Your structure will vary depending on whether you're conducting live or asynchronous interviews.

For live online coding interviews:

  1. Introduction and rapport building (5-10 minutes)

  2. Technical questions to assess knowledge (15-20 minutes)

  3. Live coding exercise (30-40 minutes)

  4. Problem-solving discussion (10-15 minutes)

  5. Candidate questions and wrap-up (10-15 minutes)

For asynchronous interviews:

  1. Initial skills assessment (including coding challenges)

  2. One-way video interview questions

  3. Review of candidate submissions

  4. Follow-up live interview with top candidates (optional).

Having a structure covers all bases and gives candidates a clear idea of what to expect in advance. It also helps you manage time effectively – so you don't spend too long on one section at the expense of others. A structured interview process also gives all candidates an equal opportunity to showcase their skills, making it easier to assess them objectively.

4. Be transparent about the process

Invite candidates to your test and let them know what to expect. Share the interview structure, types of questions, and any specific tools they'll need. This transparency reduces anxiety and enables them to prepare effectively.

Provide information like:

  • The format of the interview (e.g., technical questions followed by live coding or asynchronous coding challenge)

  • Any specific programming languages or frameworks they should be prepared to use

  • The expected duration of the interview or time limit for asynchronous challenges

  • Whether they'll need to share their screen or use a specific coding platform

  • Any technical requirements (e.g., webcam, microphone, stable internet connection)

5. Start with a warm-up

Whether you're conducting a live interview or using asynchronous methods, it's important to help candidates feel at ease.

When performing a live interview, kick things off with some conversation. Ask about their recent projects or what drew them to programming. This helps candidates relax but also gives you insights into their passion and communication skills.

Try questions like:

  • "What's the most interesting project you've worked on recently?"

  • "How do you stay updated with the latest trends in [specific technology]?"

  • "What's a coding challenge you've overcome that you're particularly proud of?"

These open-ended questions can reveal a lot about a candidate's experience, problem-solving approach, and enthusiasm for the field.

For asynchronous interviews, look for a platform that offers:

  • A clear onboarding process

  • Practice questions or a sample coding challenge

  • A brief tutorial on using the coding environment

  • Options for candidates to customize their coding interface (e.g., color themes, font sizes)

(*You can also post the above questions as video questions in your asynchronous interview.) 

This warm-up process helps candidates familiarize themselves with the platform, reduces anxiety about the assessment, and allows them to set up their virtual workspace for optimal performance.

6. Assess technical knowledge

No matter which type of interview you’re doing, ask some coding interview questions to understand your candidates’ theoretical knowledge. 

For a live interview, ask them these questions in real time. For an asynchronous interview, be sure to use effective one-way video interview software

Mix it up with questions about:

  • Data structures and algorithms

  • Language-specific concepts

  • System design principles

  • Best practices and coding standards

The goal is to understand their depth of knowledge, not to trip them up.

For instance, you might ask:

  • "Can you explain the difference between let, const, and var in JavaScript?"

  • "How would you optimize a database query that's running slowly?"

  • "What's your approach to writing clean, maintainable code?"

These questions help you assess what they know and how they apply their knowledge.

7. The coding exercise

Now for the main event. The coding session is your window into how the candidate approaches real-world coding tasks, so it should be designed thoughtfully.

Present a coding challenge that's relevant to your work environment, ensuring it reflects the kinds of problems your team tackles daily.

Opt for open-ended exercises that allow for multiple approaches. This flexibility lets candidates show you their creativity and problem-solving skills. For instance, you might ask them to design a simple caching system or implement a basic version of a common data structure. These types of problems often reveal more about a candidate's thinking process than questions with a single "correct" answer.

It’s wise to include multiple test cases in your challenge. These should evaluate different aspects of the solution, such as efficiency, edge case handling, and code readability. This will help you gain a more comprehensive understanding of the candidate's capabilities.

When structuring your exercise, start simple and gradually increase complexity. This approach allows candidates to build confidence and demonstrates how they handle escalating challenges. You might begin with a straightforward task, like implementing a function to reverse a string. Then, progress to more intricate problems, such as optimizing an algorithm for better performance or debugging a piece of code with subtle errors.

For live coding sessions, encourage candidates to think aloud as they work. This verbal walk-through provides valuable insights into their problem-solving approach and communication skills. Be prepared to offer hints if they get stuck – how candidates respond to guidance can be just as telling as their initial approach.

If you're conducting asynchronous challenges, clarity is key. Set clear instructions and expectations, detailing what you're looking for in the solution. Provide a realistic time limit that allows candidates to showcase their skills without undue pressure. Consider offering a choice of programming languages, as this can help candidates feel more comfortable and perform at their best.

8. Evaluate coding and problem-solving skills

As they code, observe how they:

  • Structure their solution

  • Organize their code

  • Handle edge cases and error scenarios

  • Explain their thought process

  • Break down complex problems

  • Handle edge cases

  • Optimize their solutions

  • Debug and test their code

These insights are gold when assessing a developer's real-world capabilities. 

For instance, when doing a live interview, pay attention to how candidates react when faced with a challenge. Do they panic, or do they methodically work through the problem? Their approach here can be indicative of how they'll handle pressure in actual work situations.

Or, if you’re running an asynchronous interview, play back their code to see how it evolved from start to finish. This can give you insight into their problem solving, debugging tactics, and ability to refine their code. 

9. Use standardized evaluation criteria

Develop a clear rubric for assessing candidates. This might include:

  • Technical proficiency

  • Problem-solving approach

  • Code quality and efficiency

  • Communication skills

  • Ability to work under pressure

For instance, you might score candidates from 1 to 5 on each criterion, with 1 being "needs significant improvement" and 5 being "exceeds expectations." Here's an example for "Problem-solving approach":

  1. Struggles to break down the problem and needs constant guidance

  2. Can break down simple problems but struggles with complexity

  3. Adequately breaks down problems and develops solutions

  4. Efficiently breaks down problems and considers multiple approaches

  5. Expertly analyzes problems, considering edge cases and optimizations

Standardized criteria help you compare candidates fairly and help reduce bias. If you have multiple interviewers, then asking them to use the same criteria enables more balanced and objective assessments. 

🔎 For more on this approach, check out our guide on interview scorecards

10. Provide constructive feedback

Whether your candidates ace the test or struggle, offer helpful feedback. This helps them improve and leaves a positive impression of your company. Who knows? Today's runner-up could be tomorrow's perfect hire.

When giving feedback:

  • Be specific about what they did well

  • Offer constructive suggestions for improvement

  • If possible, provide resources for further learning

  • Thank them for their time and effort

Even candidates who don't get the job can become ambassadors for your company if they have a positive interview experience.

Online coding interviews with TestGorilla

Not sure which platform to use for your online coding interview?

TestGorilla is a talent discovery platform that takes coding interviews to the next level, offering a complete solution that evaluates candidates' coding skills, cognitive abilities, and ability to enhance your company culture – all in one go.

Cutting-edge coding assessment features

Example of TestGorilla's coding assessment features

TestGorilla's platform packs some serious punch when it comes to conducting asynchronous coding interviews:

  • Language-agnostic tests: TestGorilla enables you to create coding challenges where candidates can pick from multiple languages. You choose which of the languages to make available. This means that candidates can code in their preferred language so you can see their true problem-solving skills shine.

  • A configurable IDE: Candidates can personalize their coding environment. They choose their color theme, window size, and font size - just like they would in their own setup.

  • Practice questions and smooth onboarding: Candidates get familiar with the platform through an onboarding flow and practice questions. This helps them perform at their best when it counts.

  • Detailed coding reports: After the test, you get a full breakdown of the candidate's process, including a coding timeline – which enables you to play back their coding process. You get to see how they approached the problem, when they switched languages, or if they pasted any code.

  • One-way interview technology: You can use this to ask candidates interview questions. 

The best part about asynchronous coding interviews? Candidates can complete them on their own time, and you and your hiring team can review them on your own time. 

Coding test TestGorilla screenshot

Other skills-based tests and more

That’s not all. TestGorilla gives you even more powerful tools to find top tech talent:

  1. Pick from hundreds of validated programming tests covering a range of languages (e.g., Python, JavaScript) and frameworks.

  2. Use TestGorilla's role-specific test recommendations to ensure you're assessing the most relevant skills for each position.

  3. Create custom assessments where you mix coding tests with cognitive tests, personality assessments, and more for a 360-degree view of each candidate. For instance, add tests that assess soft skills to evaluate important non-technical abilities like communication and teamwork.

  4. Use TestGorilla's anti-cheating measures to ensure the integrity of your pre-employment testing process.

  5. Incorporate video interview questions into any test.

  6. Compare candidates fairly with standardized scoring.

  7. Analyze the in-depth reports and analytics we offer you on every candidate.

Hire the right developers with TestGorilla

Online coding interviews are perfect for finding the diamonds in the rough who can write the code that’ll propel your company to new success.

Testing platforms like TestGorilla enable you to put together the perfect online coding interview and screen candidates fairly and efficiently. So don't let great talent slip away. 

Start your free trial today and see how TestGorilla helps you build an outstanding development team. You can also book a demo with our experts, take a product tour to explore all our features, or peruse our test library.

FAQs

Why do companies do online interviews?

Online interviews offer flexibility, cost-effectiveness, and access to a global talent pool. They enable companies to efficiently assess candidates' skills, saving time and resources while reaching top developers worldwide.

What are the strengths and weaknesses of online interviews?

Strengths include wider reach, time efficiency, and standardized assessment. Weaknesses involve potential tech issues, challenges in reading body language, and the need for candidates to have a reliable internet connection.

Can test-takers look things up during an online coding assessment?

For some coding assessments, test-takers are allowed to look up a limited set of resources, just like they’d be able to do in the real world. Others restrict the use of external material so that the focus is entirely on the candidate’s core knowledge and problem-solving skills.

Share

You've scrolled this far

Why not try TestGorilla for free, and see what happens when you put skills first.

The best advice on pre-employment testing, in your inbox.

No spam. Unsubscribe at any time.

TestGorilla Logo

Hire the best. No bias. No stress.

Our screening tests identify the best candidates and make your hiring decisions faster, easier, and bias-free.

Free resources

Checklist
Anti-cheating checklist

This checklist covers key features you should look for when choosing a skills testing platform

Checklist
Onboarding checklist

This resource will help you develop an onboarding checklist for new hires.

Ebook
How to find candidates with strong attention to detail

How to assess your candidates' attention to detail.

Ebook
How to get HR certified

Learn how to get human resources certified through HRCI or SHRM.

Ebook
Improve quality of hire

Learn how you can improve the level of talent at your company.

Case study
Case study: How CapitalT reduces hiring bias

Learn how CapitalT reduced hiring bias with online skills assessments.

Ebook
Resume screening guide

Learn how to make the resume process more efficient and more effective.

Recruiting metrics
Ebook
Important recruitment metrics

Improve your hiring strategy with these 7 critical recruitment metrics.

Case study
Case study: How Sukhi reduces shortlisting time

Learn how Sukhi decreased time spent reviewing resumes by 83%!

Ebook
12 pre-employment testing hacks

Hire more efficiently with these hacks that 99% of recruiters aren't using.

Ebook
The benefits of diversity

Make a business case for diversity and inclusion initiatives with this data.