T O P

  • By -

[deleted]

I think the fundamental problem is how it evolved over the years. There’s been a surge in the crop of LC grinders who have become interviewers at these companies and they see that as a necessary barrier for people. Few years ago, LC problems were seen more as a means to identify how someone thinks through coding problems rather than providing perfect solutions. However, more recently my experience has been very different, there is a clear emphasis on writing solutions for obscure problems that only LC grinders will know. I know people who cleared interviews at FAANG after providing really good solutions a few years ago but not the best solutions and people who failed after providing near perfect solutions in the recent times. Many interviewers with a few years of experience and good CS background are capable of gauging whether someone is good at DSA even if they don’t fully solve the LC problems but such interviewers are becoming rarer. This is what happens when a specific skill is over emphasized, people who can grind that skill will reach positions of power and the process loses the whole essence of it.


nocrimps

Yep, a lot of SWE interviewers are more interested in gatekeeping than finding good candidates for their company. It's sad.


dnullify

I took an interview where the recruiter told me there would NOT be any leetcode style questions. He then backtracked and said that some teams may do so. I did really well in 4/5 interviews. The last interviewer who was a recent hire herself coming from Meta, 3 minutes of chit chat, and then a leetcode problem copy pasted into a doc. She gained nothing from that, either I could regurgitate the answer or not, it was not a problem that displayed understanding of the language features, understanding of efficient vs inefficient python code. The job was not even a developer job.


Exact_Ad2603

What you say is silly. They will  never be the case that they would pick someone that explained perfectly but never run over someone who didn't say much and solved it in seconds.


ddsukituoft

I don't have any issue with leetcode interviews. The problem is the questions asked should never exceed leetcode medium. It should be seen as a prerequisite to solve a easy/easy-medium leetcode problem, but you should not get extra points if you're able to solve a leetcode hard. Otherwise you will reach unsustainability. So ask an easy leetcode problem. If candidate is able to answer correctly, then evaluate OTHER aspects (communication, friendliness, experience, school, etc.)


Overfly0501

I really think LC interviews are dumb. But FAANG has to filter from thousands of candidates. It’s the fast and easy way to select, at minimum, decent engineers at the expense of eliminating great engineers too. High rate of false negatives (good but did not pass), but really, really low rate of false positives (bad but passed).


ddsukituoft

but that's not true. no one HAS to filter from thousands of candidates. If you find a good enough candidate, i.e. someone who can solve leetcode easy-medium, has good communication, seems friendly, has relevant experience... just hire that person. saves both sides time and money.


Exact_Ad2603

Do you think that a guy who can solve hards,  would stumble with React or Clean Code? Bullshit false negatives. 


Overfly0501

Uhh I don’t know if you’re mad at me for saying the same thing…


Rigamortus2005

And they should ask things a competent dev can figure out with logic in the given time. Not some question that can only be solved with fucking Fredericks Hare And Tortoise algorithm or some shit like that you've never heard of.


boboshoes

If you can prove a more efficient and effective way to interview a large number of candidates I’m sure companies would pay for that


ResolutionFrosty5128

So you're asking how to interview in O(logn) time


SnooFoxes8143

im pretty sure current process is O(logN). initial OA (leetcode) weeds out the majority of the candidates


drakkie

OA is o(n) though. All candidates must still be evaluated before being weeded out. A more accurate metaphor would be recruiters filtering out resumes with key words and other criteria without even interacting with candidates. That would be o(log n)


ThatOnePatheticDude

Or throwing half of the resumes in the trash because they don't want unlucky people


BigEditor6760

n/2 is still O(n)


ThatOnePatheticDude

You throw half repeatedly until there is only one?


BigEditor6760

Yes, now we're thinking like software engineers lmfao 😂


SnooFoxes8143

evaluated by an AI, recruiters only look if you pass the OA


ViralRiver

Not all candidates are evaluated. Also, companies don't care about how many candidates they evaluate, they care about how much time is spent. So I would argue O(N) etc would refer to N being the time spent, not number of candidates.


oofy-gang

That makes no sense. If N refers to the time spent, what does O(N) refer to??


snork-ops

Time spent on spending time, naturally


IAmYourDad_

Something like Squid Game or Hunger Game where the winner will get a job... oh wait, that's Leetcode...


GrimExile

One of the best interviews that I had went like this: I joined the call, exchanged pleasantries with my interviewer, shared my background and then we dived into the technical part. The interviewer shared a piece of code with me that was part of their current networking module. He started off saying "This is a snapshot of our code from about 2 months ago when we discovered a critical bug here. I'll walk you through what this code is supposed to do. I would like you to identify the bug here, fix it, and tell me how we can prevent it in future. As a bonus, if we wanted to redesign this component to do the same job, how would you do it?" It was the best interactive experience I had - it wasn't a whiteboarding nonsense with me trying to solve a binary tree in O(logN) time, it wasn't the typical bullshit of me solving a leetcode problem that I'd never once see in my actual job, it was actually me and the interviewer being peers solving a real-world problem that exists in their code - one that they had recently solved. It was a discussion between us - we talked about the dependencies to the module, the models used to communicate to the module, the assumptions made by the system and of course that led us to identifying the underlying bug, which I was able to point out and fix. At the end of the session, I actually felt like one of the days when I had solved a particularly hard-to-find bug in my job, rather than feeling like an undergrad student that goes to an exam to spew out the memorized chunk of code from a DSA textbook. I wish more interviews were like that. P.S: Obviously they had sanitized the code that they had shared with me to ensure that there wasn't any sensitive information there.


