Coding interviews are tough. They're traditionally the toughest challenges in recruiting. And if your hiring process can't get this right then you will never be able to scale your software team to compete and win. You can win by finding and hiring talent that other companies have not identified in the technical talent arms race.
In an age where the best job opportunities are more than just coding skills, technical interview tools are gaining popularity. These online platforms allow candidates to show off their problem-solving skills by completing real engineering work that can be simple or complex depending on the role and experience level requirements.
Variants of the code interview online engage the computer engineering candidate in using an online coding editor to do assigned coding tasks. Sometimes, an online compiler makes the interview available in a wide choice of programming languages such as C++, Java, or Python. Online code-sharing and an online code runner (to test the code created) add to testing options.
If your company is considering an online coding interview for your hiring process, then you have a decision to make. Many coding interview websites offer an interview platform, coding practice, and sample coding questions. Here are a few examples:
- Tests may focus on routine code-writing tasks, which provide evidence of ability to write code in a programming language but with little or no evidence of ability to use code in defining and solving real problems.
- Some online coding sites offer tests—or just choices of questions usable to create tests—but little in the way of customer service. Woven's engineering staff is involved from end-to-end of the assessment process, identifying your company's distinctive hiring goals, selecting tests appropriate to the role, involving seasoned engineers in assessing test results, and providing objective feedback on performance to the candidates.
- Online coding sites may specialize in formats like "pair-programming" (the interviewer and the candidate together on the screen addressing problems). Unfortunately, this situation divides the focus of the test between candidate coding and candidate need to impress the interviewer in other ways. Woven's model recreates the real-life context of the computer engineer’s work-related coding challenges.
Coding interview questions practice
Most tech companies that are building development teams and competing for talent have turned to the online coding interview. The goals are to: 1) cast a net for candidates with skill levels that the company requires and 2) rapidly and efficiently narrow the pool to technically qualified candidates, who are then interviewed for suitability in the company's culture, development team needs, etc.
Here are the first dozen questions from 100+ Coding Interview Questions for Programmers on the CodeBurst.io site:
- How is a bubble sort algorithm implemented?
- How is a merge sort algorithm implemented?
- How do you count the occurrence of a given character in a string?
- How do you print the first non-repeated character from a string?
- How do you convert a given String into int like the atoi()?
- How do you implement a bucket sort algorithm?
- How do you implement a counting sort algorithm?
- How do you remove duplicates from an array in place?
- How do you reverse an array in place in Java?
- How are duplicates removed from an array without using any library?
- How is a radix sort algorithm implemented?
- How do you swap two numbers without using the third variable?
Of course, how candidates practice for coding interviews varies. But some experts suggest these five basic kinds of practice:
- Write code on a piece of paper or whiteboard.
- Read up on language specific trivia.
- Don't be afraid of algorithmic thinking.
- Write down your mistakes.
- Schedule a lower-stake interview first.
They also warn that "interviews for programming jobs aren't like most interviews you hear about. There's less, "What is your greatest weakness?" and way more code… on the spot, right in front of your interviewer. And if that sounds terrifying to you, you're not alone."
Online Python compiler
Coding interviews use the best-known programming languages. Sometimes, candidates are given their choice of a language for the interview and interviewers will limit their questions to that language. For coding interviews that focus on one language, Python is a very common option.
A general-purpose programming language created by Guido van Rossum and released in 1991, Python has become a prime choice for web development. Almost anything can be built with it: mobile apps, web apps, tools, data analytics, and machine learning. Rossum intended it to be simple and easy, “like the English language.”
A Python online compiler (there are many) enables the user to write, run, and share Python code online. Online compilers are also called Python online interpreters. Different brands of Python language compilers offer different features supporting both Python 3 and Python 2.7. Most of the compilers support libraries for different Python functions such as machine learning or visualization.
There are many reasons for Python's popularity as a language in the coding interview space. One is that Python makes it easy to quickly mock up an algorithm for a question, making it ideal for whiteboard interviews where candidates are asked to write code on the spot.
Online code editor
The essential tool for online code testing is the online code editor. It’s also the primary tool for software developers, who need a text editor to turn ideas into code. There are a number of online code (or text) editors that enable engineers to code from any computer with internet access.
Here are the most common online code editors:
CodePen is regularly reviewed as fast and easy to use, and enables web developers to write and share widely-used code like HTML/CSS/JS. It’s also free; you don’t even need to open an account. Anyone can start writing code to create a new web application straight from the browser.
CodeShare is a live code editor. Software developers use it to code share online and troubleshoot code together, and many teachers use it to show students how to code in real time. CodeShare enables syntax highlighting in some 50+ languages. Some find that when working remotely with colleagues, CodeShare’s video chat option is invaluable.
CodeInterview is purpose-built for online coding interviews with pair-programming. The interviewer uses CodeInterview to send the candidate an invitation link to join a pair-programming session. They share the same pad, with the interviewer giving the candidate tasks. The interviewer and candidate can also have a video call.
LeetCode is focused on the candidate, not the interview. It’s a website where software engineers go to practice their coding skills in preparation for an interview. There are hundreds of code questions ranked from easy to hard, and you can even use Leetcode to develop your own online coding test.
Write code online
As you might have guessed, there are some serious limitations to coding interview websites for candidates, HR departments, and engineering professionals wanting to advance their recruitment objectives.
We mentioned that CodePen is an online social development environment where learners can share their work easily with others. In fact, the site is sometimes recommended for children who want to learn and practice coding; it is a great site for beginners. One notable shortcoming is that it does not have a debugger, which professionals routinely use in the field of software development.
CodePen is a decent place for candidates to practice the basics of coding and creating projects. It doesn’t offer much to senior computer engineers. There are dozens of CodePen alternatives online for those who seek a different level of coding experience.
CodeShare, with its special emphasis on online code sharing among users, could provide a setting for job seekers to prepare for interviews. But it does not create online coding tests or work with companies to create and administer tests. Those who do their work on CodeShare must not forget that you can’t save your work there permanently. After two weeks, the shared code will be deleted from the website.
Unlike CodePen and CodeShare, CodeInterview is devoted to online coding interviews using pair-programming. However, it does not create tests or score and evaluate them. In short, CodeInterview is not a company that provides online code testing as a service; it’s simply an option for hosting the technical interview.
LeetCode was created to help software developers ace the technical skills tests of companies like Amazon, Microsoft, Facebook, and others. But it is limited by its singular focus on using algorithms to set up problems. As a general source of preparation for online coding tests, LeetCode is much too narrow for most candidates.
Code interview questions
Coding question banks, code-interview practice sites, lists of common code interview questions—all are available online for computer engineering job seekers. But do they provide the knowledge, practice, and confidence a candidate needs to ace the technical interview?
Because many technical interviews are conducted by phone or in-person, the goal is to gauge the candidate's knowledge of the field by asking for explanations of technical vocabulary. And the candidate can prepare their answer by simply memorizing terms.
But knowing the meaning of technical terms does not equate to technical skill. Real skills can be tested only by observing them in practice. You cannot evaluate a high jumper by asking questions.
Typical interviews for freshers in the field of computer science might include the most common 2021 computer-science questions:
- What is a file?
- What is a class?
- What is an object?
- What is a constructor?
- What is the different OOPS principle?
- What is inheritance?
- What is polymorphism?
- What are the instance and class variables?
- Compare method and constructor.
- What is a singleton class?
Most candidates are comfortable with coding questions for beginners because they require unambiguous definitional answers—there’s no demonstration of technical skills and competencies.
Questions like these, almost universal in the technical interview for computer engineering positions, are used because they can be answered in both traditional telephone interviews and in-person interviews. What they cannot do is assess the technical skills of candidates, which involve knowledge applied in programming language to realistic problem-solving challenges. Woven has developed a technical assessment platform to do just that.
Best online code editor
As online code editors have proliferated, they have become highly duplicative. And although this technology has made it possible to assess the technical skills of computer engineers, today, the online coding interview must be specialized—as specialized as engineering itself.
Woven's online platform focuses on bringing you the talent you need. Our tool goes beyond the online coding challenge and is a technical interview:
- Created in consultation with your company
- Administered to all candidates identified by your company and Woven
- Scored and assessed by Woven's network of engineers using our Engineer Evaluation Engine
- Offering specific recommendations and unbiased feedback to each candidate
We focus on uncovering the best tech talent by asking candidates to define and solve real-life problems—problems they will actually tackle at your company. Woven’s assessment tests skills in essential categories of engineering, including debugging, technical communication, systems thinking, front-end development, and back-end development.
Given the challenge of assessing technical skills in a real-life context, Woven does not favor pair-programming. We don’t use multiple-choice terminology questions. We know that coding, using tools, and setting up and solving problems is often informative of technical skills, logic, and imagination.
Plus, candidates welcome our online coding challenges. Of those invited to take the test, some 90% accept.
To learn more about how Woven assesses technical skills and finds hidden talent, we invite you to start a free trial. When you’re ready to talk specifics, our engineering staff will begin by talking through your needs and objectives. Check back here regularly for information, insight, and updates on finding, assessing, and hiring top tech candidates.