Hacker News new | ask | show | jobs
by brentmitchell25 1358 days ago
They should only keep the engineers that remember how to solve leetcode hard problems /s
4 comments

I was wondering if there is a correlation between hiring engineers who spend their lives memorizing leetcode hard problems and a company's ability to innovate and execute?

Did they really optimize for hiring the top 0.001% of engineers or it's just that the fish is rotten from the top.

It seems to me that the selection process favors Indian and Chinese engineers who are used to cramming for rigorous entrance exams to top universities.
I think it just heavily favors new grads, who just spent a year+ studying algorithms. Those with full time jobs have to spend precious hours of free time remembering how to do these.
> I think it just heavily favors new grads, who just spent a year+ studying algorithms.

Year+ is a fair assessment. A proper Computer Science course(4 years!) is mostly about algorithms. Most of leetcode hard would qualify as warmup exercises for my class.

That was a while ago. Right now? My brain is chock full of architectural stuff, k8s, several programming languages, multiple cloud provider idiosyncrasies, etc etc. Can I do leetcode? Yeah sure. Can I do it during an interview? I've tried recently, bombed spectacularly.

I'll probably have to invest the time prepping properly because there's little choice these days. Like you said, it's using up our precious free time. I'd rather be, I don't know, writing some stuff in Rust so I can add that language to my toolbox.

I'm practicing leetcode right now and I'm also working on a side project in Rust. I confirm it's much more fun writing some stuff in Rust.
Please continue to give your honest feedback to employers. I don't do leetcode and I won't proceed with an employer that expects me to interview like that.
Well, this just sucks about these jobs interviews. I learned quite a bit during my last job and I'd be happy to show some of these to the interviewer, but instead I'm forced to answer questions that I know have nothing to do with what I'll be dealing with. It's always the same story, it's just exhausting.
Yeah, it's kinda ridiculous actually. It's like they don't even believe you were employed when they interview you.
This isn't what new grads actually do. They're in the same boat you're in, algo classes have a lot of theory but LC is a different beast entirely
Having the theory fresh in mind is a big help though I think.
so indian and chinese new grads ?
And also Eastern European or ex-USSR countries where highschool STEM curriculum is more difficult than in the west and participation in STEM competitions and olympiads is encouraged for kids.

We had to solve binary and hex division and multiplication on paper for exams and study Dijkstra's algoritm and binary tree traversal in highschool CS. Ugly stuff for a bunch of 16 year olds who just wanted to make Flash games. Really made me hate CS.

> We had to solve binary and hex division and multiplication on paper for exams

This is not ... hard. It's the same logic as decimal multiplication/division on paper.

> study Dijkstra's algoritm and binary tree traversal in highschool CS

That's more like it!

>This is not ... hard. It's the same logic as decimal multiplication/division on paper.

Do you really think tests where you gotta solve several divisions and multiplications on paper in hex and binary with no aids under time pressure is approachable for every 11 year old who just starts to learn about CS?

It's good to learn and know how such operations are done, but those tests were the bane of my 11 year old childhood.

I wouldn't call 11 years old as "high school".
Eastern European here. From the mentioned I had binary division, but that was it.

I was solving leetcode-adjacent problems for the entire last year of high school in preparation for the final exam though.

This was poked fun at in ex-YU: https://www.youtube.com/watch?v=pmrJQaj8sIo&t=240s (sorry, no translation; tl;dr: CS without computers)
Nah, it's the whites who the hiring market favors.
The problem with companies the size of Meta - and even down to 1/10th the size - is that there's just so many moving parts, it's a day job just to try and figure out how things work and where to implement a change.

It's no wonder that - at least for a while - Google was churning out new products left and right. It allows people to build new stuff instead of have to maintain existing stuff.

