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.
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.
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.
>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.
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.
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.
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.
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.
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.
> 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.
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.
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
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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
Did they really optimize for hiring the top 0.001% of engineers or it's just that the fish is rotten from the top.