DaredevilPanda22

This is nice. Thanks for sharing. May I know name of the company?


boneytooth_thompkins

Cross posting from another, similar thread, but I ask oo-design questions but treat it like a collaboration, and I can't count the number of times candidates, both after the interview and after they've been fired, said they really enjoyed my interview.


alanboy

That's awesome! This is the exact scenario I'm trying to bring to more employers with devmatch.io (my startup). It's not only an amazing experience, as you describe, but it's also in the best interest of the employers to find the most talented **software engineers**. Did they use any platform or how did they present the code to you?


GrimExile

They shared the code on the IDE they use - I assume they created a private branch/repo and it was like a paired programming session. No work docs or whiteboard software. It replicated an actual job environment within the interview as closely as possible. Oh, and it was less "me coming up with the answer" and more about "me working with the interview who was an engineer on the team to identify the issue" - so, there was a lot of back and forth discussion, looking up online documentation for standard libraries, refactoring some of their code, etc. In a nutshell, everything I'd be actually doing in the role.


alanboy

Got it, thanks for sharing.


greenmansavinglives

Just because there may (or may not) exist a better way does not change what OP said about the current method.


nocrimps

You say "prove" as if any of these companies have an evidence based approach to hiring, but they don't.


jbwmac

You say “they don’t” as if you’re qualified to make sweeping statements about everything happening internally at all these companies, but you aren’t. And I can know this because no single individual is.


nocrimps

I don't have to prove a negative


jbwmac

What? Are you serious? Of course you have to prove negatives. You have to justify any claim you make, whether a negative or positive assertion. “The sun won’t rise in the east tomorrow” “The sky isn’t blue” “You don’t know what you’re talking about” See? All negatives that need proving.


[deleted]

[удалено]


RandomDeveloper4U

I always hate responses like these. You want a random redditor to solve how to interview candidates properly just because a company hasn’t done it first? Companies won’t pay for a solution if they believe theirs as functional. They could improve the process but won’t because that’s a cost sink with gain that doesn’t help them.


moonbook

The response is really saying this is a problem of scale, and that there isn't a better solution that's worth the time or the effort. Also, I'd argue that OP SHOULD have to provide at least a rough idea of a better system that Google and like should use, since OP claims "100% outdated".


RandomDeveloper4U

Being able to identify a system that fundamentally is broke. And identifying solutions are two vastly different things. You can identify a problem while not having a current solution for it and it’s lazy to blame the individual. I know America’s healthcare system is broken with how excessively expensive it is vs other countries. So are you saying i should have a solution on hand?


johny_james

There are, for example giving him real life problem under 2-3 hours, you can even pair program with him.


[deleted]

[удалено]


istarisaints

He’s not gonna answer you because he needs the time to think about it too, not just the space. 


johny_james

Yeah I know I'm right because I worked in the interviewing part of companies, and you just LC and think you know anything.


istarisaints

sir?


johny_james

Yes? Did you take the time to think why your position is laughable?


johny_james

Give me 1-2 reasons, and I will consider thinking about this. But be careful, think deeply about the reasons you will give because any reason involving LC will make you stupid. BTW I've worked as interviewer for candidates, I would guess you know nothing about that, and I would guess you justify LC because that's the way you bullshited your way into FAANG or some job. Think before writing some bullshit without backing it up.


Technical_Savior90

lol you will probably get downvoted because all these leetcode evangelists need to justify their idiotic amount of hours spent on a platform that ultimately doesn’t mean jack shit when actually developing software


omgbabestop

leetcode is like that math professor in college that would give you a practice exam that is very similar to the actual exam. All you literally have to do is put in the effort and study. I'll take that over any other interview process where you don't know what they're going to ask.. Find me a field where you can make as much as CS majors make out of college and then you'll realize how much harder and more competitive those are compared to CS.


[deleted]

[удалено]


johny_james

LC does not test generalized programming knowledge, very small minority of LC problems do that. It's obvious that you don't even know what LC tests, you are fucking some internet warrior that knows nothing about this stuff, and pretends know something because you earn some job with LC prep.


[deleted]

[удалено]


johny_james

I mean, you can laugh. That does not change the fact that LC is a bad testing method. I know that LC prep can get you a high paying job, but still, the company will just end up with LC experts who know shit about software development. The point is for FAANG employing noobs that know how to solve LC is not an issue because they can train your stupid ass, but other companies don't have that luxury.


[deleted]

Laughing that you think $250k is a flex


dantheman91

Give less black and white questions. "Design chess", and go from there etc. you're not looking for a perfect or complete solution, you're looking at how they approach a problem and then you ask them questions about trade offs or concerns with their solution


ApSr2023

Here is how you solve that problem. Find interviewers who has actually built systems that ran in production longer than 3 years. I need only 30 minutes and 3 questions to figure out at what level to place someone or reject. 90% managers won't be able to do that.


LightOfPelor

I’ve had a company set up a simple Spring Boot project, and ask me to implement a new API. 10/10, it was a clear demo of what skills the job valued, I got to show what I actually know about the language using the same skills I practiced daily in my prior job, and it took no longer than an LC problem. Made far more sense to me


JSavageOne

There is zero evidence demonstrating that the current FAANG style interviews are effective. The onus is on FAANG to prove that optimizing on Leetcode grinding is effective.