They haven't asked leetcode hard problems for years, at least.
I got 3 hards only 6 months ago. How do you know what they are asking 'for years' do you have access to their questions or something.
I am familiar with Meta's interviewing policy, which proscribes LC "hard" type problems. I don't know the contents of every single interview, obviously. Your interviewer(s) violated explicit policy if you were given LC hards.
In a way does it matter? The interviewers aren’t making the final decisions and the actual hiring committee aren’t stupid and should be able do some basic normalization.
I think it probably matters to the individual interviewees and also matters to the hiring committee because it reduces the quality of the hiring signal.
your interviewers gone rogue theory is hard to accept. Many many people have consistently been getting 'LC hards `for years`.
Have you ever interviewed with Facebook/Meta? They don't do leetcode problems. Say what you want about them as a company, but I've done quite a few interviews in my career and their process was one of my favorites.
Have you ever interviewed with Meta? They are _the_ FAANG company that places the highest weighting on leetcode problems.
From my experience they place most weight on system design. They allow you to get 1-2 neutral flags from leetcoding and still get an offer.
When I did the system design interview the guy told me that zuckeberg created memcached. Not sure if he meant used or invented, could have just been a language thing. Anyway, I'm glad I didn't pass.
A oft-told tale in FB. Zuck rewrote memcached for FB in 2005. Either you or he is slightly misremembering the story.
A guy from Google told me that a quantum computer can solve all NP-hard problems... They aren't always the best and brightest.
leetcode is a standin for all thing you can memorize and vomit out in in interview.

Designing url-shortner is no different than edit distance.

Meh, I can do a URL shortener in my sleep, but I'd have to study to beat a leetcode test.
its the opposite for me :D
I had a radically different experience. The worst interview I've ever had was with FB about 9 years ago. I got an offer and it was significantly (like more than 2x) what I was being paid at the time and I turned it down because the interview experience was so awful I couldn't imagine working with the people who had conducted my interview. Even setting aside other ethical concerns, I've added FB to my permanent blacklist of companies I will never work for sheerly because of how shit their interview process is.
I interviewed with them 12 years ago, it was a long time ago but I remember all the interviewers felt like they had come from a funeral, everyone was absolutely miserable. I knew right then and there I could never work at a company with such negativity, also they wanted me to skip my honeymoon to start with them which I was not about to do so overall a terrible company and experience. And after I started learning about their shady business dealings I put them on a permanent blacklist to this day.
I interviewed with Meta a few months ago and all my interviewers were upbeat, enthusiastic, and excited. Meanwhile my Google and Amazon interviewers looked miserable and bored as fuck.

With Google it's actually been a pattern. Interviewed for them and passed HC three times, but each time I couldn't bring myself to work for them given how bored everyone looked.

A strategy my friend used was to get the "soft offer" and then shop around for a team for as long as it takes to find one that excited him.
That's literally just Google's hiring practices. There is a team matching phase for all engineers.
> also they wanted me to skip my honeymoon to start with them

They must be really strange folks. I can't imagine 1) a company who would propose such a thing to a (potential) employee, 2) a person who would agree to that. Seriously, WTF.

Ask them for a million dollar bonus to do so and a contract saying they'll pay any losses due to divorce later on :P /s
Their interview process improved significantly and they had it arguably better than any other FAANG in recent years.
I'm interested in any evidence about this. I'm not agreeing or disagreeing its just a extremely general statement about 5 companies with no facts behind it and would be interested to see whats different between all 5 companies in 2022 in the talent acquisition department.
Eh, must have failed to push it organization-wide.
Well, a friend of mine was invited to an on-site interview at Google once, flew a few hours there, then arrived at the reception, waited for 7 hours, then they told him they forgot about him and he can go back home. Some people have bad experiences for many different reasons (shrug)... Pity it happened to you.
I interviewed for them. Questions were Front End related. One of the questions were "how could you find a node in an hmtl by id", to which I answered "using the DOM api, a querySelector would do a good job". The interviewer started hypothesising that the querySelector is not available, so we had to start discussing a whole binary traversal algorithm. If that's not leetcode I don't know what qualifies as it
Basic tree traversal is considered "leetcode" these days? No wonder software is shit.
for html node selection? this seems like a silly jump
Exactly, how many times does anyone ever reach for binary traversal in their experience?

