23 ms·
I am sick of LeetCode-style interviews
- 451mov 2y agohere here
- moffkalast 2y agothe eyes have it
- fzeroracer 2y agoLeetcode interviews are in general just incredibly poor signal-to-ratio; especially with the advent of LLMs making it easier than ever to just cheat on the problem. I would just generally assume that any company with that as an initial barrier isn't actually looking to hire anyone at all, but for the sake of 'appearing' to have employee growth.
- yieldcrv 2y agoI’ve seen many companies try to do something more relevant in the technical interview, it still suffers from “which data structure manipulation method happens to be available in this framework and have you seen it recently” Regarding “cheating” with an LLM, there is not unanimous consensus on that either. I’ve been in technical interviews where the collaborative coding tool had an LLM built right in, and I was encouraged to use it. If thats what I’m going to do at the company then demonstrating problem solving that way is useful.
- radres 2y agoIf I am interviewing someone and if they ask me if they can google X, if it is easily googlable, I would just tell them what it is. Or let them google it. But I do not expect them to spend minutes googling it. It is really unlikely, given a leetcode hard level problem to solve within 25-35 minutes and you can google your way out of it unless you are googling for the solution.
- isoprophlex 2y agoThe only winning move is not to play.
- SSchick 2y agoIsn't the entire point of memoizing this to demonstrate you are able to study/grind rather than prove intelligence? Different companies/managers have give me different reasons for the usage of this style of interview but it was usually to 'assess ability to get through rough stuff' and 'assess cognitive abilities'. Idk anymore either and I refuse to conduct these interviews. I generally prefer somewhat realistic problems that are multi-disciplenary but have ties to real world applications related to the role.
- stavros 2y agoThe entire point of memoizing is to only ever do the interview once.
- dinobones 2y agoLeetcode style interviews probably serve two functions: 1) A way to suppress wages and job mobility for SWE. Who wants to switch jobs when it means studying for a month or two? Also, if you get unlucky and some try hard drops an atomic LC hard bomb on you now you have an entire company you can no longer apply to for a year. 2) A way to mask bias in the process while claiming that it’s a fair process because everyone has a clear/similar objective. Meet someone who went to your Alma mater? Same gender? Same race? Give them the same question as everyone else, but hint them through it, ignore some syntax errors, and give them a strong hire for “communication” when they didn’t even implement the optimal approach… Or is it someone you don’t like for X reason? Drop a leetcode hard on them and send them packing and just remain silent the entire interview. To the company this is acceptable noise, but to the individual, this is costing us 100s of thousands of dollars, because there’s only a handful of companies that pay well and they all have the same interview process. Failing 3 interviews probably means you’re now out $200-300k of additional compensation from the top paying companies. I’ve interviewed for and at FAANGs. I can’t believe the low bar of people that we’ve hired, while simultaneously seeing insane ridiculous quad tree/number theory type questions that have caused other great engineers to miss out on good opportunities. Someone will reply to me “if you know how to problem solve you will always pass.” Ok, come interview with me and I will ask you verbatim one of those quad tree/number theory/inclusion exclusion principle questions and I’d love to see you squirm, meanwhile another candidate is asked a basic hash map question.
- emodendroket 2y agoI'm sure anyone determined to do so can act unfairly regardless of what process is in place, but the fact that there is a standardized test in my mind does the opposite and makes the process much fairer. Assuming a fair-minded interviewer, the process gives a chance to a candidate whose resume may have less vaunted names on it to demonstrate their skill. I'm quite sure that I'd never have had some of the opportunities I have, not having a CS degree, if it weren't for whiteboarding interviews. I can't imagine any possible process that would thwart interviewers intentionally subverting it to hire their friends.
- Benjammer 2y ago
- 414owen 2y agoWord.
- ge96 2y agoLibre Office
- kentrado 2y agoI have a friend who stopped being a dev and went into management because of this practice. Makes sense, he is older and has two daughters. I even considered leaving the field myself.
- Seattle3503 2y agoI guess that is one way to bake agism in.
- fvdessen 2y agoThe unfortunate reality is that If you don't do this you'll hire people who can't program
- easyThrowaway 2y ago...Instead you end up hiring people who can memorize every test from leetcode.com without having the slightest idea on how or when to use those data structures and algorithms in the real world.
- mjfisher 2y agoThere's a difference between asking someone to invert a binary tree, and asking someone to sum up a list of numbers. The latter finds the people who can't code much more quickly!
- esafak 2y agoThis is so true. You see it when you are on the hiring end. There are all kinds of people out there. I fully expect every hireable programmer to be able to set up a class, instantiate it, and use types. A lot of people are not even at that level. They know just enough to be dangerous.
- Der_Einzige 2y agoThe overwhelming majority of AI code is written without any concept of objects what-so-ever.
- __alexs 2y agoProgramming is not a binary. Leetcode does almost nothing to help you level people on the majority of real world coding problems people face.
- Wilya 2y agoIt depends how it is done. I used to think the same way, and I would never hire someone without having seen them program live. But having experienced leetcode-style interviews on the candidate side, it's clear to me that they are no longer about figuring out and coding a solution on the spot. Interviewers expected a solution FAST, and to match that you need to have studied and learned the answer beforehand.
- emodendroket 2y agoI'm almost as sick of reading about them. > I don’t really have a solution to this problem, I just know it’s a problem. Yeah, exactly. You don't have a better answer and nobody else does either.
- LASR 2y agoI lead tech interviews for E5/6 level engs where I work. Everyone knows how pointless it is. But it’s become more like paying the tax. For the record, I typically give away the a-ha moment early on and see how the candidate is able to take the suggestion and work through a problem with me.
- dvt 2y ago> I don’t really have a solution to this problem, I just know it’s a problem. The solution is simple: refuse to do those interviews. I have, and I wish more engineers would. It's one of my screening questions: do you do whiteboard style quiz/brainteaser interviews? If the answer is affirmative, I politely (and sometimes impolitely) decline. I've written a book, edited another, contributed to plenty of open source, including Golang, started a few companies, and been around the block. I'm more than happy with a take-home or with going over code I've previously written, but doing leetcode in a "live coding session"? I'm good, thanks. For FAANG and other huge companies, it's probably a decent heuristic (though I doubt even that), but smaller startups or non-tech companies doing this nonsense is a clear red flag. I mean, there's entire books dedicated to gaming the software engineering interview. The signal-to-noise ratio is probably so terrible, it's essentially just professional hazing at this point.
- dudul 2y agoAnd next week we'll read on HN an article explaining how take homes are unfair, racist and biased, same for "private projects". We've been going in circles for 20 years.
- deleted 2y ago[deleted]
- kidintech 2y agoI am genuinely curious: I am starting a company, and I need smart people; I do not care how good they are at programming language X, or technology T - all the skills my employees will need can be learned on the job. I want to optimize the time it takes for an arbitrary hire to become independent, to have learned the basics, and to make meaningful contributions. They would write code at most 20% of the time, and the job has many other nuances. In your opinion, what would a process that you wouldn't refuse look like? Would a learning interview (I present something that you have not seen before, act as an oracle, provide docs, evaluate how quickly you pick up concepts) be so insulting?
- dfadsadsf 2y ago
- kbar13 2y agoit sucks, but honestly having a very clear metric for success is significantly better than the wishy-washy interviews that predated this. i'd much rather grind and be prepared to just regurgitate some algo/code and explain it than deal with the color of the sky being wrong, interviewer woke up on wrong side of bed, i was coerced into doing a "project" that equated to just unpaid work, etc. whether or not you succeed as an engineer generally falls down to whether or not you know how to code (pretty much anyone is good enough at this for most jobs), can you communicate effectively (covered during the behavioral portions of interviews), and do you work hard. honestly i think it sucks, but in comparison we're pretty lucky. i think a lot of people in this world would be happy to grind a few hours a day for a couple of months to get paid 250k+ base
- yieldcrv 2y agoso you’re an apologist for leetcode because of an uninspired false dilemma of another flawed interview style
- boshalfoshal 2y agoI see these posts a lot, and I sort of disagree with where they are coming from so I'll play devils advocate. Leetcode is used to select for one of (or both of these) 2 things for the average IC hire: 1. Do you work hard (i.e a person who studies many problems, memorizes solutions, and regurgitates then) 2. Are you smart (i.e a person who doesn't do any leetcode but knows the fundamentals and can sythesize past knowledge well enough to answer a new question) Now in a vaccuum, my takeaway from someone who doesn't pass a leetcode question is that they are more likely to not be either of those (given no other information about them). In my opinion, solving at least one leetcode easy - medium question (maybe with some direction from the interviewer) should be the standard for any role where you need to code. And realistically, companies index less on leetcode skill as you become more senior or apply to more niche roles. And plenty of companies out there have bug squash rounds, system design, behaviorals, take homes, trivia, background specific questions, etc. Leetcode is usually not the be all end all for hires above entry level. Leetcode is not meant to magically select for the best engineers. Its simply another signal for the hiring committee to use.
- poisonborz 2y ago2. Are you smart (i.e a person who doesn't do any leetcode but knows the fundamentals and can sythesize past knowledge well enough to answer a new question) Leetcode questions can by definition never come close to real life problems - they are simply out of context. Working on a project even a few weeks will grant a smart person any insights he might actually need. The kind of out of the blue puzzle problem a leetcode presents is more akin to crosswords in old leisure magazines.
- dep_b 2y agoIt took Dijkstra an hour to come up with the Dijkstra algorithm. Why would you expect me to do better?
- fzeroracer 2y ago> 1. Do you work hard (i.e a person who studies many problems, memorizes solutions, and regurgitates then) This isn't working hard. And you are competing with the people that are working smart. Such as people having a separate computer/screen to either look up the answer to a problem or ask an LLM to regurgitate some code you can transcribe. It selects for people that are dishonest. > 2. Are you smart (i.e a person who doesn't do any leetcode but knows the fundamentals and can sythesize past knowledge well enough to answer a new question) See above. A lot of the problems have nothing to do with real world coding scenarios. Do I need to pull out memoization and know how to work with grammar rules off the top of my head? Or the functionality of quad trees and how it applies to partitioning? No; I've literally never used them in my career and likely never will. What I do need as a software engineer is understanding the high level concepts and when to apply them and refresh myself on the use case when and if appropriate.
- graynk 2y agoAnd I am so sick of „I am so sick of leetcode-style interviews“-style posts. Yet here we are. How much more can this dead horse be beaten? Aren’t you tired of discussing this topic with the same arguments each time?
- zem 2y agoit's clearly not a dead horse as long as the leetcode interviews are still ubiquitous in the industry, and as long as people agree it is a problem. the posts are trying to convert a critical mass of people into realising the problem exists, and that they might be able to be part of the solution.
- Kichererbsen 2y agoThe last few interviews I've run, I've shown the candidate sample code and asked them to review it. We have samples that have at least one bug / problem per line. Then some modeling task (whiteboard). We have some simple exercises (fizzbuzz style) to figure out if juniors actually can junior and as a springboard into discussing topics like runtime complexity, memory layout and stuff. This is all highly interactive, depending on how well the candidate does. The idea is to figure out if the candidate somehow faked themselves through screening as well as to somehow get a feeling for cultural fit...
- codegladiator 2y agoI use this https://github.com/emilybache/GildedRose-Refactoring-Kata https://github.com/emilybache/GildedRose-Refactoring-Kata in their favorite language. Has been a very effective filter
- kristopolous 2y agoI'd give a bit of guidance. This can go so many ways. I can see many right but totally different answers. In any interview, I kind of presume that the interviewer has a "perfect answer" in mind and is playing some game where I basically need to guess what number they're thinking of. I'd make it clear that anything is ok. Just go some direction
- codegladiator 2y agoOh definitely. I start with very basic syntax level changes. I want to hear the candidate say "switch case or if/else tree" within the next 20 mins at the least (for SDE I). And the problem can be scaled to any complexity. Distributed/Design/Data Storage
- kristopolous 2y agoI'd actually ask under what conditions leaving it exactly as-is is the right decision. If they give a compelling enough set of answers, I'd just skip the rest of the exercise and be done. After learning how to do anything, the next 20 years is about learning when not doing anything is the right move.
- deleted 2y ago[deleted]
- guardian5x 2y agoI wonder if its just to see how someone handles stress.
- dsotirovski 2y agolikely not as there are other, more efficient ways to roughly gauge that. It does however test one's conformity to arbitrary processes to some extent albeit in not the most efficient manner as well...
- jsnk 2y ago"Leetcode questions are the worst form of interview questions, except for all the others" - Churchill I too used to hate leetcode questions, but after conducting 100s of interviews as an interviewer, leetcode style questions are the best way to test intelligence and coding skills ive found in general. However, leetcoding interviews must be paired with system design and topgrading in order to have balanced interviews. Leetcoding alone is incomplete but i find it essential.
- racketprogram 2y agoI am still not sick for this. (╥‸╥)
- osy 2y agoIt's true that nobody is expected to balance a binary tree as part of the job but the point of these questions is to see how you approach the problem and how you communicate your solution. Given that you can't perfectly predict how someone will do at the job, employers use leetcode problems as a proxy. Even those who memorize leetcode solutions must also memorize how it works and understand the solution. Given that the problem is random and you're likely given multiple interviews, it's unlikely you've memorized the exact problem and solution without cheating. If you've memorized enough solutions that it's likely you've seen the problem before and you can understand the solution enough to present it, then you're in the 0.1% and deserve to pass.
- maccard 2y ago> the point of these questions is to see how you approach the problem and how you communicate your solution I disagree. It’s supposed to be that, but the reality of the interview is that there isn’t any time to problem solve so you need to learn the problems and just regurgitate the solution. That doesn’t put you in the top 0.1%, it ensures you’ve spent dozens of hours practicing questions.
- danparsonson 2y agoRight - the number one skill demonstrated by Leetcode-style interviews is the willingness to grind Leetcode.
- deleted 2y ago[deleted]
- SilverBirch 2y agoI understand the frustration, but at the end of the day I think they do serve a purpose. They're not great at that purpose, but they're good enough and they generally produce false negatives (smart people fail) rather than false positives (you hire an idiot). And this makes sense, because a false negative is low cost (maybe you spend 50% longer interviewing candidates) but a false positive is high cost (you hire an idiot and have to spend months establishing that, firing them and starting the hiring process again). The side effect of this though, is that it's an extremely painful process for the applicant. Even if you're a great software engineer, you're going to freeze up, miss something, have a bad day, and fail a few interviews. Now for most software engineers failure is an unusual and harrowing experience, so they react really badly to it. Especially ina scenario where it's difficult to blame anyone but yourself. But just don't! It's fine! just move on, there's plenty of jobs and the interview process is a blunt tool, not a final evaluation of your worth in life.
- hiAndrewQuinn 2y agoBingo. A good hire is a windfall, a bad hire can be an existential threat to the team or the entire company.
- KaiserPro 2y ago> a bad hire can be an existential threat to the team or the entire company. Totally, but leetcode wont filter them out. Incompetent is fairly easy to navigate around, pathological bastardness is impossible to work past. I know that some companies use psychometric tests, but they are not based in anything remotely scientific, but are also super easy to game.
- Aurornis 2y ago> Totally, but leetcode wont filter them out. Coding challenges won’t filter every pathological bad hire, but coding challenges do catch a lot of bad hires. LeetCode shouldn’t be the entirety of the interview. It’s just part of it.
- swuecho 2y agoThe market is so bad, and most interview sucks one way or another. The main reason is interviewer have tens or hundreds application for same position. I have just went through one interview that have 4 rounds. 1. half hour talk 2. 2 hours coding for several crud api. 3. system design project ( I spend 2 days on it. they told I have about a week on it) 4. another half hours with CTO. and then got rejected. (The interviewers does not bother to send a reject letter. I asked them they told me the position is closed).
- deleted 2y ago[deleted]
- johnnyanmac 2y ago>I asked them they told me the position is closed How generous. One job I asked for an update a few days after my assumedly last interview, 1 week afterwards, and then 3 week afterwards (right before the holidays)... even by the last response the recruiter simply said "we are still evaluating the best project to put you on" or something to that effect. That was 8 months ago now. Going through 5 rounds of interviews into a rejection sucks, but at least be straight with me.
- FL33TW00D 2y agoAnother interesting point about Leetcode-style interviews I've not seen raised: it's a form of intellectual hazing. It's been proven many times that the severity of an initiation ceremony significantly boosts the commitment of those admitted to the group.
- resource_waste 2y agoThe problem is that losers cannot pass the test, but winners can. What is a better capitalistic company hiring programmers: >Lots of smart similar people who believe in correct answers >Lots of random skilled people If you said the latter, you are idealistic and your opinion genuinely doesnt matter. Nature will replace you with someone smarter and realistic.
- innocentoldguy 2y agoI hear you! I quit doing engineering work for companies, but back when I did, I'd take some complex code I'd written to interviews. I tell the interviewers that I'm happy to step through my code and explain it during the interview, but that I wasn't interested in wasting hours of my weekend writing a werpderzle or answering gotcha questions. Some companies agreed and I ended up working for them and some companies didn't, so I'd end the interview. In my experience, companies that over-complicate the interview process also over-complicate their day-to-day work, and I don't have any interest in working in that sort of environment.
- apples_oranges 2y agoA friend once in the middle of a technical interview stopped speaking, stood up and went out. They ran after him, "what's wrong, you're doing fine!" and he told them it depresses him too much and he's not interested anymore. Sad, given that this is a fun profession for most of us (I assume)
- boffinAudio 2y agoI've done the same thing, at a games company well-known for its perks and benefits, but also its crazy production schedules .. I thought I wanted to work there, and up until about half-way through the interview, I did, but then out came the whiteboard and in came the peers to see me implement basic things in pen, and actually it felt like a ritualized mobbing, because as I progressed through their challenges, things got more and more antagonistic and downright rude, and I realized they were testing me to see if I could deal with vitriol and hostility while producing technically minor results .. I simply stopped the interview, stood up, and said "I've made my decision, I don't really want to work with you guys now that I've seen how things are done, thanks for the opportunity and sorry to waste our time" .. and walked out. The CEO chased me out into the parking lot and begged me to tell him what I saw and why the interview went awry. He was legitimately shocked that an interviewee could make such a decision, mid-interview .. All I could tell him was that it wasn't going to be a great fit, the culture didn't seem aligned, and the people who were brought in to the interview seemed desperate and hostile to each other - and that simply wasn't the way I had hoped that the company operated. People forget that job interviews are a two-way street. I realized that day that I have every right to inspect all aspects of a company that I might work for, and that I don't really have to make compromises if I see something negative during the process. It was the right decision because the very next day, at another competing firm, I met folks who have continued to be good, close friends and colleagues, whom I actually really enjoy being around. This profession is fun. But when the fun gets farmed and exploited, its enslavement like any other.
- davedx 2y agoYeah games company interviews can be hilarious. I had an interview for a company in the south of England a long time ago. The first half went okay, then in the second half the whiteboard came out, and I was asked to "implement C++ object oriented method dispatch in C" with a chunky marker pen. I mean, it's not exactly a rocket science question, but it's not easy either (on a whiteboard, with a chunky pen), and in the end it just felt like it was some weird hazing rather than any test of my actual software development or programming ability. I stayed in the interview, went home, never heard from them again. I ended up getting a job at a different studio that had a slightly saner technical interview, and after I started there, I heard the first place had gone bankrupt! Sometimes you just dodge bullets...
- alexey-salmin 2y agoHot take: I like leetcode-style interviews and I've spent a lot of time in them on both sides of the fence (tens of hours as a candidate, hundreds as an interviewer). > But yet, these interviews quiz me on things that I can easily Google that I may not know off the top of my head. It’s absurd. I don't work at Google so I'm lucky to have freedom in the way I interview engineers and usually I try to squeeze out the quiz aspect as much as possible. If a candidate doesn't know the algorithm for a given problem and can't quickly come up with one, I usually proceed to give a detailed explanation for it. In the end the task is reduced to "write between 6 and 10 lines of code that do X in your favorite language" and yet a majority (80-90%) of inbound candidates for software engineering fail at it (for non-inbound sources a picture can be very different of course). Contrary to a common view, I believe that this approach actually imitates my daily interactions with a developer quite well and the correlation between interview performance and job performance is very strong in my experience. And interestingly I've seen many people who shine in oral interviews (tell me about your experience) and then fail to produce any code at all, both during the interview and at work. So even if I wanted a good alternative approach to hiring of engineers I haven't seen it so far.
- radicalbyte 2y agoI like giving SWEs small coding problems but it's more of a filter against: a) The 90% of applicants who literally cannot code. Although I filter out 99.9% of those by screening CVs and a short telephone interview. b) They can be a point for more discussion. It's silly to give someone, in an interview setting, an exam question style problem and to make that a key factor in the interview. It's up there with giving someone tasks which could potentially take them an evening just for an interview. I've tried everything and I've had the best results by talking, digging into the details. Not only do you get a better idea of the person but it's really easy to rat out those who are less capable (especially those who've studied hard for exam questions but fail at everything else).
- alexey-salmin 2y ago> I've tried everything and I've had the best results by talking, digging into the details. That's always the second interview I do: "tell me about your favorite project", then asking questions about details, possible alternatives and pros/cons, fundamental limitations, anticipated issues, real production issues, etc etc, going as deep as possible. This works really well and filters out people who do leetcode but don't pay attention to details in their work or have no real experience (if you're looking for one). However, the couple of times I hired people who nailed this part but failed the coding, they also failed at coding at work. So both interviews are necessary in my opinion.
- CSDude 2y agoI agree it's not a great way but a good compromise. When you think of Leetcode you can be thinking of hard questions. But this is not the case for many of us. Not all of us get a chance to work with a great candidate pool. So, whenever someone fails to provide a solution given an integer list, find the pairs that sum is equal to N, I don't care how many technologies they have worked with or how well they can talk about it, I don't feel comfortable working with them.
- KeplerBoy 2y agoThere's a spectrum to this. Testing easy questions seems fair and appropriate.
- deleted 2y ago[deleted]
- JohnKemeny 2y agoIn my experience, there is a strong correlation between good programmers and the people who can solve these types of problems. It's a kind of audition.
- NalNezumi 2y agoI used to (still kind of) hate Leetcode-style interviews. But now I see it as a lesser evil, like Churchill's description of democracy. A while ago I posted a Ask HN question about the usage of Pseudo-IQ test which is very common in Swedish interview process. Pseudo-IQ test in the sense that it is almost always just Raven Matrix test + maybe math or personality test. I tend to score pretty well on those tests and it takes maybe 1h tops, but it's annoying and stressful either way, especially knowing what ideological foundation it comes from.... Seems like the answer from the Ask HN point towards that those tests used to be common in US/SV/Software position interviews too, but it then got kinda replaced by Leetcode-style interview. And sure, having a person staring at you commanding you to only use your brain to solve a toy problem is definitely not how you work. But it in combination of a bit of back-n-fort traditional interviewing is definitely more informative to the employee (and fair) than some pseudo-IQ test. I just hate when Leetcode is used as *the first screening* it's such an asshole move that show high level of disrespect towards the applicants time. Maybe you can get away with as FAANG, but small companies that do this to me just signal extreme arrogant (or delusional/dysfunctional) HR or C-suite. The best coding interview I've had is just the format "You've received a PR from a junior dev. The code compiles without error and pass the unit test. Would you pass/reject this PR and motivate why" and it often requires a better understanding of the language (such as difference between modern C++ and C++12)
- saltserv 2y ago[dead]
- CSMastermind 2y agoThe important thing to screen a software engineer for is not knowledge but the strength of their problem solving and ability to build mental models of problems. Whiteboard interviews are a good way to evaluate these skills - assuming the candidate hasn't seen this particular problem before and the interviewer understands that this is what they're supposed to look for. Goodhart's law applies - the measure becomes a target and it ceases to be a good measure. People who have weak problem solving skills or poor abilities to form mental models still want high paying software jobs so they "grind leetcode" until they can pass these interviews. Then over time these grinders get high enough up they start becoming interviewers themselves and they don't understand that they're even supposed to screen for talent, they conduct the interview like a memory test since to them that's what it was. In spite of this, there's no better interview type I've seen proposed given the constraints most companies are under (don't waste candidate's time, have a consistent rubric that HR likes, etc.) so for now we're going to keep using it.
- drewcoo 2y ago> Then over time these grinders get high enough up they start becoming interviewers themselves and they don't understand that they're even supposed to screen for talent, they conduct the interview like a memory test since to them that's what it was. They say As hire Bs and Bs hire Cs . . . and to combat that we've added more leetcode to the interview process.
- kristopolous 2y agoThere's a bunch of better ones that are readily accessible. Ask the candidate to build a known quantity like say, a calculator, calendar, whatever or give them a bunch of code and have them modify it in some way or discover a bug. Something closer to building software. Leet code is too far away from it and the performance on it too poorly correlated with actual suitability.
- Tao3300 2y ago> Then over time these grinders get high enough up they start becoming interviewers themselves and they don't understand that they're even supposed to screen for talent, they conduct the interview like a memory test since to them that's what it was. It follows that better leetcode scoring is a good indicator of who can be replaced with LLM.
- zhvihti 2y agoLC questions are a shitty way to qualify 3 traits that employers very much look for (and have proven to be correlated): * Available time to prepare (esp. when holding a job) = available to work long hours * Self-motivate themselves for a long time (esp. to do such bullshit work) * Mental capacity to remember all the material (esp. given its useless outside of the interview loop) The flip of the coin are people who can't put in the time due to e.g. family obligations, don't have the motivation, or don't have the mental capacity.
- poisonborz 2y agoI think the "algo genius" type of developer is a harmful myth of the industry. In most of the SE jobs you simply need dedicated, motivated persons who love the product and are able to organically grow to what the team needs. Places idolizing leetcode are in the stressed underorganised "scale to the moon" phase, where there is a need for individuals(!) to solve whatever is thrown at them at speed.
- koliber 2y agoI've interviewed developer candidates who seemed to know a lot of theory, but when it came to write some code, they failed miserably. They could not implement fizz-buzz. Senior Java developers who could not import HashMap without looking it up. It's kind of like math. If you need to multiply 562 * 1041, you should use a calculator. If you need to reach for a calculator to tell me how much 3 * 7 is, I will doubt that you are an expert. Many companies overdo the leetcode interviews. A live coding interview that shows that a person can do array manipulation, implement flow control, and use basic data structures shows me that you have the muscle memory that only comes with experience. If you need to study graph-traversal algorithms in order to pass, it's probably too leet.
- watwut 2y ago> Senior Java developers who could not import HashMap without looking it up. Eclipse does not without me having to even look at it. IntelliJ does the same. In what situation these people had to import it by hand? They had no ide available or what?
- gjadi 2y agoAnd now any editors with LSP integration do the same.
- batshit_beaver 2y agoGoogle used to ask people to write code in a Google doc. No tools allowed. Facebook to this day disables intellisense in their coderpad interviews. It's fucked up.
- kristopolous 2y agoIt'd be like interviewing a chef and you give them twigs and a flint rock to roll their own stove. I don't get what these tests are trying to show. Breadth? Depth? There's other ways. Give some complicated code that touches a bunch of things and have them work with that.
- willtemperley 2y agoI'm happy that Amazon have a horrible leetcode style interview practice. In my interview I had to design an algorithm to detect certain combinations of fruit and veg bought from Amazon fresh, which would trigger fruit-machine style payouts. If I hadn't said "f this" and did something that actually interests me, I would probably have a huge mortgage sitting in rainy ol Blighty designing user hostile experiences like Prime cancellation. I'm poorer, happier, healthier and mentally iron-clad doing my own thing, making just enough money and travelling to where life has a reasonable cost.
- was_in_amazon 2y agoEx Amazon here. I never heard of leetcode style interviews at Amazon.
- willtemperley 2y agoI would also be a lot richer if I was able to create BS of this magnitude but I can't. Here's the practice test they gave me: https://www.hackerrank.com/test/63ek10mhil5/60d306ab105867d80fca544041154273 https://www.hackerrank.com/test/63ek10mhil5/60d306ab105867d8...
- was_in_amazon 2y agoSo what? The log parsing thing is a reasonable question, not some obscure bitshift find-a-binary-paindrome hack.
- willtemperley 2y agoThe so-what was just to confirm that Amazon do leetcode interviews, contrary to your statement.
- was_in_amazon 2y agoIf you call any coding test "leetcode like interviews" then YES
- treprinum 2y agoThat would be OK for top-end jobs where one makes $1M but nowadays everybody is subjecting devs to this torture even if they offer $40k just because the big boys are doing it.
- praptak 2y agoJoel Spolsky, whose influential articles started the Leetcode-style interviewing, agrees we need something better: "But today Spolsky has mixed feelings about his guide — and its impacts on hiring in tech. “So this idea that you’re going to have a rigorous interview where you bring people in on the whiteboard and you say, ‘Show me how to copy a string while deleting the letter Q. In C, on the whiteboard.’ That was a big step up, I think, from, you know, ‘What college did you go to and who do you know and where did you work?’” [...] “It’s a great way to hire 10 developers. It’s a very bad way to get developers in a scarce environment where you’re trying to find the people that might be good.” A lot of good programmers end up getting rejected — while, even worse, companies end up hiring people who are good at passing tests, but underperform in the real world. “I think that method is definitely state-of-the-art 1995. It was even good for 2005. For 2018, I think you need a better system, and I think it’s probably going to be more like an apprenticeship or an internship, where you bring people on with a much easier filter at the beginning. And you hire them kind of on an experimental basis or on a training basis, and then you have to sort of see what they can do in the first month or two.” Article: https://thenewstack.io/joel-spolsky-on-stack-overflow-inclusion-and-how-he-broke-it-recruiting/ https://thenewstack.io/joel-spolsky-on-stack-overflow-inclus... HN discussion thereof: https://news.ycombinator.com/item?id=39748546 https://news.ycombinator.com/item?id=39748546
- gamebak 2y agoI share the exact feeling as you do, it's a lot of bs that has almost no value. None of those problems reflect what business needs to solve; everything today can be Googled and fixed with straightforward code. Usually, the computing part isn't the part that prevents a business from scaling more (servers are cheap).
- forrestthewoods 2y ago> Especially since I know for a fact they don’t reflect the actual responsibilities of a software engineering of a job. This is irrelevant. No interview can accurately reflect actual job behaviors. Job interviews are a proxy. Either they produce false positives/negatives or they don’t. It doesn’t matter that the proxy isn’t 1:1 with day-to-day. I sympathize with job seekers dealing with leet code interviews. But I’m somewhat over the million blog posts that say the same thing. I’d be much more interested in hearing from the other side. Hiring is a nigh impossible task. People rarely share reproducible alternatives. Only hand wavey gut checks. It’s unfortunate this is the best we’ve come up with. Hiring is hard!
- mxsjoberg 2y agothe solution is to start your own company and not do them be the change and so on
- iLoveOncall 2y agoI see LeetCode as a pure numbers game. Keep applying until you get easy questions and don't get hung up on your failures. I work at a FAANG but if I had another interviewer I probably wouldn't. For me it's the same process as the green card lottery: apply to your target company every year / six months (cooldown period) until you eventually get it.
- zabzonk 2y agohappened to me in an interview: them: implement reversing a linked list me: your company spends a lot of time reversing linked lists?
- blitzar 2y agothem: idk I am just the HR person, I dont know what we actually do here or what a linked list is.
- zabzonk 2y agome interviewing at big 6 accountancy firm as a software developer: hr: you have do the same tests as the accountants me: ok, hit me .....scribble scribble hr: you have simultaneously managed to get the lowest ever score on the arithmetic tests and 100% on the visual/spacial IQ tests, which no-one has ever done. says something about me i suppose! and they hired me.
- pkos98 2y agoSince 99% of people have to study hard to pass LC (medium/hard), it effectively acts as a selector for employee conformity. People who play by the rules imposed upon them, who work long hours if corp wants them to etc. All the talk about diversity, but no diversity of thought. Only LC chasers. I genuinely believe this decreases innovation massively.
- resource_waste 2y ago>All the talk about diversity, but no diversity of thought. Only LC chasers. I genuinely believe this decreases innovation massively. Nice belief, but good luck proving it. I imagine the people grinding LC are harder working/more innovative than people who watched TV instead.
- dsotirovski 2y ago>I imagine the people grinding LC are harder working/more innovative than people who watched TV instead. I suspect the original author of the article that spawned this comment thread prepared for the interview somewhat rather than watching TV instead - and still got sickened of the LT style interview.
- drewcoo 2y agoYou were on to something with the GP's unprovable assertion. Then you provided your own false dichotomy and the argument went all wrong.
- adamors 2y agoYes, those are the only two options. I'd rather spend time with my kids than grind for 4 hours a day to get ghosted after the 5th round of interview.
- dfadsadsf 2y agoIf you spend your free time with kids you are outlier. Average adult in US watches 3 hours/day of TV (stats which frankly amazed me) which if spend more productiveky is more than enough to grind for interview
- nikolayasdf123 2y agoleetcode is ok. I am so sick of visa/immigration restrictions
- nikolayasdf123 2y agothere are plenty of people who would nail leetcode. but they are not even allowed for interview due to visa/immigration restrictions.
- weatherlite 2y agoWhat you're tired of solving algorithmic riddles that have very little to do with what you've been doing the last decade, all this under pressure with a shared screen in front of two bored interviewers? I don't understand how you can get tired of it its so much fun!
- gigatexal 2y agoI don’t think anyone is saying in a traditional SWE role data structures and algorithms aren’t useful things to have some me amount of mastery about (higher levels required for higher levels of seniority maybe)… but it’s just hilarious and also sad that we’ve, as an industry, not been able to move away from these logic puzzles disguised as programming tasks that ostensibly should mimic a typical task but serve only to filter out groups of people. Of course I don’t know the replacement I just know I loathe doing these things and would rather learn more about what the day to day would be like, what’s the team like, the manager, the growth potential, etc. I am all proving my skills but can I do so in an environment that is more congruent with my actual work?
- sethammons 2y agoSee: work sample test. My best received interview question was for a bug/firefighting team. Based on a real bug we had, here is a sanitized repo (perl or python, our languages at the time) with some sql and data. We gave them three made up support tickets about some settings values being incorrect causing $issue. Dig into the utility script, find bugs, fix the data. Even folks who didn't pass complemented the task
- gigatexal 2y agoThat kind of out of the box thinking is where I think the industry should go. But would it scale to the Google's of the world? Probably not. They'll continue filtering people through the sieve that is the leet-code style interview.
- kristopolous 2y agoSure it would. The problem described above can be manufactured. Every team of every job you enter does things in their own snowflakey way. If that's new or foreign to you, good luck. You can permute some base instance in many ways. Filter out the comments in the code or change the variables and function names to be terse and cryptic.
- surfingdino 2y ago
- moomin 2y agoI am good at leetcode interviews. So are a lot of people reading this. For the most part, this is for the same reason: at some point we sat down and practiced until we were good at them. It’s a useful skill to have and I recommend to people on job searches that they learn it. Would I recommend it if there weren’t so many leetcode interviews out there? No, I wouldn’t. It’s not a useful skill for actual programming; it won’t make you smarter. It will, however, establish that you have a lifestyle that affords you the kind of free time to devote to it. So yeah, I’ll happily jump through these hoops. Honestly, I’m the personality type that finds it fun. But it’s a lousy way to assess my abilities as a dev.
- drones 2y agoCould anyone provide an example of what Leetcode problems are too hard or unrealistic for hiring/interviewing purposes?
- physicsguy 2y agoMy biggest concern about Leetcode is that it’s not actually that relevent to the day to day job of being a software engineer and has more to do with being a computer scientist which is an adjacent but different set of skills. I’ve worked mainly on scientific software which requires a mix of domain knowledge and programming skills. I doubt many people who I’ve worked with would pass leetcode without spending a lot of time studying, because they primarily come from Physics/Engineering backgrounds, but that doesn’t mean that they are not good software engineers, that the software they’re writing is not performant, or that they can’t offer anything valuable.
- underdeserver 2y agoWhat exactly about Leetcode interviews can you Google, except the actual solution to the actual question (which you can probably Google for non-leetcode interview questions too)? I always thought that while Leetcode interviews are problematic because they don't represent most of the work you're going to do, they're much better than interviews where you're expected to namedrop specific API functions or design patterns.
- kristopolous 2y agohttps://github.com/Chanda-Abdul/Several-Coding-Patterns-for-Solving-Data-Structures-and-Algorithms-Problems-during-Interviews https://github.com/Chanda-Abdul/Several-Coding-Patterns-for-... Memorize that and you'll pass them all and won't be able to deal with 1,000,000 SLOC code bases in the slightest
- concordDance 2y agoInterviews are incredibly noisy signals. It is far easier for someone to blag about their AWS experience than for someone to bluster through an unseen leetcode problem.
- andrewstuart 2y agoThere is an absolutely vast array of stuff you need to know to write software including networking, hardware, software, database, operating system, multiple languages, mutiple tools, standards, testing, processes, and on and on and on and on. It goes on forever. BUT one of the things I've pretty much never needed is leetcode. That says something about recruiting processes that evaluate you on your leetcode. If you can't come up with an interview proecss that evaluates a developer against the bajllion things that developers have to do, then it says YOU the interviewer don't know what you are doing. I think leetcode interviews are lack of imagination on the part of the interviewer. Being good at programming does not make you good at assessing the capabilities of other programmers.
- surfingdino 2y ago> "they don’t reflect the actual responsibilities of a software engineering of a job." Exactly. I refuse to do them. Oh, your business is solving basic problems in computer science? I though you were an e-commerce platform that needed cleaning up your APIs and moving to a more efficient DB?
- AnimalMuppet 2y agoThis. Why have an interview filter that isn't based on what you actually need to hire? (And then, probably, complain that you can't find enough good candidates...)
- surfingdino 2y agoThe most frustrating thing once you pass those hoops and get onboarded is the look at the repo, outdated "design" docs in Confluence, and a history of trying things out without any plan. But, yeah... solve me a puzzle.
- Crier1002 2y agoI am leaning towards LC style interviews over a take home assignment that is meant to take “no longer than 2 hours” to complete
- badgersnake 2y agoThey are just bad and it’s an indication of laziness in the team, or that the organisation is hiring centrally and you could end up doing anything. Both of these are negatives imho. Developing a relevant technical interview aligned with what the team does is a project in itself and takes significant time to do and keep up to date. People don’t want to invest the time, but from experience it’s definitely worth it.
- delegate 2y agoI've interviewed lots of developers and recommended 'hire' to about 15 people in the last several years and not once did we get it wrong. All it takes is a short problem to solve at home, which can be easily googled and one hour architecture interview, where we discuss the technical architecture of a hypothetical 'real world' service. It takes about 20 minutes to determine if the candidate has the experience with the technologies listed in the resume. Little experience is not necessarily a show stopper. True that the language we hire for (Clojure) filters out a lot of people ahead of time, but knowing the language is not exactly what I look for.. What I look for is 'passion' - does the candidate love programming and can the candidate articulate technical issues with ease. The other question I try to answer - will the candidate enjoy working in our team and will we enjoy working with him/her. Smart people will shine in a certain way, even if they bomb specific questions - they have an opinion, they try, they ask the right questions. I'd be sad if we missed on some of the people in our team because of automated (inhuman) puzzle interviews. We're not looking for a problem solving machine, we're looking for a partner to create something great together, someone who shares our passion for hacking and someone who we'd love to work with. I share TFA's opinion that leetcode-style interviews are not the way to go and I hope the industry comes back around and focuses on the human side more.
- fHr 2y agoyeah classic FAANG bs from consultancy leaders who can not solve 1 leetcode problem and don't @ me with they don't need to because they can't make business decisions either even with fancy economy degrees and then layoff half the staff. If your CEO was not a techie the company is doomed anyway. So FAANG pushes leetcoding and everyone does it now, I just learned the 100 most common for interviews by heart and dabbled into 1000 leetcode problem. Absolutely only need to put in work and has 0 skill tbh it reminds me when I had vocabulary tests in school for other languages, just learn it by heart and score high mark. No skill of the daily business life involved at all. Landed a job that way. Improvise, adapt, overcome.
- the_black_hand 2y agoDon't hate the player, hate the game.
- the_black_hand 2y agoDon't hate the payer, hate the game
- clarionbell 2y agoLeetcode test would be fine, if they were formalized with automated scoring and nobody giving you hints/silent treatment. Unfortunately, proponents of "normal" interview process will tell you that it's necessary to observe engineer working on a problem to know how good they are. Maybe they are right. After all, I'm not an expert on the matter of recruitment. But from my experience, I felt far better when the process was not "personal", even if I didn't get accepted in the end.
- iLoveOncall 2y ago> Leetcode test would be fine, if they were formalized with automated scoring You understand how this goes completely against the very purpose of the interview which is to evaluate how they think about the problem rather than about the final outcome, right? I couldn't care less about whether your code compiles or not if you were able to figure out the perfect solution, walk me through it, explain why it is the best, and looked like you had some experience writing code when it came to that part.
- TrackerFF 2y agoThat sounds like the exact opposite of what one wants, form the interviewer standpoint. The goal of coding interviews is to probe the candidate, have them explain their thought process, and see how they interact with you. Are they able to formulate the problem? Gather specs? Are they able to consider constraints? The last thing I want is some automated system where you have no idea how the applicant came to their answer, what their thought process was, etc. If that was the goal, then just bring back brain teasers, or better yet, just use thinly veiled IQ tests.
- dispirited 2y agoI'm maybe more cynical, I believe that these types of interviews don't filter out less smart people, but filter out people who don't object to the processes of Big Tech. I think they mainly serve to pass through people who aren't going to question the system, and won't speak up when during their day to day trenches they're implementing ethically bankrupt software. Intelligence has nothing to do with it, it's about ensuring the capitalism machine keeps going without any revolt.
- Pelayu 2y agoHonestly after interviewing lately, I prefer Leetcode-style interviews to doing some takehome project. I’ve failed two assessments now where my project fulfilled the functional requirements set out, but I was rejected because I didn’t use their conventions (which were not specified) or they didn’t like the structure of the code. Not only that, after investing a few hours of my free time to complete said project. I just get vague, hand-wavy reasons as to why I’ve been rejected. Leetcode-style any day, over that.
- rckt 2y agoA good interview is an absolutely rare thing. I can't name the chances, but throughout one's career it's going to be close to amount of jobs one's going to land. More likely less than that number. From my experience you can say it's going to be good or bad right from the start. 5 minutes into an interview and you can already see where's it's going to end. I don't understand when companies try to give test assignments to senior devs. Even if your GitHub or whatever profile is not rich with projects you can evaluate person's professional level during the conversation. And I also hate stupid riddles during the interviews. But there was an interesting case. I got a couple of verbal puzzles that I should have solved right at that time and I failed. But I got the job anyway. So I guess if people in the company are common sense driven it helps to choose hiring strategies that work for both sides.
- alentred 2y agoAgreed on first two points. You often can get a feel of a company based on the interview. > I don't understand when companies try to give test assignments to senior developers. I think this is perfectly valid, though. When I interview candidates, I start with the conversation and I can tell you that more often than not it goes very well: talking about software design, architecture, what they think about various frameworks, etc. But you would be surprised how many people can talk their way through the interview, and then get totally blocked on a simple syntax error in the code. (Stress being accounted for). I agree, though, that the questions should be fairly designed before the interview and be consistent with the level of the expertise expected for the position. I would never ask a senior developer to implement a FizzBuzz. We'd rather sketch an architecture for some piece of software with some specific constraints, discuss the choices of the language and libraries and argument them, etc. And yes, eventually code something: just sketch some core domain logic. I would never hire a software developer, whatever the level, without seeing them coding first.
- paulus_magnus2 2y agoHow does this look outside coding? Do we know of any other professions where there are whiteboard / leetcode style interviews?
- hiredang 2y ago[dead]
- wantedtoask 2y agoSmall feature request based interview? We ask candidate to pick any OS project out of few dozen related their skillset. There are predefined feature request/improvement we got prepared for each one. I've been experimentimg with it, and it feels more 'natural'.
- eschneider 2y agoNobody dislikes these sorts of interviews more than me. I'm not sure they're particularly useful for anyone and I _know_ they don't show off what I do well for employers particularly well. That said, prepping for interviews is just one of those things I'm willing to do for money. Is it worth $25K a year to me to spend an hour a day for three months working leetcode problems prior to interviewing? Probably. I mean, is it a great way for companies to hire? No, not really. Is it how many companies hire? Yes. Do I occasionally learn a few things while doing this sorta prep? Occasionally. All-in-all, the expected value from a bit of prep seems worth it.
- SomeoneFromCA 2y agoSour grapes;I've never ever had problems with LC style interviews, and much prefer them over behavioral BS PM-style ones,
- eunos 2y agoI still believe that the Leetcode style interviews are the great equalizer that provides opportunities for folks coming from non-elite Universities to try their luck with FAANG.
- jWhick 2y agoI've found most of ukranians as well as russians love this style of interviews. I've also found them to be bad contributors to teams I've worked in.
- racional 2y agoIf there's an inference to be drawn here -- it's probably that fans of LeetCode-style interviewing tend to be not such great teammates for a variety of reasons; not persons from a certain countries.
- yreg 2y agoI once had an interview that I really liked. It was for a bank. They give the candidate some messy, done-in-a-hurry code (but not purposefully obfuscated) and ask them to refactor it to the best of their ability. The interviewer sits next to the candidate and talks to them throughout the whole process. It's pretty much pair programming, but the candidate has the initiative. I found it to be a breath of fresh air after all the leetcode interviews. Of course, they have the luxury of doing this, because they know what exact technologies they are using and they don't need to measure candidate's ability to learn new tech, etc. In their situation they are more interested in topics like whether the candidate can produce maintainable code, name things properly or communicate with co-workers.
- palata 2y ago> because they know what exact technologies they are using and they don't need to measure candidate's ability to learn new tech, etc Well leetcode interviews do not measure the candidate's ability to learn new tech either, do they?
- kamaal 2y agoLeetcode is mostly small time snippets, that tests how intelligently you can write nested for loops and if statements. That's mostly it. If you are looking to hire people to write < 50 line snippets, it works fine. Pretty much useless for everything else.
- Aurornis 2y agoLeetCode is a filter mechanism, not an entire interview system. The big companies that have LeetCode in their process also have system design, behavioral, resume review, and experience review as part of the process. I’m sure some bad companies are using LeetCode as the entire interview process, but it’s not how it’s normally used.
- yreg 2y agoTo be fair I think it is a proof that the person can learn all of the leetcode stuff and therefore they might be clever/disciplined enough to learn new tech as well. Although I don't find it very relevant. When I was fresh out of university, I was good with algorithms / data structures (neither of which I use much in actual work), therefore able to pass leetcode interviews just fine. Yet it was at the time challenging for me to learn new frameworks and I found all of the tooling I never heard of rather confusing.
- 0xBDEC958ED67 2y ago[dead]
- m0llusk 2y agoManaged to solve this problem by going into business for myself. Have applied to some potentially interesting positions, but got batted away as not good enough at coding quiz questions. If I ever feel the need to be treated disrespectfully by people with two or three decades less experience then maybe I'll put my resume out there again. Probably not, though. Kind of interesting that I know many like me who have decades of proven experience but little interest in modern interview games and end up going different ways. Lots of value being left on the table, but there it is.
- upmind 2y agoLeetcode style interviews are not great, but I much prefer them to take homes. However, some FAANG+ companies have a nice system (for internship), where they give a very small codebase (~100ish lines) to work on with some errors / possible improvements and you go through those in the interview.
- AnimalMuppet 2y agoTake homes for me are "just no". No, I won't spend six hours working on some throwaway project, in order to have you spend five minutes looking at it and then decide you don't want to hire me. The problem with this (and with grinding leetcode) is that it's not symmetric. If I'm in an interview, and you're wasting my time, you're also wasting your own. So the employer has some incentive not to waste my time. With a take home, though, they can feel free to waste my time, because it doesn't waste any of theirs. (And leetcode is the same. Yes, asking it in the interview takes their time as well. But all the time I spend grinding in preparation, they do not spend.) For one special job that I really wanted to get, sure, I'd do a take home. For your average job for average pay? No. Your job isn't worth it. Don't waste my time.
- rationalfaith 2y ago[dead]
- begueradj 2y agoSuch interviews are made to legally discriminate against old developers. A freshly graduate student has more chance to still know this or that algorithm, and prepare for that. An old/experienced developer has dealt with plenty of real world complex problems. So much that his attention is absorbed by them, not by what is the best way to search for an element in a tree.
- pprotas 2y agoAge does not hinder you in solving leetcode problems
- vgalin 2y agoBut the older you are, the more likely it is that you have built a family and have children and responsibilities outside of work. You cannot necessarily afford to spend time studying (problems untied to the real world) as much as someone younger I guess.
- dep_b 2y agoThe reason I’m faster than younger developers is that I go into the right direction immediately. If you present me with an unknown problem that requires deep concentration a younger version of me might stand more chance. I really suck at leetcode when tired.
- weatherlite 2y ago40 year old here. I don't think its strictly a time issue, its an energy/motivation issue. 40 minutes of practice a day for a month or two should be sufficient for someone to solve/go over dozens of Leetcode questions. We all, literally all, have that time to spare otherwise we wouldn't touch our phones or ever watch T.V and yet most of us do. But I don't disagree with you completely. I think the older you get, the more mental resistance you have to do the grind to become good at Leetcode. It just sucks that after 13 years of programming and accomplishing quite a few things I have to do this shit all over again just to get another job that's pretty much the same as I'm doing now - and this knowing that it sucks so bad - that you are reduced to a Leetcode monkey with all your experience, is quite a tough pill to swallow at 40. I am also a bit less inclined to look for a new job in general - I have a kid, have a comfortable job with stable income (well, relatively speaking its stable) etc etc. Sure I can go try chasing FAANG salaries but the reality is for me its psychologically much more comfortable to stay where I am and it may also be sensible when calculating the risk in moving jobs.
- spacecadet 2y agoWell give how well the FAANGS all turned out, evil-money generating society destroying hell holes... I imagine it actually goes like this: Im going to randomly and silently draw from one of 3 topics that I understand, but nothing that I don't and would need to collaborate with you to solve. It must be something I have memorized so not to risk looking less smart than the interviewee. Good we have now hired the 10,000th copy of me, the company can now continue to produce the SAME garbage across 10,000 people. I have succeeded and can now be promoted to level 5.5 and 2/5th.
- spacecadet 2y agoLC says, "we have no clue what we are building but need people who can build anything, maybe", its a hiring strategy when you have no company strategy.
- spacecadet 2y ago1000% and leads to joke returns for all and a IPO that essentially robs the public. "Evil money generating hell holes".
- em1sar 2y ago[dead]
- palata 2y agoI wish I could, as a candidate, ask leetcode-style questions to my interviewers, too. If I am to work with them, they should prove to me that they can pass them, right? Interviewers tend to forget that they are in a dominant position: they have nothing to lose, they are the ones who take the decision, and they are the ones who chose the questions. I have been in such interviews where I completely failed, but where I am absolutely certain that I could have made the interviewer fail as well were the roles inverted. It feels a bit hypocritical to fail someone who did not actually do worse than you would have done...
- 6510 2y agoIt is perfectly fine to ask anything from the interviewer. How long have they worked there? Did they have other jobs? Why did they leave? Is there anything specific that is great about this place? Why are you looking for employees? Did someone quit? Do you have a lot of meetings? Do you enjoy coding? Do you have anything interesting on github? Not specifically that but give it your own twist. If they are confused remind them that getting along with people and fitting the team is at least as important as the ability to do work. The work is the least of your concern. It will probably involve dusting off some old skills and learning some new things.
- palata 2y agoExcept that the interviewer has the power to fail you if you put them in a bad position. It is fundamentally an asymmetrical situation where the interviewer is in a dominant position.
- 6510 2y agoI would argue that is only true in an employer employee relationship. I fondly remember laughing my ass off with the owner of a company about what a shit job he was offering. A shit job with shit pay, no wonder you are looking for employees. It took me 5 minutes to figure out there was no real job worth considering. We spend the better part of an hour just chatting after that. [In my opinion] he was drowning in work because he was to cheap, it makes the company unreliable.
- bradleyjg 2y agoI don’t really have a solution to this problem, I just know it’s a problem. Neither does anyone else. Everything else we’ve come up with either has worse issues or is extremely expensive to operate.
- NiagaraThistle 2y agoGod I hate these interviews. I'm 45, focus on Web development, have worked in-house on teams building ecomm carts/solutions for multi-million dollar per ear local companies, in design agencies focusing on custom $100k or templated $5k Wordpress websites, and have freelanced for everything in-between. During COVID lockdown, I got burnt out at my existing employer, resigned, and took several months of. When I started looking for work again, one potential employer was a Wordpress 'freelance' company that gave me a LC test as a second round interview. I BOMBED - like a 27%. I've been building sites and web applications for 15+ years and had zero idea what I was even being asked in any of the 3 questions on the 'test'. The company ended the interview process and advised I study Leet Code for 1 month and come back to re-test since my experience was outstanding for what they were looking for. I did and got an even WORSE score: 13%. I spent way to much time on trying to cram useless (for my daily work) programming techniques to pass a useless interview test when I was told I had the experience they wanted - I've built custom WP solutions/themes/plugins since wordpress first rolled out. TLDR: With 15+ years experieince in Web development, I still couldn't score higher than a 27% on a LeetCode test and got halted in the interview process for a position I was told I was WELL qualified for. LeetCode tests for non-overly-technical positions is awful.
- surgical_fire 2y agoI am oddly fine with leetcode interviews. Mostly because they are predictable, and you can study them over time. They obviously are useless to measure how good a candidate is, but that is not my problem. I didn't pick the song, I just have to dance to it.
- sensanaty 2y agoThe best interview I ever had was with GitLab, where they make a realistic PR/MR (but one that is obviously not actual code they'd use for anything, for the ones worried about doing free work for them) and you have to review it. It's exactly what I do at the actual job at least 50% of the time, and I'm sure from their side it gives them a lot of room to look into how the candidate works/communicates. They then ruined it by still having a leetcode style interview afterwards which I found monumentally stupid, but oh well.
- chmod775 2y agoThey're fine to filter fresh university graduates. But if you have any sort of track record (previous employment/projects you can talk about, active github account), they're just insulting. They shouldn't be wasting your time if they could just have a look at the things you accomplished. That there's companies who make all interviewees take them just means there's not enough competent software developers with sufficient self respect to just refuse that kind of nonsense.
- bilsbie 2y agoI’d like to know how other professions are hired. Do CPAs get challenged with hard tax problems and no access to reference material? Do plumbers replace a toilet in an interview?
- js8 2y agoI think the fundamental problem is that in SW engineering discipline, we judge skill according to knowledge of tools (like programming languages) instead of knowledge of the application domain. There are interesting historical reasons for this, and it is a double-edged sword. But I think it would be healthier for the profession to acknowledge that application domain knowledge can be at least as useful as tools knowledge.
- hcrean 2y agoLeetcode is about proving you can give up huge chunks of your time to learn about the current industry fads, useless to life though they may be: This is unfortunately a vital work skill in the software development industry...
- jakubmazanec 2y agoThe solution is simple: since past behavior is the best predictor of future behavior, just let the few top candidates do the (paid) work for a few day/week/months and then keep only the best candidate.
- kragen 2y agoadverse selection
- dkdbejwi383 2y agoMy biggest beef with this style of interview is that someone with commitments (family, sports, hobbies) outside of work, I have no time to study the format, spend months practicing questions, practicing the art of speaking my thoughts in a clear way while actually having time to myself to think and process, understanding the gotchas etc. luckily, I have experience as a programmer and in a previous career, and have so far managed to mostly avoid it as there are enough companies where I am that I’ve been hired elsewhere. But it does make me wonder if I’ve either missed good opportunities, or am limiting myself for the future.
- dicroce 2y agoIt seems to me that while passing a leetcode question shows that you might know a thing or two, not passing one doesn't really show the opposite. You could be the smartest / greatest coder ever and you just got a really unlucky question... Or it could be that you're not great when you are nervous, etc... Also, a lot of the time it feels like the answer to most leetcode problem is some sort of trick.... and if you think of it you are golden and if you don't it sucks to be you. Most of the time I'm trying to write code that is NOT tricky... So in some ways I think the job itself will train you to seek simple clean solutions as opposed to tricks.
- makerofthings 2y agoI quite like them. You know what sort of question you’re getting and they’re really not that hard. Practice. Get good at walking trees. Answer too slow? Sort the list first, use two pointers, use a hashmap, max heap…
- alkenes 2y agoAll the worst kinds of engineers, the kinds of people that talk big and deliver small and slow, the people I know I’ll need to go and fix code for, they are always the ones that work on leetcode the most. These are the false positives that people pretend don’t get through with leet code interviews, the kind of people that don’t understand how node async actually works but can reverse a tree optimally off the top of their head.
- KoftaBob 2y agoIn my experience, the best kind of assessment for Software jobs is a reasonable take-home project that involves a private repo that you fork, work on adding a feature or fixing a bug, and then send a PR. It's much closer to day to day work than code challenges are, it doesn't involve the stress factor of an interviewer staring at you while you work on a leetcode, and you can have a followup technical interview to discuss the take-home in more detail. The most recent take-home experience like this that I saw was with Clipboard health, and I thought it was a great experience. If I remember correctly, they used Woven Teams to automate the process. https://www.woventeams.com/ https://www.woventeams.com/
- damontal 2y agoImagine what Franz Kafka could do with the Software Engineer interview process. It practically writes itself.
- AYBABTME 2y agoIt's weird to me because I haven't had a single person ask me Leetcode questions, and I never opened Leetcode once in my life. And yet I interviewed plenty and got job offers aplenty. Who asks these questions? I'm I somehow simply self-selecting out of these types of companies via some proxy feature I'm unaware of? Or maybe they stop asking these questions when you're more senior and not fresh out of school anymore?
- beezlebroxxxxxx 2y ago> simply self-selecting out of these types of companies via some proxy feature I'm unaware of? Probably. Most LC interviews are in the early to early-mid career stages and are often at large headcount shops where problems are often solved by throwing man-numbers at a problem. As a result, the shops think: "Why don't we hire more really intelligent people to throw at these problems?" They have lots of postings and then get a lot of applicants. LC then serves them 2 main purposes; 1) a proxy for "intelligent people" that can solve these kind of extremely generalist problems, and 2) a way to cull the herd. Once you actually need specificity in your hiring, then LC style questions are effectively useless outside of some very unique contexts. That they are so endemic is reflective of how bad almost all companies are at hiring.
- perrygeo 2y agoThe key point for me is - what does the company value? Don't forget that you are interviewing the company too. Does this company value grinding at solved problems, rather than actually solving new and interesting ones? That's a dead end. I'd rather talk about how I spent my time building real stuff in prod. That's generally how I respond to leet code challenges, pointing out the existing libraries and tools that already do it and discussing their tradeoffs. Pretty good way to find out they're looking for an actual engineer or a code monkey.
- JKCalhoun 2y agoYep, use leetcode to hire, don't be surprised when you have teams of leetcoders.
- TrackerFF 2y agoMy problem with LC-style questions is that it becomes a race to the bottom. At some point, you end up with questions that either lucky people or savants are able to answer. Yes, that might be an exaggeration, but it's not too far off the mark. Applicants discovered, long ago, that if you simply grind every questions on LC - you will likely get asked some of those questions wherever you interview. Companies fight back by asking harder questions. Before you know it, a standard interview consists of LC hard questions. And with the advent of LLMs, it is even harder to sniff out candidates if the interviews are remote. At some point you'll just have to re-do the whole process, and built it up from scratch.
- slavapestov 2y agoBasic coding problems involving data structures and algorithms are table stakes for a programmer. This whole thread is embarrassing.
- TrackerFF 2y agoI would not call LeetCode hard questions "basic coding problems". Furthermore, asking (senior) engineers arbitrary and esoteric CS questions that A) They may have never seen before B) They will likely never encounter Seems like a good way to lose out on competent candidates If I hire an experienced electrical engineering project manager, I don't ask them to analyze convoluted circuits or random differential equations on the whiteboard.
- pjmorris 2y agoJerry Weinberg used to run a discussion forum for experienced software development consultants, aggregating many years of experience at many companies building significant projects. Their consensus opinion was that a 'work sample test' was the most reliable means of assessing whether potential hire would be a good fit. Bring the person in and pay them to work with you, in your environment, on tasks parallel to what is needed, for a short period (anywhere from half a day to a consulting engagement) and base your decision on what you learn. It is a really strong positive signal about a company if you see them doing this.
- CoastalCoder 2y agoThat's really interesting. I'm guessing this works better for consultants than for regular employees, due to employment / tax laws.
- pjmorris 2y ago> I'm guessing this works better for consultants than for regular employees, due to employment / tax laws. Yes, if you go as far as treating them with the respect of paying them for their time. However, it can still be done in the many interview processes that take half- or a day's time but that don't pay the interviewee for their time.
- CoastalCoder 2y agoI've heard of using Amazon gift cards as a form of payment. I'm guessing that's illegal in the U.S., but maybe it's such small amount of money that companies aren't worried about the legal exposure.
- johnnyanmac 2y agoit seems so straightforward. I'm surprised more companies don't try it. paying, say, 5 promising candidates for a short period on some super reduced pay can't be that much more expensive than 2 months of interviewing a few dozen.
- mihaitodor 2y ago5 years later, I still refuse to do them and I don't want to put myself through that process ever again. I got bullied, harassed, laughed at and taunted by people who use this as a one-hour game of kicking people around and I'm not interested in entertaining them any more. I have the following disclaimer both on my LinkedIn [1] and GitHub [2] profiles because I had plenty of surprise-leetcode interviews, so I want to make it clear up front what's acceptable and what isn't. > I have a personal policy against any type of live coding or online coding tests during interviews and I don't enjoy or engage in any form of competitive programming. Otherwise, I am happy to work offline on coding assignments with reasonable goals and deadlines and to have in-depth technical discussions about software architecture and design as well as relevant technologies. [1] https://www.linkedin.com/in/mtodor https://www.linkedin.com/in/mtodor [2] https://github.com/mihaitodor https://github.com/mihaitodor
- CoastalCoder 2y agoI like the idea of your approach. Can you share anything about how well it's worked out for you? My main concern is that with the allegedly rampant cheating on take-home assignments, the number of employers willing to use them may drop precipitously.
- mihaitodor 2y agoI can't say this will work for everyone given the scarcity of jobs. I can afford to miss out on certain opportunities and I'm perfectly happy to invest longer stretches of time in networking and doing whatever homeworks if the assignment makes sense and it's something I am interested in. Let me put it this way: I'd very much rather change professions than go through another Leetcode-style interview again. So far it hasn't come to that, thankfully. There are enough opportunities out there once you spend some time building a portfolio and people in the open source space get to know you. PS: What this approach gives me is piece of mind since I know I won't get a surprise-Leetcode if I go through an interview. It has happened to me in the past, where the recruiter wasn't really aware what the process is and I haven't told them up front what I'm not OK with. Once I'm there in front of people, it's very awkward and frustrating for me to have to get up and walk out and I'd very much rather avoid that situation. Also, it's a waste of my time.
- _xiaz 2y ago[dead]
- ThinkBeat 2y agoI have so far not done a full Leetcode myself and I dont consider it an especially good approach. But I want to share a couple of thoughts. If these interviews in general, follow a form of template as to what they contain, what to expect, how answers should be presented, then studying it, while time consuming is not that hard. It can function as a form of "proof of work". That you took the time to prepare yourself for the interview will be points in your favor. Like putting on some nice clothes and brushing your hair. and putting together nice CV. The second part is to perform under stress. I hate this part of modern interview processes. They want to give you something difficult, then spinkle with some rudeness and abrasive comments. Will the candidate work under pressure or not? Coming from the consulting world, perhaps that is more common in that sector than others.
- Aurornis 2y ago> then studying it, while time consuming is not that hard. I’m in a mentoring group that includes a lot of people looking for jobs and studying LeetCode. Two themes that come up over and over again: 1. People overestimate the difficulty of practicing LeetCode. Reddit and other sites make it sound like you need to take 3 months off to grind LeetCode full time, but most people can do 1-2 problems per day in their spare time, lunch break, or other small window of time. You don’t need to do rote memorization of every problem on some list found on the internet. 2. Actual LeetCode interviews are rarely as hard as people expect. People think they’re going to get LeetCode Hard problems that require obscure tricks, but the vast majority are Easy and Medium.
- peter_l_downs 2y agoI agree. Thankfully, you don’t have to take them and you don’t have to give them!
- ergonaught 2y agoOver the past 25 years, the only thing that has ever reliably identified successful candidates for my hiring was having 2-3 people (at least one "cross-departmental") rate how much they wanted to work with the candidate, leaving it entirely up to them to determine how they arrived at that rating, and only hiring the highest rated people. I still performed superficial screening/filtering of resume/cv but there are very few roles in very few businesses where the "leetcode-style" of interviewing tells you anything relevant whatsoever. The industry only does it because it FEELS LIKE it tells you something relevant, and it FEELS LIKE you and your business must be important if this is how you interview people.
- IshKebab 2y ago> Especially since I know for a fact they don’t reflect the actual responsibilities of a software engineering of a job. I had one job working on a compiler that fairly regularly had leetcode-style algorithms problems, even novel ones. But yeah, most don't.
- deleted 2y ago[deleted]
- caff31ne 2y agoLet me put this straight. You are just lazy and those interviews are intended to filter out lazy engineers. Training for coding interviews is not a problem. You just need to spend 1-2hr daily and solve couple of hundred leetcode tasks total for less than a year. After this you'll not have any problem with this type of interviews at all. Additionally they boost up your coding skills and problems solving skills. You do not realize it yet because you did not train.
- mrbombastic 2y agoEveryone thinks they are google, if you are like 90% of tech companies and have a crud app, maybe a couple mobile apps and a few backend systems and admin tools, a radical idea is to involve your engineers in the interview design process and tailor your interview to the actual job they will actually be doing. Front end engineer and your stack is react? Pair with them on fixing a UI bug, backend engineer in rails, pair with them on a adding a basic endpoint. You get the point. If an engineer pairs for 30 min with someone I can pretty much guarantee they will have a strong sense of how they work and whether they know their stuff. I really don’t know why we treat this like it is some impossible task to determine if someone can do the job, just try doing the fucking job.
- DEADMINCE 2y agoMost people doing the interviews are not qualified to do interviews. At least most of the time in my experience. It doesn't help that so many companies think they have slick ways to root out better qualified people when most are just a waste of time.
- rascul 2y agoI've only heard of this crazy stuff with weeks of unpaid interviews and tests for programming jobs. Is this common in any other fields?
- lordnacho 2y agoHe's right to be sick of it. There's no sense in them. How often do you find an employee who if you'd just asked them an LC, they would not have gotten the job that they have proven themselves incapable of? The times I've met a programmer that we shouldn't have hired, it could not have been detected by LC. This has tended to be things like "guy does not want to work on this problem" or "this guy is suggesting things that are obviously bad designs, and doing it with an aggressive style". Rather than "if only we'd asked him to implement Dijkstra we would have found out and not hired him". LC also doesn't ask what you want to know. I don't need to know whether you can solve the Towers of Hanoi. I need to know that if there's a problem we need to solve, and it is a disguised ToH problem, you will recognize that there's an algo to be found, you will eventually find it's this one, and you will eventually find the solution and code it up in a sensible way that helps the team in the future. LC problems tend to be too short to decide whether someone actually has the skill that I really value, which I guess is gumption. We have a codebase that's become crusty over time, will you take the initiative to clean it up, or will you just solve the little LCs that present themselves and add that to the spaghetti? The interview form that's worked for me over the last 20 years is simply to have a long technical discussion, meandering across a bunch of technologies and problems. You can't prepare for it, and you can't waste your time preparing for it. Even if you say you touched a bunch of stuff, when you run out of opinions, I will know the depth of your experience. If you have an opinion, you will also know what the orthodoxy is on that area, and you can explain why you agree or disagree. If you are disinterested, it will be clear. Now of course this isn't going to satisfy people who want something they can call standardized. Maybe a pair of twins will walk in with the same skillset, and one of them veers down one path and the other down another, so that the conversations have different questions. But I would wager that I'd find the same result.
- kiney 2y agoWhen I read posts like this I'm always surprised and confused. I've had quite a few interviews for software jobs in my life but not a single one was leetcode style or with a whiteboard... Is this just a cultural difference between countries? (I live in germany) or was I just lucky?
- bluGill 2y agoThere is a lot of academic research on interviews. I'd like to see one of these blogs actually find and reference it sometime. Instead we get a lot of why someone "feels" something works/doesn't work, but no reason to believe they are correct.
- beej71 2y agoThis is a place small companies can get an edge, I feel. They don't have a zillion applicants, so they can be more hands-on in the interview process, and the interview process itself isn't clogged with years of cruft. They don't have to rely on "good enough" weedouts like Leetcode.
- mbravorus 2y agoMy frustration at this type of interviews is more philosophical. In broad strokes, for some reason the employers desire and require a significant amount of effort and training from potential employees so that those could (in theory) then solve complex problems for the company; but at the same time, employer's management _usually_ absolutely refuses to invest any noticeable resource in researching, designing and maintaining the processes they should be accountable for, including the recruitment. Which leads to the current state of IT/high-tech recruitment where things are, in most cases, so mismatched between ends and means, it's not even funny. It might be very entertaining to look at how people hiring for senior+ infrastructure roles (SRE, DevOps, what have you) try to use "leetcode" style stages - unless you are a desperate job seeker. (and no, I don't think an SRE or cloud infra engineer shouldn't be able to code, I just don't think leetcode-style tests are at all relevant as tests for that) And at the end of the day you end up with an engineering org where in the intake funnel they ask you to [competitively] solve variants of the knapsack problem, but once in, you end up solving it in the form of "how do I slice and dice a set of tickets within a completely irrelevant, misaligned and misunderstood "Agile" model so that can best pack SPs into a sprint and also do some actually useful work".
- nh23423fefe 2y agoThis person doesn't even spell check their writing. Imagine the code reviews six months out. > Kuberentes
- mean_pigeon 2y agoEspecially in this new era of AI assistance - these leet code problems with clear definitions and repeated online solutions are becoming less important to solve from memory or study.
- oooyay 2y agoThere's a way you end the feedback loop that encourages leet code, the people who endorse it. Openly commit that your focus in hiring evaluations will be on real world problem solving specific to each service team and that each service team must maintain 3-4 hacking challenges that are direct representations of their work. For most of us that's "perform a code review of this junior engineers undocumented code", "add some specific functionality to this API", "add functionality to this API without breaking contracts and show me how you ensure it's not broken". That creates variety in the question bank, standardizes evaluation, and will only encourage engineers who really want to work on your stack and product combination.
- guess_do_say 2y agoThe soft engineer is too much,but the job count is too little.you can easily google answers for these problems,but they like to test you by this method.
- stephenblum 2y agoInterviews cover collaboration compatibility. Not enough time to quiz you on tech knowledge. Leetcode-style interview represents your ability to work a problem collaboratively with a team
- milabrandson2 2y ago[dead]
- David244 2y ago[flagged]
- aleksander111 2y ago[dead]
- johnnyAghands 2y agoSame here. I miss the days when you were given a take home or, god forbid, a real world problem, something the company has run into that you can work through with an experienced interviewer. Some of the worst interviews I've had I've felt like I was a lab rat, just being evaluated for specific traits/reactions. The worst part is, like you said, every Tom, Dick, and Henry does this, its somehow become some kind of lazy industry standard hiring practice, hence the explosion of these interview aid services. Some people will argue it serves a purpose, but I really don't see how. It's like memorizing an answer sheet and doing well on a test. Is that really the type of problem solving you're looking for? Don't get me wrong, I do think its important to understand foundational concepts and algorithims, but like.. it's also the first thing thats abstracted away for good reason in the real world. Anyways its shit. The worst part is even with my experience I still feel like shit after these calls though I should know better.
- EdgarVerona 2y agoI feel like a large number of software engineer positions interview as if they are looking for computer scientists. The distinction is subtle, but important in terms of what is needed for the role. Most software engineers are going to be asked to solve problems and actively avoid recreating algorithms and libraries from scratch while doing so: it represents added time, risk of bugs, and complexity to do so for minimal gain in many cases. For most software jobs, the more important role when it comes to algorithms is in choosing which algorithm is most relevant to a task, not implementing it from scratch. To do so is often wasting your companies' time. It's unpopular, but most software engineering (including most of my own career) is closer to a plumber than a scientist. And you know what? We provide a lot of value as plumbers, as unsexy as it sounds. It's for these reasons that I think leetcode is an unsuitable test for most software engineering positions.
- jgoodknight 2y agoI personally fight against this trend by almost entirely indexing on problem solving approach when I give leetcode interviews at my BigTech. For me at least it's possible to get a strong hire recommendation even if you only get a brute force solution. I only care that I think you could get to a solution eventually, and are professional in the way you get there.
- GLORIA90 2y ago[dead]