How to Cheat at Coding Interviews, Phone Screens or Online Assessments: An In-Depth Guide

By
on

Leetcode interviews have become a significant part of the hiring process in the tech industry. Coding interviews, phone screens, and online assessments are supposed to evaluate a candidate’s problem-solving skills, coding proficiency, and algorithmic thinking. While many candidates prepare rigorously for these interviews, sometimes even for months, many engineers are critical of this style of interviewing. We created a simple desktop application to solve this problem.

Opening Image

Mismatch in the industry

A lot of engineers spend a significant amount of time studying Leetcode, only to later discover that their day-to-day engineering work does not at all match up with the problems that they practiced for their interview preparations. Leetcode-style interviewing fails to accurately measure engineering skills.

Manipulating a binary tree, applying breadth-first search or using dynamic programming are all well known methods of solving Leetcode problems. But are these programming concepts actually used during real world scenarios? The answer is often a resounding no. Unless you’ll be working on some hyper specific problems, the chance that you’ll ever need to use these methods outside of the interviewing process are rare.

Displaying your skills

The current tech market is rough. The amount of layoffs is at an all time high. It’s close to impossible to land an internship these days and many entry level position are receiving thousands of applications. The average amount of job applications it takes to land one single interview is upwards of five hundred.

The graph below from the Federal Reserve Economic Data database shows the job postings on Indeed for Software Engineering jobs in The United States. As you can see they're at an all time low.

Job Openings Graph

Let’s take a look at what the usual interview process for most tech companies looks like at the moment:

1. HR screening

This is usually a pretty easy round. Most companies use this to check if the person they are speaking to actually matches the resume they received. In most cases this interview will be with someone from the HR department. Together you will discuss your career history and make sure your (salary) expectations match up to the role you will be following the interview process for. Make sure to keep your answers professional and straight to the point. You should not tell this HR person your entire life story.

2. Live coding round

After you successfully complete the initial HR screening you will be invited to a live coding round. This will usually be with one or two experienced engineers. The process is often quite simple: you join an online meeting, everyone introduces themselves and then you will receive a link to a live coding interview platform such as HackerRank, CoderPad or Codility.

HackerRank Image

These platforms all function in a similar fashion. On one side you will see the description of a coding problem and on the other side an IDE where you will have to type a solution to this problem.

Most companies have a large question bank from which they pick two or three questions for your interview. From our experience it’s common to receive one medium and one hard question or one medium question that turns into a harder one after the interviewer adds additional requirements. If you get lucky you might get an easy difficulty question.

Most engineers fail during this step. From talking to interviewers at various FAANG companies we know that the passing rates for live coding rounds are between five and ten percent.

3. System design round

If you are one of the few lucky ones that makes it through the live coding round, you will be invited for the system design round. In a system design round you will be tasked with designing a small system or part of a larger system at a higher level. This interview will usually take place on an online whiteboard platform such as Miro or Excalidraw.

Being good at system design takes some engineering experience, but it can be practiced. We recommend Grokking Modern System Design Interview for Engineers or Neetcode's course for this.

Make sure to ask plenty of clarifying questions during this round. You should fully understand the problem before starting on your proposed solution. Ask about things such as scale, amount of users, requests per seconds and other business requirements.

4. Culture Round (Behavioral Interviews)

When you’ve passed both the live coding round and the system design round, it’s all smooth sailing from here on out. Screwing up in the last step of the interview process, is way harder.

In the culture round you’ll be matched with slightly less technical people such as product owners, designers, project managers or someone from human resources. But this varies from company to company.

During this round it’s very important to have prepared the following two things:

  • Understanding and being able to apply the values of the company you’re interviewing with. These can usually be found on their website.
  • A story bank of at least five to ten stories of experiences from your career written in the STAR format. It’s impossible to prepare for every possible question you may be asked, so having a story bank of various scenarios you can fit to the questions is a must.

5. Offer

Congratulations. You’ve made it to the end. Now all that’s left is waiting for the offer and possibly some negotiating. Make sure to check Levels.fyi or Techpays.eu if you’re in Europe to see if the total compensation package that’s being offered is in line with your experience and skills. A large part of the total compensation package of engineers is usually made up of RSU’s (Restricted Stock Units). These usually have a one year cliff (build up period) and a four year vesting period. Make sure to thoroughly check the details of this in your offer and optionally consult with a financial advisor about the tax implications of these RSU’s.