It’s optimising for the 1%.

Tree structures are very common in software. Needing to traverse them is also common. Sometimes people write utility functions to help you do it (that's where querySelector comes in), but it's really bad to think this knowledge is useless in writing software. You can't even list files recursively in a directory if you don't know how to properly do a tree traversal.

There are many algorithms in "leetcode" style questions that almost never get used in real world software development. Tree traversal is not one of them.

Heck, the whole family of lisp languages are nothing but "(non?)abstract syntax trees". Imagine getting reprimanded by a user named `morelisp` :)

And to be pedantic, since DOM trees are not binary trees, it's not a "binary traversal" problem. I encounter binary trees a lot less than the non-binary counterparts, but the traversal algorithm is basically the same.

document.getElementById??
That's the DOM API.
It was hypothesized that querySelector was not available, not that the entire DOM API was not available. However, if we suppose that the entire DOM API was not available, there would no way to access the HTML nodes so no algorithm is going to save you anyway.
I just joined Meta this year and had to solve leetcode-style problems, not sure what you mean? Maybe that they aren't literally taken from leetcode or taken on leetcode.com?
I got rejected on an obscure leetcode hard last year in the telephone screen, which was ridiculous considering I had enough practice to destroy leetcode hards.

Though it worked out for me in the end, but I was definitely annoyed for a day or two.

I got rejected and then when they inevitably called me up the next year the recruiter pulled up the feedback from my interview and I wasn't recommended because I rewrote a function to be easier to unit test, after being asked "how would you test this?". By rewrote I mean I added a parameter to take in a fictional db client, rather than instantiate directly.

I told her no thank you and hung up.

I had a recruiter reach out to me about some ML positions there earlier this year, and I was sort of interested in it for a bit. They have an applicant portal where they literally have you practice leetcode problems, and are pretty open that you're going to be asked those kinds of questions in the interview.
Are they at least ML leetcode problems?
No. This was for more of a machine learning engineering role than a pure ML scientist role though.
They are notorious for wanting their engineers to spit out memorized solutions of leetcode hards
I have interviewed with them more than a single time, and this is simply not true.
Facebook is notorious for using leetcode problems verbatim. Your singular experience does not invalidate that fact.
This has been my experience as well, same for Amazon.

I didn't practice that much since I hate wasting time on useless tasks, and the interviewer literally told me to just leetcode and read the interview book. I asked him a bunch of web questions and he had no fucking clue, all he did was leetcode and interview every year.

you're forgetting that it's leetcode pulling their problems from the companies' question pool, not the other way around.
It doesn't matter. At the end of the day, all leetcode "style" questions fall into a particular bucket. Two pointers, graphs, etc. It's not like the company is innovating new types of problems. It's just the same problem reworded.
This thread leaves me wondering if, perhaps, interviewing differs within the organization. Lots of confident "nuh-uh"s on both sides.
They don't ask leetcode questions for Front-end engineers AFAIK. It's mostly practical Javascript/DOM/browser questions.

Funnily enough though, I heard once you join as a Front-end engineer, you are pretty much a regular SWE and can join any team and work on any tech, even backend/systems.

it probably depends on the role and team. to say they don’t have leetcode style interviews at any stage for any candidate is “simply not true”
I mean, they do ask algorithmic problems, but first, they're not "leetcode hard" (leetcode hards can get just insane, it's impractical to ask those in an interview setting), more like mediums, and second - out of 6 or 7 interviews maybe 2-3 will be those. Domain-specific / system design ones are more important. Though that depends on the level they're hiring for, I imagine fresh grads get more "write code on whiteboard" types of questions.
the claim was that they don’t do leetcode questions, not that they do easy and medium ones but not hard ones.
Leetcode-style problems yes; "hards" specifically, no.
Leetcode problems doesn't mean leetcode.com problems in a narrow sense (aka copy paste).