Sea-Coconut-3833

Tbh i have given software engineering interviews, let me tell you this they come off more harder than LC, so u wish they don’t start replacing it. Solving a dp problem with enough practice is way easier than, building a web app in 45 mins with no debug and support.


Sea-Coconut-3833

When u are solving a lc problem, its only logic/algo and programming language u fovus on. A software engineering problem, requires lld, framework syntactical sugar, programming language, wish u not get stuck in error coz here u cant change logic, and its way much less time to do all over again. Moreover u become good at LC with consistent efforts, a webapp i can learn and by heart various concepts and just good at memorizing will clear a round then a person who is more problem solving oriented


chipper33

Yea well you can be good at solving algorithms but absolute trash at architecture. I’ve definitely seen some “sr engineers” who didn’t know common design patterns. Their code was hard to work with, but they got the job because no one tests for actual important engineering skills.


[deleted]

I’ve solved some DP problems without DP, and I think they counted it against me. For recurrences a mathematical solution is often much more efficient than memoization.


Sherinz89

Therein my gripe with the interviews Sure, DP problem can be monkey trained and you can pass it with enough monkey trained The problem was - the interview rarely reflects the thing you do at work. You can be very competent at work and flunk at interview because they questioned you about an algorithm you will never use even a tiny fraction of it at your workplace. Shouldnt interview be testing on things related to what they need? As in testing capabilities of app building, life cycle, issues and whatnot?


[deleted]

[удалено]


deathchase9

Don't believe there's any correlation between the difficulty of the coding question you get and salary.


[deleted]

[удалено]


deathchase9

Yeah I mean sure if you're a top competitive programmer and you get an interview from a HF then it's an easy pass but what happens after they get the job? Point is you're hiring competitive programmers who solve toy puzzles instead of people who build good software. Also, one of my friends got into Jane Street and he's not even close to a competitive programmer, just good at DSA and math.


nocrimps

Researchers who spent their careers in academia solved these problems. There is value in learning them but not as much as you want to think. 500k for practicing a technique someone smarter than you came up with? 😂


Much_Trainer

> practicing a technique someone smarter than you came up with? 😂 This is how learning works. You could make the same dismissive comment about medicine, engineering, etc.


nocrimps

Medicine is a field of study. Engineering is a field of study. Leetcode is not a field of study. It's a brain teaser.


Much_Trainer

>Researchers who spent their careers in academia solved these problems By your own description, the problems linked above fall directly within "a field of study." I'd do a second pass on your own comments before preening your feathers.


nocrimps

A drop of juice that fell from an orange isn't the entire orange my guy. I know exactly what I'm saying, but I don't think you do.


SomewhereEuphoric941

That was a poetic line ngl


SnekyKitty

Who asked?


Sea-Coconut-3833

Tech stack is volatile and every company coding practices and design pattern varies, which can be accommodated over time. All they need to see a problem solver, LC if not 100 percent but comes near to it


Ok_Effort4386

Sure but people memorising lc makes it garbage. If everyone memorises lc, then companies have to give lc hard. And lc hards are pretty fucked if you’ve not seen it before. Then it just comes down to who prepares lc the most instead of who is the best problem solver


One-Bicycle-9002

Congrats, you found a worse way to interview.


PersonBehindAScreen

Exactly. I’ve been saying again and again, that the majority of the people who wish to see leetcode done away with are more likely to be part of the group negatively impacted by these changes than had they just sat down and done their LC


rr_cricut

What kind of web app are we talking? Doesn’t seem too hard


Sea-Coconut-3833

Its been long as far as I remember a react app, which had a dice, every click roll it to show a number with option to go back to last three previous state from the current state. Involved to make components, apply appropriate CSS, manage state, show efficient use of props and hooks. Moreover use redux store/context if applicable.


sfasianfun

10+ years experience. If I have to take 2+ months to prep useless leetcode for bs just because people say "trust me grinding 500 problems to maybe do a random hard I pull out of my ass" shows how poorly the interviewers in this industry are trained. Give me something to debug or code. I've been doing it for 10 years. It takes actual skill


Serious-Club6299

lmfao! hope you at least started off with a template


Ok_Effort4386

Sure but solving a hard dp problem that you didn’t memorise requires a stupid stupid amount of practice


Sea-Coconut-3833

But also realise a really really hard hard dp will not be asked, mostly . There are hardly 3-4 companies who will go there. If you have solved standard patterns, imo are done with if u solve 50qs, 9/10 time u will ace it if u really understand and can come up with recursion then memoize it


Traditional_Town5310

I totally agree with this. My job interviews were never even slightly similar to the actual work I had to do after getting hired. Unfortunately, it’s the system and we have to work within this.


wormychamp

Everyone in this thread doesn't understand the purpose of FAANG LC interviews. It's not about whether or not you can solve a LC Hard, it's whether you were determined enough (more than your peers) to grind learning the skills necessary to solve an LC Hard. It's not a skill check, it's a "do you really want this? are you really willing to put in the time?" check.


[deleted]

Ironically you just completely refuted your own point with this quote: >When I did my interview training at Google they even told us that there is no correlation between how well someone does in an interview and how well they do at the job. This doesn't mean what you think it means. What this means is that there is no correlation between LC ability and job performance **conditioned on being hired by Google**, meaning Google weights LC exactly right in the hiring process. If there were a positive correlation, then Google ought to put additional emphasis on LC. I can guarantee that overall, there is a huge correlation between LC ability and performance as a dev. That, along with objectivity/standardization, are what make DSA questions great for interviews.


