Live data from Hacker News

Coding interviews are stupid (ish)

darrenkopp.com

641–650 of 679 posts

Re: Coding interviews are stupid (ish)

#641

Earlier quoted context omitted.

Yeah I think that’s what I mean by “understand data structures and algorithms”. Or, I think your description is exactly what a useful working understanding looks like. You should know broadly what’s out there so if a problem comes up, you know where to look. (Would a hash table help? A priority queue? etc). And you should be skilled enough such that if you decide to use a red-black tree, you can find a good library o…

But this isn't what the leetcode interview tests for. Reversing a binary tree, or figuring out how to arrange the parking lot to fit the most cars or whatever isn't a working understanding, it's essentially memorization. Being able to memorize something like that takes intelligence and dedication, so it does a pretty good job selecting for that, but it also filters out a lot of people who for good and valid reasons d…

> isn't a working understanding, it's essentially memorization

Boring questions that you've seen before are memorization. But there's thousands of interesting questions out there that will never show up on leetcode.

Two examples from times I've been interviewed:

- One time my interviewer gave me about 15 lines of C code that used multiple threads and asked me if it was threadsafe (it wasn't). Then he gave me some threading primitive I hadn't seen before and asked me to fix it. Well, I had no idea what the threading primitive was so I was a bit stuffed. I asked him to explain it and he did, and then I (successfully) used it to solve the problem. He wanted to hire me, saying the fact that I hadn't seen that primitive before and still managed to figure out the answer within the interview impressed him more than anything else.

- Another time I was asked some more classic algorithm problem, where (in hindsight) the answer was clearly to use a priority queue. I didn't think of that, and under pressure I came up with some weird alternative in the interview. The interviewer messaged privately after the interview - he'd gone back to his desk and spent the next hour trying to figure out if my hairbrained idea would work, and he was as surprised as I was to realise it would. I told him I'd realised a priority queue was a good approach as soon as I walked out the door of the interview. I was offered the job.

I've never "crammed leetcode problems" in my life. I don't think thats what any interviewers are looking for. They're looking for people who can think on their feet and use DSA to solve real problems. AFAIK algorithm puzzle interviews predate leetcode. Algorithms have been used since the very early days of google and (I think) microsoft.

Re: Coding interviews are stupid (ish)

#642
post #549

Earlier quoted context omitted.

I find the idea that just because someone is an excellent software engineer they are therefore guaranteed to be a good fit for a particular role at Google a bit weird I'd say that if Linus applied to be a software engineer at Google they should be prepared to invert binary trees or do $generic_leetcode type things because that's the expectation for that role If they applied to be Google Fellow or some other lofty pos…

>If they applied to be Google Fellow or some other lofty position then I wouldn't expect them to need to do any coding at all in the interview So the higher the role in Google the less the requirements?

[deleted]

Re: Coding interviews are stupid (ish)

#643

Earlier quoted context omitted.

> if a senior person can't in 30/45 min of talking with someone figure out the general experience level then the problem is them, really. This is why I've always been so confused. Why is the software engineering interview wildly different from the traditional engineering interview (seniors sit down with candidates and discuss how to solve a relevant proxy problem the team is currently undergoing (has the side benefit…

> Why is the software engineering interview wildly different from the traditional engineering interview I have my personal theory. 1) Top companies receive way more applications than the positions they have open. Thus they standardised around very technical interview as ways to eliminate false positives. I think these companies know this method produces several false negatives, but the ratio between those (eliminatin…

this meaning no 1) is the right answer

Re: Coding interviews are stupid (ish)

#644
post #618

Sounds like a skill issue, mate, just sayin. Might want to grind leetcode and do some mock interviews to build those skills up. Look, I know a lot of the job application process is bullshit. But much of the job is bullshit too. You still have to do one kind of BS in order to land the job and the other kind in order to function as part of a team in an organization. There's really no way around that.

Bad advice imo. Code tests became popular in like 2016, were hated by 2020, and are now basically out of fashion. Also, Leetcode doesn't cover: Async programming, APIs, databases, UI, git, tests, design systems, any known framework or library, how to persist data, how to set up a web server, handle requests, serve a page, write CSS, SQL, use devops/cloud platforms, or basically anything an engineer does everyday. It'…

DO YOU WANT THE JOB? Yes or no?

If yes, then you have to jump through whatever hoops the company makes you jump through. Otherwise, you can pass on that company... but most companies are still using whiteboard exercises and coding tests to gatekeep the hiring process and restrict hires to those who can... actually code, so if being made to do leetcode and whiteboard exercises under pressure in an interview environment is a hard pass for you, you will find your employment opportunities profoundly limited. Maybe you are in the right Silicon Valley circles, I dunno, maybe you hobnob with all the right people who can get you a position on your own recognizance because you met at RustConf or whatever. If so, your situation may be typical for a Hackernews but it is not typical for the employment market at large, even in software dev. Most of us have to jump through those hoops, or join the unemployment line.

You're right though -- Leetcode doesn't cover any of those things and neither does fizzbuzz. What it does do is establish a minimum threshold -- can this person solve a basic problem by writing a program? Can they think it through and provide a solution? If they can, then that's an encouraging sign that their prior experience is legit and they were probably exposed to all the other stuff on a previous worksite.

And yes, code tests were "hated" by 2020 -- by devs with blogs that bubble to the front page of Hackernews, but companies still employ them. The new hotness is AI prescreening: you submit video responses to questions and complete an auto-proctored (YC W'21) coding exercise, all of which is evaluated by ChatGippity. If computer says no, you don't make it to the round of live interviews. Devs hate all of this -- but management loves it because it's a cheap filter for whoever is willing to do whatever it takes to land the role. They have far more applicants than they do open roles, so whoever applies has to WORK to make the cut. What devs like or hate doesn't matter -- if you want the job, you comply with whatever policies and procedures the company has set in place for the application process.

Anyway, how do you propose it be done? How do you suggest companies screen for fraudulent applicants who can't code their way out of a soap bubble? Because they're out there... I've seen it. I've been part of the hiring process myself and seen with my own two eyes some of the stunts people will pull to land a job they are far, far from qualified for.

Re: Coding interviews are stupid (ish)

#645

Classic mistake of overthinking it and failing to realize what interviewer really wants - which is to make sure the candidate can actually write code, like at all. The question itself doesn't really matter as much as it's just a pretext. I actually asked a variation of this question for many years at Google and it was clear within first 5 mins who has been writing code day-to-day and who's been mostly "brining key st…

Exactly this. In the interviews I give I care about whether the candidate can write code, yes, but also talk and think about code. The conversation is the most important part of the interview, and the thinking (and communication) is the most important thing I'm trying to judge after basic skills. Like you said, you can get a good sense within the first few lines of pseudocode if someone's at least competent at writin…

This is pretty much how it worked at the robotics company I worked at.

We would give them a whiteboard problem, but:

a) it was a simple, stupid problem in C (C++ was our implementation language, so thinking at byte level was an important skill)

b) we were very generous about minor mistakes like missing semicolons, etc.

c) we were very generous about "points for effort"; if they didn't make it through the problem but we saw that they were on the right track we might pass them. Total frauds outed themselves very early; they would produce between jack and squat in terms of actual code (a lot of bloviation though).

