Posted by swisspol 4/5/2025
Even before AI you would have candidates of varying skill level so your coding questions should have always scaled depending on the skill of the candidate.
The purpose is not to check if you've memorized some algorithms - it's to verify that you're capable of mentally constructing the model of a problem in your head, thinking through it in a structured way, etc.
Giving a candidate access to AI doesn't eliminate the need to do that.
Instead, our process starts with a one-hour technical conversation. We talk through the candidate's experience, how they think about systems and products, and dig into technical topics relevant to our stack (Ruby on Rails). This includes things like API design, ActiveRecord, SQL, caching, and security.
If that goes well, the next step is a collaborative pull request review. We have a test project with a few PRs, and we walk through one with the candidate. We give them context on the project, then ask for their feedback. We're looking for how they communicate, whether they spot design issues (like overly long parameter lists or complex functions), and how they reason about potential bugs.
This has worked really well for us. We've built a strong, pragmatic engineering team. Unfortunately though, none of us now remember how to invert a binary tree without Googling it..
If you have job requirements that extend beyond “trivially completable with AI” ask questions that aren’t trivially completable with AI.
The Leader of the LeetCode Rebellion: An Interview with Roy Lee (70 points, 9 days ago, 44 comments) https://news.ycombinator.com/item?id=43497848
I got kicked out of Columbia for taking a stand against LeetCode interviews (20 points, 9 days ago, 18 comments) https://news.ycombinator.com/item?id=43497652
If they seem to be reading intently, that’s a flag. If their answers are fluffy and vague and then get very specific, that’s a flag.
Tools like this might not show up on shared screens, but people who use them behave unnaturally. It’s pretty obvious if you know what to look for.
I’ve been doing dozens of technical interviews per month and it’s pretty clear when the person is Googling answers or using some ai tool.
For our business we don't use Leetcode, the future looks something like paid bounties and in person interviews.
tinycorp from George Hotz does the very same thing of paid bounties to get hired there.
The highly talented people will do this for fun, while those who aren't will self select themselves out.
No?
People who have time AND enjoy doing this sort of thing in their free time will do this for fun. That’s the self-selection, then from this pool talent hopefully gets translated into results.
Why reduce your pool to “free time and enjoy doing bounties in free time”? That’s excluding many talented people. I’ll also point out that it’s discriminatory: single childless wealthy men tend to have a whole lot more free time (for example women do most of the unpaid care work in all countries, leaving a whole lot less time for this sort of thing).
I also have a suspicion (not based on any data) that people who enjoy doing bounties in their free time certainly tend to be technically talented, but also tend to have non-technical weaknesses around communication and other soft skills. So you’d self select for this weakness too.
This is just, like, your opinion. Your future employer may think otherwise, and look for people with algorithmic skills. "But leetcode is actually evil" is just your rationalisation of your cheating.
But then of course, since FAANG did it, everyone else jumped on the leetcode bandwagon and started asking ridiculous DSA-exam-type questions that had nothing to do with their actual work, even if they had the capacity to conduct proper interviews for their candidate volumes.
I am an employer and would much rather have in person interviews than leetcode.
It doesn't test for anything that AI can do already if not faster otherwise.
Its almost useless as a way to learn how to be a better coder, as most of the "fastest" answers are unreadable.
But if you are using it as a basis for interviews, you are more likely to bump into someone who has trained on that particular question.
I'm not sure what the answer is, as other said, pair programming is kinda the answer. Maybe debugging something in your code base.
No, also mine.
If you want to filter out these candidates, bounties are the way here and in person interviews.
Leetcode can't help you here.
No, they can't. These are the people who don't know the difference between a variable and a function call or what a module is. (90 percent of applicants.)
AI can't help them here. Even if they can copy-paste an AI response they still don't have the vocabulary to explain what they're copy-pasting even in most basic terms.
Yes they can and you don't know if they don't know that.
You can't stop them from doing this.
The only way to stop them is to do in person, bounties and asking about their real world experience.
But yeah last time anyone proposed me to do fizzbuzz I had to be very polite and tell them not to take a hike