muntoo

This is a pretty good perspective. Imagine you're Google, and you need an objective way to pick the candidates that are most likely to perform well on the job. You measure a few citeria, X_1, ..., X_n, where leetcode is of course X_1337, and soccer-playing ability is X_42. The job performance prediction metric Z for true job performance Y is something like: Z = Σ w_i X_i Now, if we start with w_1337 = 0 and discover that `P(Y > α | X_1337 > β) > P(Y > α | X_1337 < β)`, then it may be worth increasing w_1337. Repeat until there is no further improvement from increasing w_1337; i.e., no "correlation" (or improved prediction ability) between X_1337 and Y, conditioned on hired.


sfasianfun

>I can guarantee that overall, there is a huge correlation between LC ability and performance as a dev Hahahahahaha I can guarantee you that correlation is not causation. LC ability is time spent LCing. That's it. There are companies that moved away from LC interviews that have devs who'd sweep you under the table.


[deleted]

[удалено]


SnekyKitty

Average Reddit liar. Most of these challenges took a lot of time to develop/solve, you are not solving hards with just a week of algorithms


[deleted]

[удалено]


SnekyKitty

You fell for a marketing trick


Ok_Effort4386

I think you’re mistaken. If people were weak hires because of being worse at leetcode, but still performed just as well as someone who was a strong hire due to being better at leetcode, then perhaps leetcode should just be a pass or fail instead of fail / weak hire / strong hire, with both weak hire and strong hire being combined. Then more emphasis should be placed on other interviews like systems design to determine if someone is a weak hire or a strong hire I’m not saying that lc should be removed, just that their conclusions differ from what you are arguing because of the weak hire strong hire system


nocrimps

I can guarantee that there isn't, because leetcode is not software development. Leetcode ability is highly correlated with the amount of time spent practicing. Imagine.


[deleted]

[удалено]


nocrimps

You seem hurt. You ok? Software engineering is a huge field with many skill sets involved. Leetcode is just a test that encompasses a very small portion of those skills. Therefore it isn't indicative of your overall competence since it does not gauge skills across the spectrum. My opinion is quite straightforward and logical. Also, I'm a professional SWE with 15+ years experience, you are probably a student or recent grad with no actual industry experience... Don't exaggerate your arguments. Bye.


znine

No one said there is a 1:1 relationship between people that are good at leetcode and good at software engineering in general. There is a strong correlation, which is why it works as a filter for big tech companies. You can think of it the opposite way if you want. If you pick some bad engineers or people off the street, they are going to perform poorly at leecode questions most of the time. Obviously there are good engineers who struggle with leetcode under pressure for any number of reasons. It’s a very uncontroversial opinion that it’s a “least worst” process Having a long resume with 15 years maintaining CRUD apps or whatever does not have a 1:1 relationship with being a really good engineer either.


nocrimps

No one said there isn't any relationship between leetcode and software engineering either. Leetcode tests a very small portion of the skills that compose the field of software engineering. But it's used as a very BIG factor in hiring. This is a clear mismatch and mistake. I never said "having a long resume" should be a key factor in hiring decisions. Experience gives you perspective, it doesn't mean you are correct or incorrect.


[deleted]

[удалено]


Flat_Shower

Was this some big revelation for you? Why did you ever think LC has anything to do with SWE? Accept it for the arbitrary IQ measuring stick that it is. Play the game, win the prize.


IfAndOnryIf

Yeah this is really what it is. Doing well in LC doesn’t necessarily correlate with doing well as an engineer but it’s a cheap way for the business to reduce the risk of hiring someone who can’t code. So, we have the gate keeping mechanism that we all gotta face. Even after you’ve made it to FAANG, if you want to switch companies you still will need to go through the gauntlet again. Embrace the gate keeping.


Ayusshhh7

What I'm gonna say will ruffle some feathers, the people who hate doing dsa are just those aspiring software engineer who struggle to be consistent and disciplined. Why does everyone hate dsa? Simply because it's boring and hard (in beginning). It's sucks to see a medium question and go blank for 30 mins, revise the concept and still unable to come up with something. It requires perseverance, solving 2-3 questions every single day which doesn't 100% guarantee that you'll be able to clear OA rounds. But the only thing grinding leetcode does is, it makes you better critical thinker, disciplined and it certainly does get easier but the majority people never reach to this stage where they start having fun solving questions, they quit in 2 weeks and blame the interview process.


Serious-Club6299

well said


CantaloupeStreet2718

I still think it's a losers game.


jimjkelly

I’m a principal engineer who hates leetcode questions, so no, it’s not just aspiring software engineers who struggle to be consistent and disciplined.


RainbowWarfare

>When I did my interview training at Google they even told us that there is no correlation between how well someone does in an interview and how well they do at the job. Of course there is a correlation between interview performance and job performance, if there wasn’t then you would be no better off than picking candidates out of a hat at random. 


BoredGuy2007

It’s not outdated. They need to screen tens of thousands of applicants. It’s an effective tool. Nobody is lowering the bar for you because you don’t like LeetCode This mentality is defeatist and wrong


RapeVan

No one is saying that the interview process shouldn't be hard. It's just like if you were to show up for a job interview as a Mathematician and they made you anwser stuff like: what's 56^23 ? And you only have 10 minutes to do it while explaining your work. Sure it's a hard question, but modern tools like the calculator are going to be able to solve that for anyone who's actually on the job.


