What Is CodeSignal?
Full disclosure, I took the real thing and scored a 712 . For this specific company, that was enough to progress to four real interviews with people, all of which would occur on the same day. I was inspired to share this detail after reading a very bizarre viral article here. I don’t mean to bash on the writer: He improves at chess by hundreds of points in hours, propelling himself to the 80th percentile of chess.com. But 1221? Who would boast about a 1221? He even compares himself to Elizabeth Harmon, the fictional world chess champion in a Netflix series, and writes a series of self-improvement tips as if he were at the master level. On the other hand, I appreciate the honesty. He could have easily just talked about how many points he improved by, or flat-out lied, or kept the minor detail hidden at the bottom.
The rage I feel about someone boasting about a 1221 is the rage other people will feel if I boast about a CodeSignal 712. CodeSignal is a very popular tech company that asks candidates to solve a 4-question coding assessment in 70 minutes. Candidates are then given a score designed to resemble a credit score.
If you learn nothing else from this article, please take this: Question #1 will be very easy, and question #3 will be very hard. You really do not want to miss question #4 just because you were trying to score on question #3.
Why Is CodeSignal Important?
CodeSignal certainly sounds good on paper. It successfully raised $50M in late 2021, is used by companies including Brex, Databricks, Facebook, Instacart, Robinhood, Upwork and Zoom (from the article), and was designed to remove hiring bias. You take the test, you get a score. Factors such as nationality, college, and other things are taken out of the equation.
The criticism?
This comment appeared on Reddit about a year ago, though sampling r/cscareerquestions for opinions on a coding interview platform is a little bit like sampling r/gameofthrones for opinions on season 8. I find that Reddit opinions on CodeSignal are generally negative, yet prestigious companies are still using it. There must be something to CodeSignal.
Want to see how good you are? You can take a practice test right now. Practice tests are a very good indication of how hard the real test actually is, and you can take them again every 24 hours. What they do not provide is the ability to review questions, which is exactly what you get on something like LeetCode.
Tips From Someone in the 700s
- If you are in the 800s, feel free to comment with your score and what YOUR tips are
- If you take enough practice tests, you will begin to see questions you have already solved. In my experience, this is not the case on the real thing — they pull from a different pool. This makes sense
- #1 is like a Fizzbuzz problem. You will want to score points on this. With enough practice, you may be able to score perfectly on it in a couple minutes
- #2 and #4 are usually between a LeetCode easy and a LeetCode medium. I think that the two-pointer technique and the sliding window technique are very useful in these
- #4, in my opinion, is where you make your money. There is a probability that you will receive a very trivial #4 that you can simply solve by knowing how to sort an array (in C++, for example, this is std::sort(vec.begin(), vec.end()). There are exceptions — I scored perfectly on #2 recently. #2, in my personal experience, can be a little harder to take to a perfect 300
- It matters a lot how many questions you score perfectly on, or nearly perfectly on. Getting two 150/300s is not the same as one 300 (more details here)
- Know how to use your languages substr (I think Java is better than C++ when it comes to intuitive substr calls. Why would C++ take the size?), and know how to use hashmaps
- If you flood the console with print statements, it will just print nothing
My Opinion
CodeSignal is simply a reflection of all the good and bad things with coding interviews in general. The main complaint I hear is that you can get lucky — I can attest to this, since I score 800s on practice tests about 10% of the time.
But luck is always a factor in coding interviews. It is definitely a factor in standard CoderPad interviews…the difference being that you get four draws, instead of one.
The other problem with CodeSignal is a little harder to reconcile — no one is watching you to talk and assess how you solve a problem. Arguments that coding interviews assess general problem-solving ability go out the window with this. The speed metric is also strange, and efficiency does not always matter. It is nice that you at least get text highlighting and autocomplete to work with, but this is far from a perfect test.
Closing Thoughts
I did not know what to put here, so here is a samoyed eating a watermelon.