I am not a fan of standardized tests

I grew up in an environment that highly emphasized standardized tests, in which the only (almost) way to college is through an annual national standardized college entrance exam(Gaokao). The exam is highly competitive and brutal, and many people in their 40s or 50s have told me they still have flashback dreams about it. I’m personally not a fan of standardized tests after grinding through my high school time for the exam.

Standardized tests don’t only exist in school. LeetCode questions are a very common type of coding interview for anyone who wants to get a technical role in tech firms. The interview format is generally conducted as follows:

  • The interviewer selects one or two questions from Leetcode or their company’s question bank, and shows it to the candidate.
  • The candidate needs to live code the solution to the questions within 20 to 30 minutes and walk the interviewer through their solution.
  • Most questions are about data structure and algorithms, which are not used in the daily work of most tech roles.

If the description above is not very intuitive to you, the following video is what LeetCode interview feels like:

Luckily, I didn’t spend too much time on LeetCode questions when I interviewed for my previous technical jobs, and I thrived in my roles for solving real-world problems instead of LeetCode problems. I’ve enjoyed learning through working more than my time in school. For a long time, I thought that the LeetCode question is a dated and useless way to evaluate candidates, and it will soon go obsolete especially after the advent of GenAI.

Sometimes we need to take the tests

In 2024 and 2025, nevertheless, I have encountered a few prospective jobs that require a candidate to pass a LeetCode style interview. I was initially hesitant to consider accepting a LeetCode style interview since it requires me to invest a decent amount of time to prepare. However, I later accepted the interviews given how bleak the job market has been since 2023 and how much I was interested in the roles.

7Sage LSAT prep dashboard looks very similar to LeetCode dashboard

It took me months (on and off) to review Data Structure and Algorithm concepts and follow popular structured online roadmap (like Neetcode) to feel comfortable with LeetCode questions. Meanwhile, my girlfriend Laura was preparing for her LSAT test, and we talked about our feelings and learning throughout the process. I passed almost all LeetCode rounds in interviews and I have some new takes on standardized tests.

My new takes on standardized tests

Standardized tests are unavoidable

Let’s be honest: a good admissions/recruiting process is very hard to design. If I ask the following questions, I think most people will have answers similar to mine:

  • Do I think LeetCode, LSAT, or Gaokao is the best way to select talent? (My answer: No)
  • Should there be some standardized or bespoke process to select talent? (My answer: Yes)
  • How hard is it to define and design a good process to select talent? (My answer: extremely hard)

Ideally, a recruiting process or admissions process should be carefully designed and up-to-date to select the best talents. But the process can easily evolve in a way to optimize for the KPI of standardized tests instead of the actual objective. For example, LSAT questions have become increasingly more difficult over time as prep materials become more accessible and private tutoring services more comprehensive. The increased difficulty of the LSAT does not necessarily guarantee that law schools will select the best talent or prepare prospective students for their future studies. However, building a new paradigm (like a reformed LSAT) and having most schools and students adapt to it would likely take years if not decades. Before a better process is built, prospective students have to play the game.

Try to take most out of a standardized test

Even though it might not be the best use of your time, there’s something you can gain from a standardized test.

Many people agree with me that the problems encountered in LeetCode are mostly irrelevant to the actual job. I am against learning or doing things that don’t enhance someone’s capabilities or happiness. That’s why I initially did not want to invest much time in it.

However, I actually found some joy and self-improvement throughout my LeetCode journey. I changed my mindset by treating Leetcode as a computer science puzzle instead of a means to a job. Since I majored in mathematics and statistics in college and graduate school, my perspective on programming came from the lens of a mathematician and statistician. When I started reviewing data structure and algorithm knowledge, and applied them to Leetcode questions, I gained quite different ways of thinking about problems: thinking like computer scientists and engineers.

A month ago, when I picked up a book at my local library, I got a bookmark from the front desk. The back of the bookmark is a word search puzzle, which instantly triggered me to think about a programming solution through backtracking. Some might argue Sudoku and word puzzles will not be fun anymore if I choose to think and solve them programmatically. I partially agree with that, but I also find it enjoyable to develop a different perspective or identify another approach to a problem.

If we have to pass certain standardized/pseudo-standarlized tests for something we try to achieve in life, why not treat it as a game or make it as fun as possible?

Live coding interviews should serve as a filter

I don’t think LeetCode questions are good at evaluating candidates’ technical capability, but they do somewhat correlate with candidates’ coding skills. As I mentioned in my previous post, I have encountered candidates who are incapable of writing basic code. Due to GenAI or the failure of the education system, candidates need to prove they know how to program during an interview process. But I consider knowing how to program as a binary filter to weed out unsuitable candidates instead of a capability test. Especially now that AI coding tools can solve LeetCode questions and write hundreds of lines of code within a minute, the job of a human engineer is not to write code anymore. At least for now, humans are still better at logic, solving complex problems, and being creative.

I think employers and hiring managers should prioritize a candidate’s potential and motivation, because talent will grow with the company in the long term. However, building a fair and standardized process to evaluate those qualities is more challenging than technical or knowledge based interviews. In my interview with Google, I encountered a round called General Cognitive Assessment, which is supposed to assess a candidate’s general problem-solving capability. However, I think it could be very arbitrary and subjective.

Conclusion

There are chores in life we cannot avoid like paying taxes, taking exams, and washing clothes. Sometimes, our hatred towards these annoying chores drives us to innovation—like creating washing machines. I don’t think standardized tests will go away any time soon, but I do dream of the day in which I no longer dream about Gaokao lol.