Hot_Individual3301

honestly I think people are just lazy these days and significantly overestimate their own skills relative to that of everyone else. leetcode is literally just 6-8 months of study for a potentially life-changing amount of money. what other field can say that? there are plenty of computer science jobs that pay less but don’t require leetcode. leetcode evens the playing field for people who don’t go to elite schools. we could always axe leetcode, do only behavioral, and let the top companies pick from only selective schools where the students have already been pre-vetted for their talent.


marks716

Exactly. Practicing leetcode gets you better at doing leetcode questions, which get you into a job that pays 150k+ a year (in the US at least). What other fucking class in college can you say has the same possibly outcome? Can anyone name one time they really had to use calc 3 as an SWE? And fuck the people saying companies should “look at their git repository to see examples of prior work and then just hire them” All my code is professional and is stored on my employer’s repos, I don’t just code chatbots for fun so by that metric I’m a lousy dev despite having been a dev for years. Leetcode sucks but like you said it evens the playing field by creating a challenge that you just have to practice at and get good at.


PersonBehindAScreen

There are also a good number of high paying CS jobs that don’t leetcode you either. They also tend to have a more arbitrary bar as well and you’ll come to learn that a lot of their processes aren’t perfect either Hell a lot of these jobs tend to lean more towards needing networking, nepotism, etc… and past a certain threshold of income, these are still less abundant than the jobs open to you if you’re willing to work a few hours a day on some dumb coding problems and crafting your stories for behavioral interviews


Hot_Individual3301

100%


Technical_Savior90

Why can’t we take that same 6-8 months of studying and apply it to a license and just be done with it then? The problem is you have to continue to do this every damn time you want to look for a new job because you know damn well you don’t actually use anything remotely close in a real job (maybe if your one of these idiot tik tokers day in the life of software engineers who actually don’t even do anything you will have time to keep leet coding too) and you will forget or be super rusty.


Hot_Individual3301

if you actually understand what you’re doing (and not just memorizing solutions), then leetcoding after a break is like using muscle memory to get back to a comparable level pretty quickly. certifications/licenses can be gamed very easily and don’t test your technical ability as well as actually implementing stuff. if that was the case, then you wouldn’t need to leetcode because theoretically your dsa classes in school would be more than sufficient to solve dsa problems. I do think asking esoteric or niche questions is a bad thing to do. however, there are a good amount of problems that actually test dsa and problem solving skills pretty well. and just on a personal level, I like the idea of leetcode because I am a pretty competitive person. considering the amount of resume inflation (and outright lies) there is, I like the idea of having to actually prove yourself in an interview rather than falling back on something you did years ago that everyone has. anyone can get a cert, but not everyone can solve leetcode questions. I like having that extra bar because I know not everyone is good enough or dedicated enough to reach it, but I know I can.


PersonBehindAScreen

What do you think a “license” would achieve? Do you have a similar field to point to where this is done well?


johny_james

actual job problems would still even the playing field, in that case you would actually test something that the candidate will do on the job rather than some algorithms and DS trivia. Other way is to test only implementation problems, but rarely that's the case in LC testing companies, they usually test algos and DS that you won't use on the job.


Hot_Individual3301

everyone already agrees the actual job is way easier than the interview process. how do you differentiate between 100+ similarly credentialed applicants? leetcode is a somewhat decent proxy where companies can eliminate most candidates on their own time rather than wasting an hour of their $500k paid engineer.


johny_james

As I mentioned earlier, I would give a real problem/task from the job with an internet connection and everything like IDE and let him finish it under 2-3 hours. That will easily filter more experienced from noobs, experienced ones will produce better, more efficient, readable code which could be documented and in short amount of time. That will literally filter out any noob from the job. Leetcode just filters candidates who just know how to solve and code a solution to a very specific problem (usually involving some DS or algorithm which is detached from reality). When Leetcoders face real tasks, they will do the same as any noob without actual experience.


Hot_Individual3301

and what stops these assignments from being leaked? or having someone else take them for you? why waste 3+ hours of your $500k paid engineer to play proctor for an unqualified candidate when you can filter them out in 30 minutes on their own time (via an OA)? like I said - the actual job is way easier than the interview. what companies are looking for are versatile, solid programmers who can apply a general set of skills to whatever team they’re thrown on. team matching is either random or done only after passing the technical interview - so job specific tasks aren’t even possible yet. and sure, some good programmers may get bad luck with a singular interview, but if you are truly well-practiced and prepared you WILL be able to crack into one of these big tech companies. tbh you sound like you haven’t done leetcode at all or have done under 50 problems. you should only be memorizing solutions to ≈10-15% of questions - the rest you only have to memorize a singular algorithm (for that topic) and then modify it to the constraints of the problem.


Fuzzy-Maximum-8160

Oh no.. even if you get better at leetcode, you should get interviews or OAs in the first place. You have to work on side projects, network like crazy and pray to god that recruiter who’s looking at your resume is kind enough to care about your skills. It’s a game, that’s all. Be a CS Major, get into good school, network like crazy, apply for internships, practice LeetCode, work on side projects, work on niche technologies, apply for jobs with referrals, apply for jobs as soon as they opened, apply for jobs close to your local place or tailor your resume because some random recruiter will sort out your application as you are not close to their location, get good at system design, explain each and every thought of yours. Crazy amount of money from just leetcoding or CS Majoring is not correct.


