In particular I don’t see anything else to replace leetcode from big companies’ PoV. They are simply too big to have people submit homework lol. Thoughts?
- Apple JuicyBaeNone. Leetcode is the surefire way to figure out if a senior engineer absolutely know their stuff.
- There is only a small set of people who will grind away at leetcode. If you use the same hiring practices, how can you hire diverse people?
Not many of the people I know will sign up for months of leetcoding on ends just to pass onsites. They have better things to do w their time.
If you’re using Leetcode to hire, don’t complain that you cannot hire. Thousands of startups out there don’t hire leetcoders and they’re doing just fine.
Also, junior engineers tend to be better Leetcoders than senior ones because they’ve had 4 years of practice, whereas senior engineers did it 10 years ago
- Amazon _binch_They'll regret hiring the Leetcode monkeys when they release their product late, failing spec, full of bugs, and saddled with an unmaintainable codebase.
When the shit hits the fan, that's when they realize they need us more than we need them.
Consulting work (cleaning up leetcoders' messes) pays quite well.Mar 131
- If you can get a PhD from top 5 school and/or write decent open sourced projects, you should be able to leetcode with maybe 5 hours of practice. It is not rocket science. Are you telling me you don't have few spare hours?
No one is looking for the top leetcoders, you just need to pass the coding bar, which is already very low. It is the stuff college students do in their intro to CS class for god sake. And if you are more senior, the design round matters more.7d1
- New 😲whosthereOther people have different goals than you so don’t question others priorities. Some don’t have the goal to leetcode because they don’t perceive it as useful. They would rather take time to do practical engineering work. They simply don’t care about leetcode because they want to learn things they want to learn.6d0
- No one has goal to do leetcode. It is just a small hop you are asked to jump. You don't have to jump through it either. Tech companies sometimes skip / downweight leetcode if you are established / talented enough in your field. The question is whether you are good enough to warrant that from the get go. If you aren't and still refuse to do what us mortal engineers do, then the leetcode does exactly what it is supposed to do, either filter out people who won't function well in a tech team environment.6d1
- Many of us senior-level SWEs came into the industry without a CS degree, back when landing a job required no whiteboarding of algos. A friend of mine was surprised to hear that I don’t have a CS diploma: he says passing interviews is easy for him because he just needs a couple of weeks of self-study to refresh his recollection of CS coursework from over a decade ago.
Ironically, he’s a CS graduate at a hardware company. My own non-CS degree? EE. It’s become impossible for me to pass the hiring bar elsewhere, just in the few years I’ve been at my current job.5d0
- Amazon _binch@domin8
According to me, you fail at basic reading comprehension and inductive reasoning.
However, I'm feeling charitable so here is a longer explanation broken down into small and easily digestible words:
* Leetcode "proves" competence for a very narrow set of skills
* Being good at leetcode is not an indicator of being a good software dev
* Job seekers know how companies interview
* Companies optimizing for leetcode proficiency will result in job seekers optimizing for being good at leetcode
* Companies will hire a bunch of leetcoders who can't design their way out of a wet paper bag
Leetcode is like standardized testing. When the only measure of competency is the test, teachers will "teach the test" and students will prioritize passing the test above all else.
This is how we end up with "intelligent" students whose only skill is passing tests by ingesting and regurgitating information by rote. In other words: developmentally stunted automatons incapable of innovation or novel problem-solving.
Does this describe you? 🤔4d1
- @_binch according to me, you must be working at the warehouse as you failed to pass the actual interview 😂😂😂.
You sound like sour grapes. 🍇🍇🍇
Those, who actually passed the hiring bar, know that whiteboard interviews are just one type of interviews people go through.
I hope these diapers don't feel tight for you.4d0
- I’ve heard internal grumbling around Leetcode questions with some managers opting for “easier” coding questions and focusing on discussing good coding practices (less rote memorization, more discussion). Also, more focus on design and behavioral questions. Some still hammer Leetcode though :/
- Pinterest bdiaxbebsleetcode is like SAT or GRE or even school GPA
it doesn’t mean shit except that someone can tell you “hey, if you wanna get in, study for this shit”
it cuts out people who are unwilling and / or incapable of straightforward studying related to CS
“but like coding bootcamps prove that a cs degree is optional” - yeah, but fuck off, i’ll take the top 10% of cs degree earners over the top 1% of coding bootcampers any day of the week, it’s a more reliable, consistent, well established way to filter people out
is it stupid? sure. so is school. so is society.
leetcode is one of the few straightforward, guaranteed ways to get into the top 1% of the world economically with just a few months of studying. nothing comes even remotely close in terms of opportunities
- Spoke with someone high up who hired a guy with Masters in Chemistry who only played around a bit with C in college. First programming job. In 1 year he singlehandedly solved a particular problem 30 people have been working on for years. It brought the company $20mil in licensing fees in the first few years and put the company significantly ahead of competition at the time. This was pre-leetcode, about 8-10 years ago.
@bdiazdebs’s system would reject such candidate outright as it biased towards particular types of people. It completely ignores creativity factor, which is extremely important as any type of engineering is creative work. Knowing how to work with trees and solve obscure problems may be good to have for writing actual code, but coming up with a create/new solution requires different set of skills.
For what I understood, this guy had a habit of hiring those who weren’t experienced programmers coming in, only for them to become rockstars in a few years time under his mentorship. I’ve personally met some of them.Mar 1017
- I also agree with MP3! My undergrad is in EE, my Masters in CS, but with a Project Management emphasis, not a coding emphasis. In my current job, over the last year and a half, I have studied and acquired 8 AWS certifications and am studying for my 9th. I have also studied for and acquired my CompTIA Security+ CE certification in that time frame. All while working full time as a coder in positions requiring expertise in multiple languages, using multiple technologies. What have I NOT done? A single LeetCode problem. Yet my company values my expertise as a SW, networking, and solutions architect engineer. I was recently part of a bidding war between my company and another company who wanted to hire me because of my proven expertise. I came out of it with a > 30% increase in TC. And neither company asked me a single LeetCode question during the process. And both companies are fairly large (>15k employees) and well established technology firms.
So what's my point? Simply this: if you want a specific type of engineer - one who is very focused on just the coding - then using LeetCode questions can be a good tool. If you want a diverse set of individuals who are very good at their jobs, who learn quickly and think creatively, and who can successfully execute in several different roles, then you are selling yourself drastically short by relying on LeetCode as a primary discriminator.
In a place where I interned ($15/h), the intern before me was tasked with wiring a Perl script that created a time lapse of graphs using the provided data and graph API. His script worked perfectly well, so his team put it in automation and forgot about it. Few months after the intern left they had to change a couple of parameters on the graph. What they discovered was that the intern must have been a fan of Perl Golfing which is when you reduce Perl script to the smallest possible size by using every hack imaginable. Needless to say, there were no comments and the entire script was a single line of unintelligible code deviously hacked together with such dedication and precision that it sent chills down your spine the moment you realized this wasn’t a damaged file but working code. The team could not figure anything out, so they had to write a new script from scratch.Mar 116
- There’s actually a very famous guy Nicolas Zakas who’s considered to be a Frontend guru. He interviewed at Google and got rejected bc he doesn’t know algorithms. If you apply one type of filter to hiring you cannot expect all good engineers to pass.
The way around this is have multiple ways to bring people in, not to weed potential good people out.
- I love how everyone is joining forces from different companies and backgrounds and are all in agreement that they would hire homebrew guy over pinterest guy.
Pinterest - you can invert a binary tree, nice, now what have you really ever done that made a difference ? Nothing. Homebrew guy on the other end did.
- BlackRock xisDifferent people will struggle with different kind of problems. If the person doesn’t know trees (no formal CS background) it takes a lot of intuition and help to connect the dots from swapping ref to recursion and node play. This us why we get multiple interviewers -4 to 5.
One of my colleagues used to ask just 1 question in SQL (quite complicated problem) and nothing else. His rationale was SQL is Turing Complete and declarative you should be able to use recursion in SQL etc ( i asked him why not ask dynamic programming in SQL :)
- Last year I interviewed with like 6 companies, because I suck at algos naturally I failed with most of them, I got rejected by Microsoft, Amazon, Facebook, Google and Uber 😢, I made it to the onsite of Amazon, Facebook, Uber and Onelogin (the only offer I got) and the general feedback was i suck at algos (what a surprise) but I aced the system design interviews (OL algos were like leetcode easy/medium), am I stupid for failing to solve the stupid dp coin problem? Maybe but at least I know how to escalate systems, test code and write microservices 🤣. I talked with a friend that currently works at Google as a SRE (site reliability engineer) about my interview processes and he told me something I'll never forget, he told me that when we has interviewing he too got asked algos question so he told the interviewer (not his exacts words) that he was an expert on SRE so he (the interviewer) should ask him about SRE problems and concepts and cut the leetcode bs, apparently the interviewer was on a good mood and accepted, don't get me wrong, my friend is truly a SRE expert so he got though hell but at the end he got an offer and being there for +5 years or something 😊
- @Reigen https://github.com/donnemartin/system-design-primer it's a good place to start but the key is practice, in my case I started freelancing at 18, creating simple php monolithic applications, 10 years later I learned a thing or two about designing systems 😊, more like I remember all the mistakes I made in the past, and also have experience with most popular frameworks. You can start by trying to create a simple blog application from scratch using different technologies (php, python, r&r,.net, nodejs, etc) so you will learn their limitations
- Thanks a lot man! I've been through the primer and the course but I've found it's only good for kind of knowing the ecosystem/jargon for things.
I.e. I don't think it really helps you build the intuition for building real life systems.
Your advice is really really helpful.
- One solution is if both interviewer and interviewee don't know the question before interview. When interview begins, a random question pops up on screen and both interviewer and interviewee discuss the solution with interviewee driving most of the talk.
That way, interviewer can evaluate the candidate based on his/her own skill level. Like if they are struggling to find a solution, its fair that candidate is having hard time as well.
That's how real world problem solving is in everyday work. You get a problem, you discuss it out with the team.
- Uber / EngfomoTwo things. 1. Current leetcode interviews is unfair to judge the candidate because the interviewer expects optimal solutions from candidate when they are prepared. If the candidate asks a question they know and the interviewer doesn’t back, almost certainly the interviewer can’t find the optimal solution on the spot either. 2. The interviewer has the right of interpretation. Even if the solution from the candidate is a working solution or even a brilliant idea, if the interviewer didn’t understand or thought the interviewee didn’t follow their leads, he/she will still give bad feedback. A lot of times feedback is subjective and capped by the competence and biases of that single interviewer.
This proposed approach sort of addresses the first problem but not the second. Ultimately it’s still about the right of interpretation. If the interview isn’t 1:1, it could be much better. Even it’s just 1:2 it’s much better than 1:1.
- Here's why it's flawed: the interviewees are the ones who are supposed to be in interview mode, not the interviewers. You can't expect someone (who has other responsibilities) who's running interviews at a variable cadence to bring the same heat to an interview consistently as the guy who's been locked up in his room for the past 6 weeks grinding for this moment and is more than likely on amphetamines.
- @shutterstock There should be no interview mode. Both interviewer and interviewee have other responsibilities. What makes you think every one has time to lock themselves up and prepare for interviews for months ? Some people have work, family and life.
Also, aren't interviewers being paid for that hour ? Why would they not bring same heat to an interview if those problem solving skills is their daily job ?
- This is one of those ideas that sounds brilliant but will fail miserably during execution.
You identified the problem. The interviewers want a systematic and relatively quick process to evaluate the candidates. Some of them are lazy (interviewing people is very low in the "help my promotion" department). So you can leetcode harder and fool the lazy interviewers with arcane optimal solution. But at least, their lazy evaluation is consistent from candidates to candidates. Your proposal of making interviewers work harder will add too much variation to the process. Whether the interviewer is more technically capable than the interviewee is irrelevant. You don't want a process where you have to send in your superstar engineers everytime to do the interview.
A good hiring manager knows how to interpret the interviewer's feedback and recalibrate the decision. They won't reject you because you don't know some arcane leetcode solutions if you can show a good thought process and coding practice.6d0
- Microsoft microshitReal mini project that can be completed within an 8 hours (a day of work), will tell you alot about the code quality, design, cs fundamentals, innovation and many many other things that leetcode will never be able to scratch.
- Cheating and plagiarism can be easily weeded our if you ask people to explain their design, trade offs, other options they considered, etc etc. we did a set of trial rounds and it was painfully obvious who the cheaters were. As a side note, turns out a lot of people have no clue how to test their code and build with testability in mindMar 610
- New / Mgmtxyz69moreFor those wondering about "cheating" and "plagiarism"; it doesn't matter if you have a project that covers everything you want and have them do it at your offices. Every developer copies code / uses Google / stackoverflow..etc. it doesn't matter as long as the goal is met, code is clean, commented, program works and have a lead developer judge architecture. You will learn 10 times more than leetcode ever could.
- The only company that asked me to do that I didn't even bother going to their onsite, the project was so poorly specified, and it was impossible for me to ask question. If that's how they hire people I really didn't want to work there.
Also I don't want to waste hours of my weekend for that bs, please keep asking leetcode question, it's so much easier
- Jet.com helloyouAgreed — it’s really hard to find the time to work on those interview projects, especially when you’re trying to balance your full-time job with 5 companies asking you to work on a project. I’d much rather study at my own pace a few months in advance and then take 5 1-hour interviews.
Flagged by the community.
- Microsoft / PRqwerkymoreI hear there’s a new tool people are using to evaluate candidates: Super Mario typing
- Microsoft KBlA86Many leetcode problems are tricky, if you didnt meet it before interview, you're doomed
- “here is an application of a well known and well studied algorithms 101 question”
“nooooo it’s a trick! my EE phd and 100 fpga publications never taught me how to apply basic algorithms fundamentals, therefore i deserve special treatment!”
there are like 5 core concepts you need to grok to figure out the “trick” in just about any leetcode question2d0
- Google Uvor31All I can say Leetcode must have some pro PR people that get everyone convinced they're the only way to get a job. I've been an interviewee and interviewer at a few of the fangs, and Leetcode really doesn't come into play.
- If G doesn’t ask Leetcode questions, then they are asking questions that are such slight alternatives to them that there is no practical difference. In my experience G doesn’t outright ask the question, but they give you a vague problem statement that you have to work out what the problem is first. Then it’s basically Leetcode from there on.
- Not every body needs 3 months of preparation to solve leetcode problem. There are plenty of people that can solve most leetcode hard on the spot within 20min, that's definitely not everybody, but that's the kind of people some companies are looking for. Just accept we're not among the brightest and stop complaining
- if you are ioi medallist or acm icpc finalist, yes. Otherwise, I doubt anyone can solve leetcode hard without preparation. But this only means you prepared in a different way.
More realistic stories I heard were people who got strong recommendations or hot skills can pass the interview without preparation because they were asked easier questions. This usually requires a PHD from prestige schools.
- Plenty doesn't mean the majority, it just means enough to fill most of the openings at top tier company. Recruiting at Uber is much harder than recruiting at Google, you want to see them? Go to Google...
Also there are 150 medals in IOI each year, add to them all those who didn't qualify from China because they can only have 4 participants, and you have thousand each year that will fall in your bucket. That's not much for the industry but that's plenty enough for the tier 1 companies.
- The biggest thing in this industry is capacity and ability to learn. I had an interview 10 years ago, which was amazing:
1st interview of the day: Manager told me about the product and its features and how some of then worked.
Discussion Interviews about code, systems, behavior followed after that.
Last interview: How do you think feature x from interview #1 work?
Basically, they where testing my capacity to learn the whole time. Most of the interviewers didn't expect right or wrong answers; it was mostly a test of a) do I listen? b) am I eager to learn? c) am I capable of thinking through problem?
- Lawrence Livermore National Lab / EngRon SwanmoreWhat an enlightened and thoroughly thought out hiring processes. Passing arbitrary barrier to entry like leetcode is fine for hiring cogs in a machine for contributing to the vision of those in positions to affect change. Going deeper and finding / evaluating those who can answer questions and provide perspective outside of the status quo actually move that barrier for the cogs.
- The Amazon way makes sense to me: much easier to get in (easy-medium coding questions, plus a lot of behavioral questions), and those who cannot get shit done are pipped out.
- Booking.com brbrbAsking from Leetcode is way better than asking how many tennis balls fill an airplane.
- Simple. If I see you completely lost and struggling then you failed the question. If you show that you make an effort and are thinking of a way to solve this problem that makes sense, then you passes it.
Again, the answer doesn’t matter. It’s just about seeing your problem solving skills and creativity.Yesterday0
- Sure. There are better ways, better questions... but for that the interviewers also need to be of higher intellect.
Anyone can ask some LC hard and give some hints on the way. What is difficult is to ask a seemingly easy problem and make it difficult by introducing real world constraints. That takes years of experience.
- When I do interviews of SW engineers for my company, I generally ask a relatively simple coding question toward the start of the interview. I accept pseudo code examples but ask them to explain their thinking as they solve the problem. Then once they have solved it we move on to other things for a bit and let the code sit there. Later in the interview I circle back to their solution and ask questions about how they would test the code, including what they would test for and what tools/methods they would use to test it. Then I let it sit again for a little while, and then toward the end of the interview I ask them to look at their code from an outsider's point of view and tell me what it's strengths and weaknesses in implementation are, and how they would modify it to improve it.
I find this is a programming language neutral way to test their coding thought processes, their problem solving skills, their knowledge of test tooling and methods, and their ability to depersonalize and analyze the code to find ways to improve it. All of which are critical skills (IMO) for an effective SW engineer to have mastery of.
- IBM qdeyeMy manager focuses on coding philosophy. He asks about certain coding "basics" and slowly builds from there. If the programmer can hold a conversation and demonstrate good coding philosophy, that puts them on the short list.
Its about knowing what you're code is doing, not how to code.
- Yes there is. https://blog.usejournal.com/rethinking-how-we-interview-in-microsofts-developer-division-8f404cfd075a
- Amazon / EngBeefJesusI get those kinds of questions for newish engineers. Either less years in the industry, or coming from an unfamiliar territory (country or company).
I’m not great at leetcode because I have a wife and kids, and I’m too busy with that and work to study. I’m confident I could be solid at them, but I’d have to make sacrifices for that time.
With that said, I’ve been at several solid companies and excelled everywhere because of my work ethic and ability to debug, fix issues quickly, and eliminate operational burden. Nobody ever asked me to implement a sudoku solver, or figure out the islands in a matrix. Could I come up with a good solution given time, probably. Have I memorized the proper algorithm for solving this in 45 mins, nope.
Needless to say, I’ve made a solid career this far without quiz problems. I’m sure the companies that need me to do those things probably aren’t the best fit for me. I value team culture and comrades.
Take away what you will from this. I say, study for what you want, and don’t stress about much more. The companies that don’t hire you because your solution to some bullshit question wasn’t optimal, you probably aren’t going to want to be there long term anyway. Stop comparing yourself to others, and find the job you want.
- Two Sigma zxcasdqI generally agree with you. But I’m trying to change jobs now and run into issues with companies wanting to down level me because I don’t have time to prepare for months for the interview process. My guess is I’ll end up down leveled somewhere, do great and work my way back up. But it sucks that people who prepare can use a job change as a way to move up while I have to earn a promo the old fashioned way (which many people view as impossible at the higher levels)
- ^^ This. And contrary to what some say, it’s not just FANG that uses whiteboarding. I’ve washed out of about 10 interviews in the past several years, mainly because I haven’t adequately prepared for the coding challenge (I write lots of code every year, but know nothing of CS algos). Not one of those interviews was at FANG, most were startups at Series A to Series D stage.
- Honestly after devoting a few months to Leetcode, even just doing/studying one problem a day has dramatically improved my interview skills.
- Lol this only makes the argument that leetcoding is a bad system stronger.
A few months have passed, you now do better at interviews. Have you become a great software engineer in a few months ? Off course not, you were bad or great before. All that has changed is that you studied for the exam.Mar 104
- Am I a better software engineer? Maybe a little better, certainly have picked up a lot of tricks, syntactic sugar, and I have a much better understanding for certain algorithms that I haven't visited since college. But you're absolutely right, it is an exam. There are many engineers seeking these highly desirable position at amazing FAANG tier companies. You need to out study everyone or at least be within the margin that gets you an offer. Study leetcode to improve your changes at getting the job you want, it's a fact unfortunately.
- Samsung 5kt789Ask the candidate to give a presentation on their latest work followed by Q/A. Many scientist positions are hired this way in companies.
- Just recently PiPed one dude who was good in leetcode, but is very bad in coding of real task.
- interviewing system is broken, while we continue to ask leetcode questions which don't show real experience and understanding how to write software, we will continue to hire imposters who only spent couple months to learn only leetcode questions. We need to ask more industrial questions related to developed product.
- New YgKF6kLeetcode tests problem solving ability, nothing more. Interviews and tests should be focused on seeing how the candidate would tackle actual on the job problems, as opposed to brain teasers.
- Microsoft 🌭 !🌭Leetcode let’s HMs fall into this trap of tunnel vision on a person. If you hire based on a persons performance on these cs101 homework questions then you’re basically saying your CS degree is optional or why bother if it only matters how you do in these questions. You’re also throwing out good systems designers and customer-focused people who spend more time building shit as opposed to shaving .3ms off a bit flipping algos that would almost never come up in real life.
I made the switch from mechanical engineering and I’ve never been stressed out by ME interviewing because they ask more physics based or system design questions (e.g if you don’t have a scale how do you measure the weight of a person? Or explain the heat transfer through metal vs still air) if MEs interview the way CS people do I imagine it would be mostly doing random math problems using U substitution or trig identities or something like that.
Why don’t we ask more systems focused questions or at the very least stop getting so hung up on the “one optimal solution I saw in the answers section for this problem I googled this morning because I’m totally unprepared”
- There's a better approach but it would require interviewers to train in learning human behavior, extrapolate technical strength by allowing a candidate to elaborate on past projects or discuss a real life like scenario based problem and have them attempt to solve it in a team like environment. I am able to discern good communication skills from bullshit as well.
I have interviewed and hired people without asking them any questions from leetcode. I interviewed about 30-35 people recommended 3 for hiring. They all turned out to be excellent engineers, with strong critical thinking skills.
I am not that great at leetcode but I create excellent solutions as per peer review. I have failed a FB on-site screen even though I solved the problem but I didn't have a 100% compiling code.
- I hated doing algo questions at one point in my life. Argued the same way about how the process is biased. But I missed out on working for the best companies for a couple of years.
At some point, I gave up complaining. Started preparing for interviews and landed jobs in almost all FAANG. After working in algos for a while, I also felt that I up-leveled as a programmer also.
- Yes if your goal is to work for a FAANG then you have to learn to Leetcode. Because that’s the process.
But a lot of people don’t have that goal in mind. You can do just fine joining a startup. Or find a group at a FAANG who’s desperate for your skillset that they are ok with not asking algorithms during interviews. 😉
- How about asking real world problems instead of a bunch of shit people can memorize if motivates enough? Just a thought. From personal experience I’ve interviewed people that could spit out leet code answers but then failed basic Vanilla JS questions. Food for thought
- New tRem0loI have never practiced coding on Leetcode, HackerRank, and other similar websites (though, of course, I know about them), and still received job offers for SWE from big companies (including Google and MS). They evaluate your problem solving skills and abilities to translate your ideas into code. So, in fact it's not directly connected to Leetcode.
There is a common misconception about Leetcode (and interviewing) these days. It may help you "cheat" pretending that you have skills and expertise that interviewers are looking for. But in fact an experienced interviewer can recognize that.
- LinkedIn WeinerI see that interview is a filtering process and not a selection process, since employment is at will and you still anyway be fired if you are not clearly performing consistently. Given that it's a filtering process, you can afford to have a small fraction of false positive signals. If you can't even master a bunch of problem solving techniques, it's apt to be getting filtered out.
- read this Check out this post! "Confessions of a FAANG hiring manager (HR Issues)"
- Google łIf anyone hates this approach, please propose a better one. Don’t just complain because you may not be good at it.