But again, most companies aren't that company, or your company. For most screening coding exercises, a correct answer (and even something like optimal algorithm complexity) is a must to pass the candidate.

Re: Coding interviews are stupid (ish)

#646
post #618

Earlier quoted context omitted.

Bad advice imo. Code tests became popular in like 2016, were hated by 2020, and are now basically out of fashion. Also, Leetcode doesn't cover: Async programming, APIs, databases, UI, git, tests, design systems, any known framework or library, how to persist data, how to set up a web server, handle requests, serve a page, write CSS, SQL, use devops/cloud platforms, or basically anything an engineer does everyday. It'…

DO YOU WANT THE JOB? Yes or no? If yes, then you have to jump through whatever hoops the company makes you jump through. Otherwise, you can pass on that company... but most companies are still using whiteboard exercises and coding tests to gatekeep the hiring process and restrict hires to those who can... actually code, so if being made to do leetcode and whiteboard exercises under pressure in an interview environmen…

> restricted those who can... actually code

Haha I'm sure you'd love to believe it - let me ask you this: Why does AI easily solve all the Leetcode problems but still can't design a decent web page? API? Auth system?

Leetcode doesn't cover 99% of what a developer does - it's like taking fencing courses and claiming to be a military expert. Leetcode skips SQL, REST/HTTP, OOP and framework patterns, frameworks themselves (React etc.), serving a page, tests, working with files, doesn't even cover basic async functionality (core to writing high quality code), git, ORMs and NoSQL, doesn't even touch devops or UI. It's "add the numbers in this array" type problems - memorization techniques like math problems and other abstract academia.