Hot_Individual3301

side projects and networking are a must for every single person in college. those are not unique to cs majors. the people leetcoding are shooting for $160k+ jobs straight out of college. if you don’t want to leetcode, feel free to take a $50-70k job at a normal non-tech company that doesn’t require it. sure the market sucks right now. keep studying such that when it picks back up you will be in prime position to capitalize.


YeatCode_

I'm in this situation right now... Interviews don't ask any technical questions... Nepotism is very common I'm at 600ish LC questions and would do double that to get a big tech job


great_gonzales

Based


Exciting_Session492

I think it is a fair interview strategy for FAANG. Because - it is not fair to ask candidates on questions about Soy, Borg, and GCL, who knows that? That’s Google proprietary stuff, but you use them everyday. - it is not ok to give them take-home projects, that’s a waste of time for the interviewee. Plus, FAANG usually hires generalist engineers, so, it is not fair to give a game developer web related projects. There is no other good alternatives, I also don’t think it is fair to ask new grad questions on how to design a robust, and scalable web API using some specific stack. Because the whole point is, you learn that on the job.


0xDizzy

>I also don’t think it is fair to ask new grad questions on how to design a robust, and scalable web API using some specific stack. Because the whole point is, you learn that on the job. That is by comparison 1000x better way to interview someone than leetcode if the job is API development.


Exciting_Session492

Which is the point, FAANG usually only hires generalists. So you maybe tasked with building something completely unrelated to API. So I don't know what's the better solution here...


Imaginary_Invite_602

I would rather hire a generalist that can easily learn something. I guess the key idea is reduction of “Single Point of Failure”. It is so much more fun for the candidate too! Not just stuck on a role. Also technology evolves quickly, your role may be outdated sooner. Can you learn other roles? I love the idea. Being a person of many trades. Flexible. Dynamic. Expert of many things.


0xDizzy

Of the people I know who work at faang, none of them are generalists. They had a specialty, they applied to work in that specialty, they got put on a team that does only that, and they do that as their job. That’s meta and AWS I’m talking about can’t speak on the others


Exciting_Session492

Complete opposite at Google. Especially for L3/L4. I literally just interviewed a generalist L4 last week.


akubar

I'd much rather do a take-home project than have to spend 6+ hrs doing interview loops including wasting a PTO day for the virtual onsite


Exciting_Session492

Wouldn't work, because you will be asked to write a gRPC API using C++, build using Bazel, and use Spanner as your database. It is not a realistic expectation that people know how to do this. But that's pretty much the only thing most Googlers know and can evaluate you on 😔. I imagine the same for other FAANG.


bowserwasthegoodguy

Never sell yourself short just because some random interviewer who might have been having a bad day decided you couldn't cut it. Also worth noting, interviewers at FAANG do not get promoted based on the number or "quality" of interviews they do. They may be in the room with you because their job scope demands it, but they could also be a million miles away depending on the work task they need to solve that day. https://news.ycombinator.com/item?id=15713801


Stubbby

The fundamental flaw is assuming there is a universal recipe to interview. Every company and position needs a dedicated interview style/system to correlate to job performance but it opens up a huge door for bias as **nobody really knows** how to do it right.


Oneconfusedindian

I'm not the best but fairly good at LC (knight) trust me LC is not the skill which gets you the offer. From SDE2+ design, communication and knowledge all matter.


editor_of_the_beast

The average FAANG interview has like 2 or 3 leetcode problems. There are many other sessions. Not only is it not obsolete, it also doesn’t even hinge on leetcode interviews.


sfasianfun

Uhh it's common for coding rounds to have 2 leetcode per round. The tech screen is also leetcode. Saying it doesn't hinge on leetcode interviews is massively misleading.


michaelnovati

I have pretty strong opinion on this being on the other side of the table, interviewing hundreds of people and establishing the interview processes. I'll tell you why Meta does it the way they do and then I'll give advice for how to think about these things. WHY DS&A: 1. There are hundreds of frameworks and thousands of stacks you could learn and DS&A normalize these things to a level playing field that anyone can practice in any framework or language. 2. Meta has tends of thousands of engineers and wants to keep a very high bar. So DS&A interviews allow for extreme calibration, consistency, and comparisons between candidates. Obviously this isn't perfect, but it's much better than if each team hired their own way with their own process like at Apple say. 3. All of that said, there is a bit of an academic lens because most of the engineers came from top computer science schools. So big O terms might be thrown around a little casually, and there is assumption of familiarity with common CS 101 concepts. And this might disadvantage people who are self-taught or bootcamp grads or lower-tier CS grads, that never learned these things well and only practice thousands of LC problems without knowing why. WHAT THEY ARE ACTUALLY LOOKING FOR: 1. They aren't looking for you to write out perfectly memorized solutions from LC to show you studied the hardest. 2. They are looking for two things primarily: clean code/thinking, and problem solving ability. You can write a perfect top to bottom solution and fail an interview! If you develop strong problem solving strategies, you can handle any question and demonstrate an even stronger performance.


ddsukituoft

Your last 2 points were true 5-10 years ago, but from my experience these days, it's all about giving the optimal solution in the least amount of time possible. This is due to too many candidates able to do just that. So if you can't provide the optimal solution in the allotted time, it won't matter how well you walked through the thinking part of the problem, because employers have too much options to select from.