It means reasonably complex algorithmic and data structure problems you're supposed to solve by coding under pressure, quickly, in interview conditions.

And if you think that's not happening, I have a bridge in Brooklyn to sell you.

I suppose I AM confused then. I don't mind someone asking me complex algorithmic problems as long as we're WORKING toward a solution together. To me, leetcode means, "you have 45 minutes to solve these 2 or 3 problems... I'll watch".

Algorithmic thinking is kinda what I do. So solving those problems doesn't feel like a bad proxy for how I might perform on the job.

Yeah, we all solve problems using algorithms.

However, how often do you come up with high performance, close to optimal algorithms, on your own, within 45 minutes?

How often do you implement heaps and such as part of your day job, versus using standard libraries or common ones?

I had to navigate a dynamic maze involving teleports and boulders to show my leet graphing abilities to join as a test engineer :) Suffice to say I failed. I build test frameworks, manage test network infrastructure, and deploy CI/CD pipelines (and think I'm pretty good at it). I just really suck at leetcode.

Edit: In fact thinking back, they even sent me tips on how to improve my leetcode skills in preparation for the interview! The whole process was completely guided by it.

Completely not my experience. All the questions I got were word-for-word Leetcode problems. At least Amazon goes through the trouble of disguising them as "Amazon Deliver Trucks going from house to house" instead of "an array of numbers"
Huh, I had an interview at Meta a few months back (which I backed out of) and the (very nice) interviewing prep instructions they provide very clearly stated you should be able to do leet code style questions, preferably two mediums, in an hour. Their interview process felt very organized and prepared overall, although I backed out before actually interviewing with folks.
I have, and it was straight up leetcode. But that was a few years ago.
Good to hear that it's changed if they're not. When I interviewed with Facebook, they asked a leetcode problem, had me come back into the office for a second one because I got strong feedback from all the other sessions, then rejected me with a suggestion that I should come back in 6 months when I'm better at tree traversals.
I spoke to a Meta recruiter a few months ago who offered to send me helpful algo resources for the interview.
Willing to share them?
They ghosted me, but it was in the initial call.
Um, when I interviewed, there were two leetcode problems administered by junior engineers to me. A recruiter contacted me recently about a role and I asked if they still ask leetcode questions... got crickets in response.
I previously worked at Facebook/Instagram for ~10 years and conducted over 1800 interviews (got the t-shirts and hoodie to prove it). leetcode style problems are at the core of the "ninja" interviews. In fact, a lot of leetcode problems are sourced from what Facebook asked before leetcode even existed.

That being said, guidance is to ask 2 medium difficulty questions as opposed to 1 hard one.

This is so false. They absolutely do leetcode problems
lol. meta literally has their own leetcode style training platform for you to practice questions on when you apply for SWE positions.
They definitely did when I did a loop a few years ago. Maybe things changed or you got lucky?
Maybe? 2020 for me. The first wave had me write code to solve a problem.... pretty far from Amazon's rebranded HackerRank/Leetcode nonsense. I was talking to a human being the entire time. They were great about making me feel like they WANTED me to succeed. Next round was more conversational/System Design stuff.
I think you're confused, when people say "they ask leetcode questions" they don't mean they do automated tests

The questions the human is asking you come from a big question bank and a lot of it is listed on LeetCode under the meta company tag because people leak them.

People use Leetcode to practice for those interviews, they don't use the leetcode site in the interview

I guess I am just saying I didn't feel like herded cattle like I did with Amazon's automated leetcode/hackerrank rebranded system.

I mean, now I'm just here to watch the downvotes pile on....

IDK why this is so contentious for folks, it probably varies by team, role, or something else.
I have. They definitely ask leetcode type of problems.