As you can see, this interview process is very long. In most cases taking anywhere from four to eight weeks. Including preparations and delays, it can take months before you get to the final stage.

Leetcode Wizard

After years of seeing great engineers being rejected for their dream jobs because they got unlucky during a coding interview, we concluded that something needed to change. We started theory crafting and came up with the idea for an application that would allow any engineer to pass a coding interview.

The tool we built is called Leetcode Wizard. An AI-powered tool designed to assist candidates in solving coding problems during technical interviews. Here’s how it works:

  1. Problem Recognition: Leetcode Wizard can recognize problems by analyzing their descriptions and identifying key elements. This allows it to understand the problem’s requirements and constraints.
  2. Algorithm Suggestion: Based on the recognized problem, Leetcode Wizard generates a list of possible algorithms that can be used to solve the recognized problem using its extensive library of algorithms and data structures.
  3. Code Completion: The tool can complete partially written code or provide full implementations, ensuring that the user has a fully working solution. It will also add comments to the solution to make it easy to understand and explain to during an interview.
  4. Tests and Complexity Analysis: After supplying you with a completed code solution for the problem, it will give you a list of tests that you can use to show your interviewers that all edge cases are taken care of. At the end of a coding interview, it is common to be asked for a complexity analysis using Big O notation by your interviewers. Our tool will supply you with the answers and an explanation of the provided complexity for this.

Using Leetcode Wizard to Cheat in Coding Interviews

Here’s a step-by-step guide on how some candidates use Leetcode Wizard to cheat during different stages of the interview process:

Preparation Phase

Before the actual interview, candidates often prepare by practicing common coding problems. Leetcode Wizard can be used extensively during this phase to understand various types of problems and their solutions.

  • Familiarization with Common Problems: Candidates can input a wide variety of problems into Leetcode Wizard to get familiar with their solutions and explanations. This helps them recognize similar problems during the interview.
  • Learning Patterns: By studying the solutions provided by Leetcode Wizard, candidates can learn common coding patterns and techniques, which they can later use in the interview.

Phone Screens

Phone screens are usually the initial step in the interview process. During these interviews, candidates are asked to solve coding problems while explaining their thought process over the phone.

  • Real-Time Assistance: With Leetcode Wizard open on a separate device or window, candidates can input the problem statement and receive an instant solution. They can then paraphrase this solution as if it’s their own thought process.
  • Code Explanation: Leetcode Wizard provides detailed explanations for each step of the solution. Candidates can use these explanations to articulate their reasoning to the interviewer, making it seem like they have a deep understanding of the problem.

Online Assessments

Online assessments are proctored exams where candidates are given a set of coding problems to solve within a specific time frame.

  • Quick Problem Solving: By having Leetcode Wizard open and ready to scan your screen, candidates can get immediate solutions and submit them within the assessment platform. This drastically reduces the time spent on each problem and guarantees a valid solution.
  • Code Modification: To avoid suspicion, our tool will rewrite and humanize the code. This makes it appear more original and impossible to be flagged by plagiarism detection systems.

Technical Interviews

Technical interviews are often conducted on platforms like HackerRank or CodeSignal, where candidates write code in real-time while being monitored by interviewers.

  • Parallel Problem Solving: Leetcode Wizard will provide you with a list of valid solutions and you can pretend to solve it manually on the interview platform. There is no copying of code involved, making it look like you solved it yourself.
  • Undetectable Hotkeys: Our tool can be fully controlled using undetectable hotkeys that run at a privileged level. This makes it impossible for the coding platforms, that often run inside a browser, to detect our tool being controlled.

Conclusion

Coding interviews are broken. Passing them is largely a matter of getting lucky and being presented a coding problem you have seen before. If you get unlucky you’ll be back to sending out another hundred applications and hoping you’re able to land another interview. Leetcode Wizard makes it easy to skip the live coding part and level the playing field.

Click here to download and try Leetcode Wizard for free.