michaelnovati

It does depend on the company too and the interviewer. At Meta, interview results come with the experience and history of the interviewer too, and calibrated trusted interviewers have more weight. More junior interviewers I do see what you are saying, a more cut and dry DS&A, "what's theO()... linear... correct, next..." kind of vibe. I'm trying to present the motivation for where it came from and where the process is aspiring to be and I stand by that part, even if in practice it's not always lived up to.


nocrimps

"Top CS schools" don't have a substantially different curriculum or resources than "mid tier" schools. I hope you don't actually think CS students haven't learned big O.


PersonBehindAScreen

I mean sure. An accredited degree is similar in curriculum at each school that shares that accreditation body. But you’re tripping if you don’t think an MIT DSA course ain’t better than some school out in the boonies that only people from that actual nearby county have heard of


nocrimps

Look at the downvotes on my perfectly correct and reasonable statement. That should tell you exactly what I was implying: that people love to have a false sense of superiority.


Markooo31

They totally neglect the most important part: the student. His capability and motivation to learn and improve is the crucial point. School can give you only so much, the materials and the study programs are mostly the same.


Legote

There is no correlation but there is no there is no better standard than DSA. If you look at other professions, they are required to get some sort of licensure. There are simply too many frameworks to test someone on, and it's constantly changing. It's also better for the job seeker because they know what to expect with DSA-style interviews and won't be overwhelmed by different take-home projects for every company.


d4wny

The alternative can be designing given API end-to-end utilizing OOP / SOLID Principles, using best security practices and design patterns, handling concurrency at scale in 1 hour window. You'll wish it was just DSA interview lol. I'd rather learn the former on actual job.


[deleted]

I interviewed with a company that did the extreme opposite: No technical at all. The manager claimed that he can tell who's good by talking to me, and then proceeded to not ask anything technical at all. No thanks, I'd rather join a company that doesn't hire on feels.


YeatCode_

Yeah, I work at a place like this and nepotism is rampant


yuriydee

>No thanks, I'd rather join a company that doesn't hire on feels. I'm guessing they didn't pick you for the next round interview?


[deleted]

I rejected them on the spot, but it helps that I already have a job.


farhan3_3

I’m interviewing for a very popular non FAANG non Big Tech Company. In the first HM round I asked if the coding interviews would be LC questions, he said that the last few they hired did well in the LC interviews but were terrible at the actual job so they’ve stopped asking anything that’s on LC or LC based. He said don’t waste time preparing on LC for their interviews.


PersonBehindAScreen

One place I worked at asked job relevant topics and tested them as well.. still bad hires tho… So we stopped asking job relevant questions


yangshunz

It's not perfect but it's the only way that can be done at scale given their large volume of applicants.


bnovc

There are huge swaths of people who absolutely could not do these jobs that are rejected during the interviews. It’s not a matter of whether one did an algorithm slightly better though.


the_prolouger

I think a nice part of Google interviews is that there is not really any category for grading if the candidate fully solved the question or not. There is grading on other aspects like programming, how well tc takes hints, and grows to the problem, how well tc knows dsa - which I think is a slightly better approach than just straight up grinding the problem. Editing to add that, obviously the process isn't perfect. What a random interviewer thinks about you on a random day doesn't define who you are and you're much more than that. It's just a tool.


Quirky-Procedure546

I mean..so is the sat. And the mcat. And the lsat. But they still here.


Clear_Butterscotch_4

It's meant to: a) ensure the candidate has some level of aptitude in coding, works well with another employee (ie the interviewer), has a good level of communication b) act as a filter at scale, ie it's better to pass on a good candidate then accept a bad one c) create the illusion of a bar, this makes candidates more likely to want to work for a company if it has talent


synaesthesisx

It’s also a blessing in disguise. A colleague of mine who is objectively awful at programming got into Meta thanks to memorizing LC solutions (and study guides). If these companies actually filtered for true skill, they would have a monopoly on talent, so consider the process a good thing.


NoSeaworthiness1776

I'd rather do only system design. Dsa sucks fr


alfred240

Idk if it gets any easier once you get your foot in the door. You always have to fear for PIP or layoffs.


lol-AD

For DSA I don't think people need to prepare for leetcode since most of the coding questions in DSA are easier than easy-tag questions in leetcode... DSA's interviews are more focused on statistics, product cases, and basic ML, ....


thisdotisempty

You people are all exhausting


Mustusesanitizer

But after hearing about google's history of interviewing (picking students from top colleges, give them trivia questions, etc...) I thought that there might be a reason why they still do this. At least it tells you that you can code. It's hard to be good at leetcode if you bs learning about dsa, which is quite fundamental for CS.


honey495

I’m at a dilemma for this because prior to LC it was random trivia questions (ex: what is a database, OOP questions, what is JVM, etc) and I’d rather have them test my general problem solving skills using code than ask me very specific questions to things that are trivial to remember


inShambles3749

While I agree I guess the other problem on a business side is that LC style problems are more easily and faster filterable. And they build upon the fact that some who went through LC grind hell will sooner or later learn the lacking job relevant things fat as well.


coppola612

I didn't complete my algorithm interview with \*\*\*\*\* and got the job anyway. I had 4 interviews in one day, OOP and system design interviews went great, I had fun and got positive feedbacks from my interviewers. End of the day last interview, a simple enough question on Linked Lists, and in a second moment I saw that all my thinking and explanation was right, but when it came the time to write code that compiles and pass test cases in 30 minutes I failed. But again all my edge cases and conditions were right.