I prefer people who build products you can see and use, and have other evidence of their work online like libraries they author or contribute to.

Btw, Leetcode is pretty out of fashion at this point for interviews.

Re: Coding interviews are stupid (ish)

#647
post #590

Maaaaaybe, but I’m not ditching them. When I’m interviewing someone, I try to set them at ease. I’m not here to spot typos. I’m trying trying to trick you. I want to see how you think about problem solving, and I’m cheering for tou . I want you to be The One! At a prior job I was the person who asked candidates to write fizzbuzz, and it was much more of a filter than I ever would have suspected. One senior engineer,…

[flagged]

Holy personal attack, Batman! Did he kick your puppy or something?

Re: Coding interviews are stupid (ish)

#648

Earlier quoted context omitted.

> Do you have evidence that the standard coding interview works? No, I think that they are all garbage. The only way to really hire is by having a vibe check to see if they are someone the team wants to work with, making sure that the person seems competent and has a reasonable chance of being very productive, and then hiring them quick. Give them a month and if they don't seem like a good fit, then fire them, with 2…

Seems we're on the same page: https://news.ycombinator.com/item?id=40291828 > Give them a month and if they don't seem like a good fit, then fire them, with 2 months severance. And this! I think this is quite effective and efficient. You aren't wasting anyone's time and making sure the person has adequate time to find their next income source. It immediately makes me respect you and I think would build high employee…

As long as you want to only hire people who don't have an existing job or competing offers.

Re: Coding interviews are stupid (ish)

#649

Earlier quoted context omitted.

Using GitHub is discriminatory against people who don’t code on the weekends outside of their jobs, and most people’s job related code would be under NDA and not postable on Github. To be a capital E Engineer you have to pass a licensing exam. This filter obviously is not going to catch everything but it does raise the bar a little bit. —- As far as the root question goes, they are allowed to propose that, and then i…

You're right. But a lot of people that are good coders code for fun. But you're also right that not all those people push their code into public repositories. The same is true for mechanical engineers. They're almost always makers. Fixing stuff at home or doing projects for fun. Not always, but there's a strong correlation. But getting people to explain projects they did and challenges they faced can still be done. W…

Leet code, in the interviews that I do, is not the only thing I do.

But when I am asked to do a one hour part of an interview for four interview loops a week, all the preps and debriefings, and also do all my normal day-to-day deliverables, we need some fast filters for the obvious bullshitters. The interviewing volume is very high and there is a lot of noise.

Re: Coding interviews are stupid (ish)

#650
post #505

Earlier quoted context omitted.

I totally understand your point of view, but looking at it from the other side it’s not as simple. We had candidates with 10+ years of experience in their resume, talking to them it seemed they know what they’re doing, they showed some of the code they’ve supposedly written. Then they got hired and it turned out they can’t code - their PRs are below junior level, constant bugs, communication is abysmal, they overshoo…

So have the candidate do a small project and submit a PR.

Do that constantly and you get free employees.

Just kidding, but you should value your applicants time. You could just as well show them bad code that is a problem and ask them what they notice when they look at that code. If they are good they point put the problem(s) if they are bad you will probably be able to figure it out based on asking them alone.

Post reply on HN