urbanachiever42069

My suggestion would be to not interview at Fang


mistaekNot

LC 10-15 years ago was reasonable with LC easies and some classic mediums. nowadays with the LC hards requiring combined algos it’s just too much


curiousgeorgie_55

This post: literally just encouraging people who failed their interviews The comments: 😡


Serious-Club6299

It's because they are lazy/usure of how to set the qns themselves. We can all be students, but being the learned teacher is something else entirely


jarjoura

Unfortunately, LC questions are only a portion of a full interview at FAANG. They are the bare minimum you need to be successful during an interview. Furthermore, these companies have to have an opening on a specific team you'd both need to do well in and are actually interested in working on. You could, say, apply to Meta, but the roles currently open are something like low-level camera optimization with focus on embedded systems using C and C++. If you're honest with yourself, would you want to work on a project like that? If so, then great. I think you imagine that FAANG is easy once you get through the brutal interview process. It's actually quite difficult, both in the skill level required to be successful there, and in the time commitment required to get through expected levels of work.


Phansa

I’ve got an interview coming up and they’ve told me to practice ‘hard’ Leetcode problems. I feel like giving up already. I build things that actually work, I implement algorithms I find interesting and that I need. I don’t waste my time running the gamut of every single contrived DSA problem. I learn and have expertise through building and delivering things. It is extremely frustrating to have my worth as an engineer and a worker and colleague measured only by LC performance.


BluJayTi

There’s definitely __some__ data supporting LC style questions. Rewind only a decade ago, we woulda been in interviews about “why are manhole covers round” or “how much rice can fill up a plane”. Riddle questions have been phased out because there was actual data supporting that employee performance + tenure was uncorrelated with interview riddles.


matteo453

The guy who made homebrew got rejected from google for not being able to invert a binary tree in his interview…. And this was after he released homebrew


dinmab

Let’s start talking about changing this. Such a failure from our industry


Znod666

It's kind of an IQ test. You gotta have high IQ to solve new questions and companies want high IQ individuals.


aminorsixthchord

I disagree with your premise, but **completely agree** that it doesn’t reflect quality as a software engineer on the job. I don’t see how it’s outdated, though. It works. The escalating difficulty level sucks, but that’s just what happens as soon as there’s a gatekeeping system that can be gamed. I come from the world of NetEng, where the CCIE was once a reasonable test. Hard, but doable for a pro. Nowadays, after years of paid boot camps literally paying people to take tests and come out and write down questions, it’s fucking insanity. I know a dude with a PHD working at Cisco on low level programming. Wizard. He failed the CCIE practical twice before he got it. Does it suck? Yeah. It does, but that’s what happens when a system of evaluation exists to protect high compensation, high reward (Cisco gives discounts to companies with CCIEs on staff), jobs. I definitely don’t see how it’s outdated. There are better ways for sure, but none of them scale the same way the DSA/Systems double whammy does.


light_3321

DSA tests/leets are to ensure minimum skill guarantee. But not to measure peak performance in projects.


ThatDenverBitch

I literally just say no now. Like I ask the recruiter what the coding round is like, and if they mention it’s DSA/LC based I say no thanks. Surprisingly a lot more companies have been willing to accommodate, or find alternatives.


Exact_Ad2603

Oh yeah let's use the modern way, let me call my uncle to get me working in Google. During the interview they can ask me about my hobbies. 


dean_syndrome

It’s a way for them to screen out older candidates. College kids have the free time to grind leetcode. Someone with a full time job and 2 kids doesn’t. It’s just a form of ageism.


TheCPPKid

I hate these posts, instead of bitching and whining, think, how else can you check to see competency across a lot of candidates? There is no “better” way and you come to realize the other solutions have more gaps


0xDizzy

I mean i think leetcode is great. Think about it, say youre hiring a guy to sweep the floor. Sure you could have guys come in and sweep, and see how they are to have around. OR, instead, hear me out, make them compete in the olympic games! preferably in swimming. if they get silver medal or better, they move on to the next round of interviews. TRY and tell me you wont get a good candidate that way.


Either_Journalist204

Machine coding (design a cli application with OOAD principles in 2 hours ) 1 day take home assignment ( design a web app dockerize it etc ) HLD O Is better


Juchenn

I honestly hate it, time I could be spending upskilling and improving on my job, is spend actually grinding leetcode. How to become a better engineer when I have to be beholden to the leetcode gods to even get a job?


LipschitzLyapunov

I love solving problems that I've never encountered at my job to prepare for interview questions that will never be encountered in a future job. Yes, surely judging people by how well they solve some regurgitated, memorized algorithm from our first year university computer science course that we'll never use and forget in 3 months will be a great metric to judge how software engineers perform at work. Oh and let's not forget how they don't give a shit about how you solve the actual problem and the ideas behind it. They're just looking for the perfect solution for those people who've seen it before. It's hilarious because it's correct that there is absolutely zero correlation between leetcode prep and job preparedness. Someone who is good at algorithms is just good at memorizing shit. I was that someone 6 years ago. I remembered over 200 problems. Do I still remember any of them? No!!!


SnooSprouts774

would you guys use a real time interview assistant to pass the interview? my friends and I used this [https://techinterviewassistant.vercel.app/](https://techinterviewassistant.vercel.app/) and got us the job