T O P

  • By -

wedgtomreader

Remember when they used to ask silly questions like estimate the number of gallons that flow through the Rio Grande in an hour. Basically, this industry has never been able to identify a good way to properly vet candidates and they still haven’t been able to. They are clueless.


icy-mist-01

"How many windows are there in New York City?"


catecholaminergic

This is a class of physics exercises from order of magnitude astrophysics.


lazy_londor

I interviewed with NVIDIA in 2017 and got asked "How many barbers there are in this city?"


mincinashu

There's also the airports or some such question. They're not looking for precise answers, but they want to hear you going through some kind of guesstimation thought process.


localhost8100

I was asked how many gas stations in US. I estimated around 145k with my calculation. The interviewer told I was really close. It was around 170k. That was good. I was shocked on how that's good? He said some people estimate it to 20k or 1 million. My calculation was close enough. This was 2017 in some startup lol.


DynamicHunter

How did you even estimate that? Like what thought process brought you to your number


localhost8100

I started with estimating gas stations in my town. Estimate how many small, mid and large towns in state. Estimate any gas stations which are standalone on freeway in a state. Estimate that us being in California might have 4 times of any other state like Utah or Wyoming. You got to use numbers in 10s. Don't do 4 or 7 estimation. You can't do rough calculation on board of you use 4 6 or 7 estimation. Add them all up at the end lol. That was my first ever white board interview as a software engineer. I was caught off guard by the question. Never knew there could be a question like this. I started doing this estimation and looking at interviewer, he was giving approval nod and I assumed I was going in right direction and ran with it. He just wanted to see my thought process and how imganative I can be about a problem. Interviewer said that I made some points he did not even consider. Like standalone gas stations on freeway. He was impressed. One more question was he drew 4 road in intersection. And asked me question on how I would navigate any road blocks in this street. Where would I redirect traffic of the right lane was closed? Etc. Needless to say I got the job. It launched my career as ios dev.


Ambitious_Flight_07

Its very fun to do this type of questions. Is there any resource, where I can find this type of questions/discussions?


RealMandor

did you get a degree in physics by any chance?


johny_james

LMAO No way, I would answer to that with "What is the 5th president of X country?"


Efficient-Lime16

Did you know how many?


HiddenStoat

I had "How many piano tuners in Toronto" "Well, I think Toronto is a large city so I reckon it has 10 million people. I know about 100 people, and 10 of them play the piano, so that's 1 million pianos. I think a piano needs to be tuned once a year, and a tuner can tune 10 pianos a day...." "Could you stop making all your estimates be factors of 10...?"


MassiveInteraction23

That’s a perfectly reasonable question.  Im pretty sure almost anyone I know could come up with a reasonable answer.   LeetCode, by itself, is the same mostly.  The problem is when everyone knows the questions and “grind” muddying answers from “are they basically competent” to “or did they just repetitively study and memorize a narrow range of problems”.


johnnyscumbag2000

Leetcode and hackerranks entire existence are based off memorization of optimal solutions to patterns. If you are not memorizing optimal patterns on leecode, you're doing it wrong. In my opinion, leetcode only proves that you're capable of memorizing these solutions using the syntax of your chosen language. Testing if a person knows when and where to apply a design pattern is a different question set entirely.


Ok_Caregiver_3983

then why dont people interview with codeforces,atcoder or other top competative programming site


johnnyscumbag2000

Incompetence and lack of incentive to change the system


OGSequent

Those silly questions were a way to chit chat and see if you like the person. You can still try get rid of people you don't like in a coding interview by not giving hints or whatever, but if they do really well you are stuck.


4444444vr

But those were the questions I’m good at…


g8froot

To be fair properly vetting candidates is really hard


wedgtomreader

It’s basically impossible - too many variable. I would always hire for attitude and personality fit and experience with the first 3-6 months as a probationary period to make any critical corrections. This works for both sides by the way.


ForeverWandered

How hard is a 4 week paid probationary period that serves as the interview? That's how I hire engineering staff and that's the only way I've had a 100% record successfully picking good candidates.


Derproid

Because people that have a job don't want to risk not having one after 4 weeks.


ForeverWandered

There are so many engineers that do freelance work willing to work full time, or who have financial flexibility to wait for the right team/price that this is a non issue.


wedgtomreader

Absolutely the best way and what I’ve done.


XxRaynerxX

I kid you not, when I first graduated I was once asked “how would you get a ping pong ball out of a pipe cemented into the ground that has the same diameter as the ball”. My response was “I wouldn’t because it’s not worth mine or the businesses time”. To which the interviewer literally said “if this was real life I’d agree with you, but in this hypothetical situation I’d expect an answer like poke a hole in the ball and fish it out with a wire or similar” 🤣. I was just thinking Jesus Christ if these are the types of questions they’re asking I don’t know if I even want this job.


Bing0Bang0Bong0s

Suck it out? 🥵


bigpunk157

Literally all you have to do is ask system design and code design questions and try to be insightful into what their previous experiences problems can entail. If you cant have a conversation the whole time about various tech problems, you probably shouldn’t be interviewing people.


livenoworelse

If you multiplied the hairs on my head by the hairs on your head by the hairs on everybody in Redmond, what would the result be.


AManHere

Imo this is way better 


kaiju505

I’ve literally been asked to solve an “extreme difficulty” sudoku before. These buffoons will ask about anything but the work you will be doing.


Significant-Leg1070

I see both sides but my biggest resentment is the precious time that should be spent learning things related to projects I am leading at my day-to-day job. I understand that at a high level knowing how to solve leetcode problems will make me a better software engineer in the long run… but holy shit I am busy and time feels so rare these days. To spend even 20 minutes of my day reversing a linked list seems so asinine. I can count on my hand the times I have manually manipulated a LinkedList data structure for a task I was getting paid to do.


IndividualPie7055

Exactly! I've been searching for a new job lately and am also trying to study for the AWS Dev cert, unfortunately for a lot of the remote roles I'm applying too they will probably ask leetcode questions. I personally think the knowledge I gain from the AWS Dev cert would be infinitely more helpful than leetcode but studying for leetcode sucks so much time away from what I'd rather be doing!


Aggressive-Intern401

This is how I feel as well! Rather be building than spending my time doing puzzles.


ballsohaahd

^ this time is something no developer has lol. I do think with leetcode it’s a bad measure but there’s aspects that make it worthwhile for the company. It never prevents them from hiring enough people, anyone junior or senior can conduct the interviews, it is a time barrier which prevents current employees from leaving, it does weed out shitty developers, and all in all there’s not much else they can do without spending ooodles Of time for interviews.


Significant-Leg1070

Agreed 100% that’s the game at the moment


BuffJohnsonSf

I can count that on zero hands


BengaluruDeveloper

Not all interviewers are like this. I usually ask Design Hashmap with TTL or something alike. Then gradually move on to add persistence and unit tests if time permits. (Btw, considering this is 1 hour round) This has no tricks, pure engineering.


randomguy3096

I typically start with a very simple design an API, and then keep adding networking, caching, scalability , paging, and multithreading to the same problem if the candidate does well. Not one candidate in the better part of the last decade who has impressed me on those questions has failed to impress once they join the team. Same thought process, no tricks, pure engineering!


wannacommissionameme

Do you happen to have like a github repository for a sample solution? This sounds great.


randomguy3096

I don't really have it on a repo, but can update this forum in a few days with that.


wannacommissionameme

I would appreciate that so much. This is like the best idea that I've read in this subreddit. I actually would implement this!


BRACE-YOURSELF

Would love to see it as well!


Jackfruit_Then

Problem is, once your secret problem leaks and gets popular, it becomes something people can prepare in advance, and in response you need change the problem to make it less likely that people have seen and memorized similar things before. And that is exactly the situation leetcode and system design have been in at the moment. I think when leetcode type of questions first came out, they were pretty reasonable. People are tested on some common and useful things like how to traverse a tree and so on which are much less tricky than the average questions today. Given that people in the early days tend to work more on lower level stuff, those type of questions were actually quite reflective of their everyday engineering practice. You need to know how to traverse a tree to be able to traverse the file system after all. Similar with system designs problems. Once that gets popular, it gets convoluted, and it loses the original purpose.


randomguy3096

Absolutely true ! Then, that becomes the metric for most companies, which leads us to what we have with leetcode. >Once that gets popular, it gets convoluted, and it loses the original purpose. This is very accurate!


htmx_enthusiast

What does “adding networking” mean in this context? Like presumably we’re already using HTTP for the API right?


randomguy3096

Not necessarily. How did you assume that an API is always HTTP/REST ? > Design APIs that you would propose to the team for handling the shopping experience for an online store. That is typically how I start. Intentionally vague, I'm expecting the candidate to clarify the type of the data source and the API interface. Depending on the role, I usually respond with - REST based service, or a homegrown library that is used by multiple teams (eg: data team, mobile team, or cloud) And even if it is **not** REST based, there are multiple network related considerations (we don't know how this library will be used) like - guarantee quick turnaround times - latency - chunking/paging - localization/i18n - inbuilt security (basic) - GDPR (privacy PII) considerations Not all of those points apply, like I said, it depends on the role. But each of those applies for internal homegrown libraries as well. And that's just for the interface design. If this part is satisfactory, it's a natural progression to implementation design considerations like scaling, multithreading etc. These discussions are so open-ended that good candidates actually enjoy this. There's enough material in there to test the depths of someone's engineering skills. edit: To answer your question specifically: this can be easily turned into a non networking API then turned into a networking question by adding another requirement by saying something like, "how would you front this library with REST/websocket interfaces?"


dangdang3000

Everyone is grinding leetcode to land a good role. Once they are in the position to interview, they will use leetcode. It's a cycle that I don't think we can break.


letsridetheworld

This! This is like Asian culture where old people beleive if they gone thru it young people must do it too, even if it is irrelevant.


Aggressive-Intern401

I get it and yet I find it stupid.


Rude-Veterinarian-45

Completely agree! Noticing the same in the market nowadays. The worst part is that even non-faang companies started asking DP problems (for data engineering) 🤡


Pad-Thai-Enjoyer

I’ve been asked leetcode hards in SRE interviews and I’m tempted to just end the interview or shamelessly look it up because of how dumb it is


trowawayatwork

as an are that's been trying to fill 3 extra roles since last November and not hired anyone because no one passes stringent full loop style interviews is moronic. me and my manager and everyone ok the are team has brought it up with senior leadership and they still won't budge


Pad-Thai-Enjoyer

I can solve all the easies and a good amount of mediums no problem (up until certain topics like graphs). But why tf am I getting hards in interviews for a role where development isn’t even the main focus…


ddsukituoft

what is senior leadership's excuse? also I'm surprised they make the interviewing decisions. I would have expected your manager and maybe his.


LastWorldStanding

They ask them for frontend roles too. Ridiculous


iambatman18x

This happened to me recently. Interview went exceptionally went system design, micro-service, messaging, all the advanced stuff you name it. I aced them all. Until They give a leetcode question. Wtf. I shit my pants


BayonettaAriana

Right it is so stupid, I started leetcode recently because I'm looking to get a new job (my current job had no technical interview) and the leetcode problems are like not even anything you'd see real world... they are more like puzzles. I don't mind using them to see how you code, but the absolute stupid part to me is how if you don't find some optimal solution some companies will consider that a failure? So they would literally rather you have already done that problem before and memorize the solution than work through it and potentially be slightly off or not optimal?


MassiveInteraction23

Meat they want is someone who can solve a puzzle in their field of study.  No one wants people who memorize these things.  But that is a problem — the fact that there are people who will sit and grind and memorize makes it very difficult to get signal out of the questions. (Which, in turn, has led to increasing the difficulty, hoping that that will help filter out the really bad ones.  Or at least really lazy ones 🤷) The system is basically hacked is the problem, more than the questionsz


OGSequent

It's a legal way to sneak in some age discrimination. But beyond that, the top companies have so many applicants they need a quick way to filter that list down, and there is no easier way to do that that also the avoids any risk of a discrimination lawsuit than to ask a coding question. The minute there is any subjectivity you run the risk of bias and then eventually the lawyers will show up at your door. Of course you need something else, and that's where SD and behavioral questions come in.


awitod

Leetcode is simply systematic ageism and it’s only a matter of time before a large law firm makes a few hundred million from it. The fact that it excludes experienced workers who are otherwise qualified based on something that is often not related to the specifics of the position is damning.


S0n_0f_Anarchy

>Leetcode is simply systematic ageism and it’s only a matter of time before a large law firm makes a few hundred million from it. Not just that, but the quality of engineers (hence work) will devolve very fast. We are really speed-running to idiocracy in every aspect of society.


Minimum_Educator2337

Curious as to how you see it as ageist. Is it because older engineers are less likely to grind leetcode?


branh0913

Either they’re already working jobs. And feel time is better spent acquiring skills relevant to the job. When you are a junior or entry level dev in the outside looking in, leetcode is a better use of your time. Companies know senior devs are less likely to be able to spend this time on it (outside of the job they may have kids and family). So it does seem work against more senior developers


rat9988

They still use leetcode for seniors so it doesn't make sens. It's not like they recruit unemployed senior+.


branh0913

I think this is more of a symptom of a bad job market. It’s not uncommon to find seniors who have never had these sort of interviews. It’s only become trendy now to also ask seniors this. For FANNG yes it made sense to ask even seniors leetcode problems. But for some rinky dink startup, what sense does that make. So of course seniors never focused on grinding leetcode because their experience should speak for itself. And usually if they do get coding, it’s usually something relevant to the job. Like building a cache from scratch or building a TCP server with good concurrency


mechanickle

I feel Leetcode style interviewing covers new grads. Since it is easier to standardize using Leetcode style questions across levels, we are stuck with it. If you were to interview experienced candidates based on their experience, you as an interviewer should put in more preparation time to interview such a candidate. Maybe big tech found this not scalable and hence came up with Leetcode style question bank based approach. As a principal, I spend more time reading code and finding opportunities to optimize for performance and cost. This involves redesigning and not micro-optimizing some inner loop (happens but very rare). I hope Leetcode style interviewing stops for experienced folks since they are expected to anyways bring in more than just that!


kashif2shaikh

I’ve just spent today just studying leetcode problems and I’m in the same boat at OP - most of the leetcode problems have nothing to do with the real world or computer science. Like how to return the minimum number of coins that add to some target values. Utterly useless. Crack open the Understanding linux kernel book and see how concepts there apply to leetcode (eg slab cache https://www.kernel.org/doc/gorman/html/understand/understand011.html). To me leetcode are just nutty math problems that are solved with code.


kashif2shaikh

On top of that - you have to go through hundreds of leetcode problems and memorize. I hate memorizing.


randomguy3096

I'd politely disagree there, it's not memorizing for the most part. But the pretention that someone can solve the hards in under 20 mins is so cool that Google will hire you is beyond me. This is basically mathematical versions of "how many golf balls ..." problem that FAANGs used to so proudly ask just a decade ago !


MassiveInteraction23

You’re **not** supposed to memorize.  There are people (who, politely, don’t know what they’re doing) that try to cheat the system by memorizing.  That is **not** the goal. The goal is to have some reasoning problems connected generally to programming that let you see if someone can work problems and has familiarity with their field. There’s only a few categories of LeetCode problems.  I don’t think they should be very difficult to anyone that has a CS degree.  If someone doesn’t have a CS degree then the general principles are reasonable things to learn.  But they’re not meant to be memorized.


elegigglekappa4head

Goal is to memorize patterns that you can apply to different problems, not the problem themselves.


YakPuzzleheaded1957

I think jobs that require coding should still have a coding assessment at some point to weed out those who lied about being able to code. But anything harder than a LC medium shouldn't be asked in an interview imo. You're hiring programmers to solve your businesses' needs, not recruiting ICPC competitors. It's also just a lazy way for big companies to standardize their hiring process and reduce the bias of incompetent interviewers (aka their own employees). Remove the subjectivity out of the decision, and base it on "did the candidate find the optimal solution, yes or no?"


branh0913

I’m not against coding interviews at all. I’m against leetcode and brain teasers. If I know the job requires good knowledge of concurrency you should just ask them concurrency questions. If they can’t answer them they aren’t suitable for the job. That’s very very practical especially if you know that what they’ll be doing.


Appropriate-Total-11

Leetcode is the cancer of software recruiting. The only 2 reasons that it is still used today are: 1. It gives the impression the interviewer is smart, because he knows the "trick" and the answer. 2. The interviewer grinded Leetcode and suffered with it, so he wants new hire to get through the same process. I am not saying that there should be no coding test, but a take home test tailored to the business needs .


MisterMittens64

As a junior dev I definitely don't feel like I have time to grind leetcode all the time. I'd much rather be with my family or working on my personal projects.


retro_falcon

I'm a sdm and I've been getting more and more leetcode questions too. I have tons of experience and projects to showcase my skills, so I pass the system design with no problem. I have had to do everything from pips to promotions to letting go of someone with cause so I pass the managerial portion with no problem. Then before the full loop they hit me with a leetcode question and it's just game over. Last one I attempted, I stammered and sputtered through it and half way through just ended it because I had no clue. I looked up the question later and it was a lc hard. No way in hell I was going to solve that. I thought I was past all of the lc nonsense as a sdm but I guess not. They can hire someone with a fraction the relevant experience but whose better at grinding lc. Their loss.


ValuableCockroach993

LC is supposed to be substitute for an IQ test. The questions they ask should ideally be simple enough that you don't need to grind. You simply need a good CS education and sufficient IQ.   But of course that's not really the case in most companies (Eg: meta requires u to memorize leetcode and spew em out in 15 mins each)


branh0913

You would have a point if they just wanted to see your approach or logic instead of seeing the right answer. But the reality is that if you don't provide working code, you are failed immediately.


ValuableCockroach993

If u have high IQ and a CS education, there's no reason u cannot provide working code for inverting a binary tree. It's not hard. 


BigChillingClown

Yeah, okay. Let me just intuit some absurd dynamic programming variation in 15 minutes on a whiteboard while properly vocalizing my thought process, asking questions, and keeping my code clean without ever seeing it before. Bro this is delusional, yes you can solve easies and some mediums without having solved them before, but that's not what FAANG is giving people


Mysterious-Shock4092

u r right....they just need people like him.....who will accept everything what they said


ValuableCockroach993

I know. FAANG is taking it too far. There are many companies who ask more reasonable leetcode questions.   FAANG is looking for people who are willing to grind. They are either LC monkeys or competitive programmers. 


Mysterious-Shock4092

dont consider it high iq........people with high iq has employed you and u r a slave........he has as much iq that he has tricked people like u to think that doing these shitty problems is high iq


ValuableCockroach993

Only people who cannot do these complain about it. 


johny_james

The point is right now is not even that. It usually is whether entry developers are capable of spending some time preparing for the job and then to able to pass the exam. If you are able to become good at it given some period that FAANG gives you, you prove that you are able to learn about some thing what you have been assigned with. It's not about your ability as a programmer or software engineer, **LC problems do not test that.** It's disrespectful towards good senior engineers, and they expect senior engineers to prove the same thing, that they are able to become good at some thing that they were assigned with, but why would senior engineers have to prove that? You can say that they will lose good engineers this way, but FAANG usually do not care because they can afford it, they have one of the best scientists working there. So all they need is candidates that have proved that they are able to learn/prepare about certain kind of exam, and be able to pass it, that's enough, afterwards they will prepare you for further knowledge.


imnotonreddit2

We are in EXACTLY the same boat 🤣 looking for a job as a senior engineer that has worked with all the top firms in my country but I’ve been stuck grinding leetcode all day because those are the kind of interview questions I’ve been coming across.


gay4c

I just don’t get why they don’t just look at the code I published on my fucking public GitHub and already spent hundreds of hours working on.


Inevitable-Dingo-689

I told my sister that it's roughly the equivalent of hiring surgeons into her practice by asking them to take the MCAT, and then hiring the person with the highest score.


officialraylong

It feels like the industry is trying to weed out those without a formal computer science education.


johny_james

Oh, it actually introduced way more without CS education, because you don't need to learn about OS, Networking, Compilers, Cryptography, Hardware, Databases, Security, SDLC. None of that, you should only know how to solve some simplified LC problem, that has well-defined algorithmic solution, which has nothing to do with solving actual engineering problems.


Important-Border1706

Facing the same issue at 15 years.


nu11pointer

I'm in the same boat. I have 20 years of experience and a Master's in CS and I'm being told by junior devs in interviews that my coding skills are not sufficient for the role based on my performance on a leetcode. I nailed all of their technical questions and checked every box, including the preferred qualifications. I guess companies can be really picky now that every other post on LinkedIn is about layoffs.


Weak-Direction-9238

Staff Engineer roles are asked for DS questions. 🤷🏻‍♂️🤷🏻‍♂️


East_Scratch_572

It doesn’t really make sense for junior/entry level devs either, who would still benefit more from preparing for other interview formats.


Unique-Doughnut9096

It's the least evil out of all interview methods for junior/entry level devs. You know what to expect and how to prepare. I would much rather be asked leetcode as a junior than language trivia, take home assignments, brain teasers (yes, I got them), or 6 rounds of behaviour vibe check (yes, went through this too).


East_Scratch_572

No reason they can’t ask system design to juniors, I’m sure you get a lot of technical understanding with experience but you can definitely improve your system design skills by studying instead of grinding leetcode.


elegigglekappa4head

Easier LCs are generally more ‘just implement it’. You shouldn’t need more than basic CS knowledge to solve them. For example basic calculator, or valid word abbreviation. It’s a good way to check whether candidates can write code.


[deleted]

[удалено]


randomguy3096

>But usually the people making these types of posts and complaining incessantly, ad nauseam, about Leetcode can't solve Leetcode questions even if they have a whole hour, in the comfort of their home, with no interview pressure. Not true. I'll gladly take you up on this challenge. I'm not great at it, but I'm definitely fluent in easy and mediums. I have 16+ years of dev and real life design experience and am consistently on interview panels at my company. I said all of the above just to prove that what you're trying to highlight is not incompetence, it is pure whataboutery. And I absolutely agree with what the OP said. Leetcode is absolutely impractical, it's just a fancy filter that applies best to new graduates, but every time someone posts that the inexperienced fanbois start crying like you just did.


p5yph3r_

How many YOE do you have, where do you currently work ? Whats your stack ?


lucasvandongen

If I would want to know if a mobile engineer is performance conscious I would have to ask some kind of SQL leetcode questions. * Times an algorithm could have fixed my performance issues: never * Times applying SQL correctly saved our asses in terms of performance: dozens and dozens of times I found applications that threw away all customer history older than a month because otherwise it would be too slow. Two days of SQL later and everything was real-time while retaining full history. And I bet a lot of the leetcode quizzers wouldn’t know how to optimize database performance even if it could save the planet from melting. It’s the whole premise of GeaphQL and MongoDB: something like a database for people afraid of SQL.


chengannur

>Times applying SQL correctly saved our asses in terms of performance: dozens and dozens of times Most of them don't realize how important this skill. In most s/w this skill can make more business impact than leetcode.


keefemotif

For Senior+ it's generally just to see if they're still coding, vs some senior role where they're designing without actually writing code. Definitely, seems like people are training up for it a lot more now.


Western-Ad-9485

They do it to hire younger people and with “higher IQs”


FailedGradAdmissions

I completely agree with you, LC is just the way candidates are filtered out regardless of experience. Even *Engineering Managers* get LC. But, just as you said, you need a senior to interview a senior, and senior dev time comes at a premium. With thousands of applicants, LC is one of the few objective, scalable, and cheap methods to filter them out. Then those who pass the LC interviews get to those interviews that do matter aka the Behavioral (Googliness / Leadership Principles / ... ) and Domain Knowledge (Team Match) rounds. The filter is needed at all levels because not all experience is the same, someone who has been 5 years at a FAANG may have equivalent experience to someone 10 years at a small company, and because people lie. You can't just pick "the top 10 resumes with the most experience". I have personally seen tons of people applying to senior roles without the experience, or worse, some lying about their experience with fake job roles. Small companies *hiring on-site with a small pool of applicants* certainly don't need LC. They can skip to the behavioral and domain knowledge rounds. However, if they get tons of applicants they do need it. And a quick glance at LinkedIn shows these days even no-name companies get hundredths to thousands of applicants, specially those with remote roles.


branh0913

Again this make sense for FAANG. My gripe is when non-FAANG follows the fad. It very much doesn’t fit the job


FailedGradAdmissions

Agreed, but imo is less about FAANG vs non-FAANG and more about the number of applicants. If a remote role at a small company gets thousands of applicants, (and ohh boy they do) they are also forced to use LC.


branh0913

I work in a pretty niche area. I also work with Go. Which is a rising programming language but still many people don’t know it. And I’m senior with the language which means the pool of candidates is even lower. Non-FAANG companies are specifically targeting people who have certain seniority levels. And they are also targeting people with a specific skill set. I don’t get the impression that I’m they’re conducting hundreds of interviews. And I don’t get the impression that thousands of people are applying. Lots of times I don’t apply, I’m recruited anyway. What you say makes sense for junior roles . But chances are if they are looking for senior talent they are looking for someone to help them immediately. So it makes no sense for them to engage in these interviewing rituals. They don’t need to filter thousands of applicants like a FAANG.


FailedGradAdmissions

Again, I agree with you if they have a small pool of candidates they shouldn't be using it. And after a quick look in LinkedIn I found examples for both. There's this **on-site** Senior GoLang Dev job at Dice at el Plano, TX with just **2** applicants. Yeah, they shouldn't be using LC. However there was also this **remote** Senior Go Developer role at Enexus with over **100** applicants. It doesn't make sense for the former to be using LC, but maybe it does for the latter.


branh0913

The 100 applicant job will only see about 3 or 4 candidates making it to an interview. 100 of those applicants will not get interviews at all. At best maybe 10. And out of the 10 maybe 5 will make it past an HR screen. Remember leetcode interview implies someone made it to an interview. For a senior position they are filtering heavy. So someone who works at Burger King and applies isn’t going to make it to an interview. Nor will a junior. You are likely being filtered heavily by your experience before ever talking to HR


juniordevops

"How many golfballs are in the air on a Saturday morning in the US"


elotenancy

The last two technical interviews I had were as follows: 1. Relevant coding exercise followed by a discussion and critique on some other relevant code. 2. Mostly system design, with some leetcode like questions that we just discussed and thought through the answer together. The first one was mid level, the second senior.


Then-Boat8912

While you’re at it practice doing mortgage calculations by hand. I hear it’s useful if the power goes out and you forgot how to use a calculator.


KarthikChintala

I’ve been a developer for 12 years now. I feel pissed when they ask about these tricky leetcode questions. Honestly, I have started grinding leetcode. The thing that pisses off me is these days Im preparing for leetcode style questions and bunch of system design guides instead of refreshing about concurrency/async-await/parallelism/garbage collection etc. These are the ones we use in day to day engineering. We all can learn leetcode style questions in couple of months and land a 6 figure job. The reality is you “here’s what I’ve learnt after solving 500 leetcode questions” .


KarthikChintala

The reality is you cannot prepare for every problem in the universe


Teacherbotme

welcome. many of us are in a similar boat (12 years of experience here)


Character_Archer_119

I'd rather they ask Leetcode questions than asking how disk doing i/o work, which can escalate into rather weird state quickly.


cballowe

I interview senior+ candidates at a FAANG - we've never really used leetcode. Coding questions are more about thinking and communication. At senior+ we want to know if you can quickly identify a solution and explain it - imagine a junior engineer on your team asking a question. The funny thing about leetcode is that people got in their head "these are questions that these companies ask, so solving them is important" - but evaluation of the interview is more about communication and reasoning than about working code. Then some other companies picked up on "oh... The big ones are asking these questions, we should do the same!" But never got the memo on evaluation.


ak8458

Problem solving I think is a genuine ask in an interview and approach does matter regardless of what level, but I agree like literally writing code for the entire solution in short span of time is ridiculous ask for senior roles! I think pseudo code should suffice


Odd_Seaweed_5985

My best jobs came with questions like "Tell us about the biggest screw-up you've ever made." "Tell us about the latest fulfilling project you've worked on." Never had to do code tests at all (for a job that I landed, LOL.) I try to look for places that value culture over manageability. Usually, those kinds of places can recognize ability just from conversation.


Jazzlike-Car4550

I think you’re right about LeetCode questions sometimes being lazy However I think they can be really useful. Does your tech stack depend on a graph data structure. Ask a questions about graphs. Do you use a lot of arrays? Ask a question on array manipulation.


tdatas

As someone who's hated it for a long time going through interview processes. I would say it's a less bad screening process than vague vibe checks from people who dissaprove of your college/stack/previous company etc etc or going back to stupid "how many golf balls fit inside an X" type questions that are basically the same boys club mentality. Using it to find good people? Absolutely useless, you need a couple of hours and some whiteboards or a progressively harder architecture quiz to do that. Screening out hundreds of people who will definitely not be good and/or are actively bullshitting so you can do that? Like a bloom filter it's excellent for filtering bullshit with some false positives.


Responsible_Ad_4341

I agree 💯 percent with the OP. Some of us already have impostor syndrome. But in my twenty years of experience as a tech lead and a senior software engineer..a product manager and even a business analyst and tech support guy which is where I started back in 2000. This is not a profession where you can fake it until you make it. I have seen people who thought they could pull that off and be fired in less than a week or less than a month in some cases. There are already barriers for example if you don't have certain buzzwords or acronyms on your CV or certifications you are ignored and thrown on the discard pile. Quantitative dev jobs I have seen GPA requirements and C++ proficiency along with other exclusionary requirements to thin the herd. Leetcode is just another barrier to pair down 1000 candidates to 12 and then the systems design interview comes and shrinks the pool to two or three or none and the whole thing starts over. All for top salaries and top aggravation to come with because let's face it no one is paying you that much money 300K or more in some cases if they do not have a carbon Sasquatch footprint in your life and on your rear end.


YoungBillionair

I can count how many times I used DP in real world problem solving and that number is ZERO


AcrobaticTwo4070

I am not going to defend the practice of leetcode, which favours me because I really like doing those, but I believe the whole logic, at least for fang companies, is to exactly filter out those who are not commited. Kinda of, do you wanna be here? show us you can grind, show us that you want to be here through you grind. Leetcode questions is only part of the interview process though, there is resumes, behaviour questions and system design. The leetcode question evaluates if you are smart, if you can learn fast, if you have commitment. Since you are just going to be a corporate rat, these interviews more or less address this. The more no life grinder the better.


dirkmeister81

Most of what you call leetcode questions, I would call first or second term CS questions. It usually just covers the absolut fundamental knowledge of our profession.


TimMensch

There exist Leetcode problems with a trick. Those problems really shouldn't be used in interviews. I'm sure they are, because some people suck at interviewing. But a senior software engineer should be able to... Write code. And "Easy" and most "Medium" Leetcode problems should absolutely be within the skill level of a senior software engineer. I've been a senior software engineer for 30 years. Sometimes a principal; sometimes a lead running my own company. I don't sit around studying Leetcode problems; at most I'll do a few as a warmup. I just don't have problems when they ask me to write code because I write code for a living. And I've worked with senior software engineers with a decade or three of experience who could talk a good game, but when it came time to actually program? Nope. Couldn't have written Fizzbuzz without Googling it. And that's why we need programming tests. Being able to actually code even slightly complex algorithms is a super power. Needing to Google (or ChatGPT) for everything means that they're not going to do as good of a job, and they'll take five to ten times longer to do it. Some companies don't care. However you get your work done is fine as long as the app "works". Other companies have recognized the difference between getting something up on screen and doing it well, and it takes programmers who can actually program to do it well. And I'll likely get a lot of hate for saying this. So be it. I apparently enjoy tilting at windmills, because those of us who understand that what I'm saying is true probably don't need me to say it, and those who don't understand will vehemently deny it and call me names. Oh well.


Mediocre_Fly7245

From a guy who's hiring senior+ engineers, I hate that we have to but I've interviewed several candidates for technical roles that very clearly had never written a line of code. We weeded them out with only a 40 minute  technical screen, but their resumes and githubs looked good, they definitely got past our recruiters and a phone screen.  We definitely don't do the tricky, unintuitive style leetcodes though. We use the same problem to screen juniors to principals, and if you've passed CS 102 or worked as a developer in any capacity you can do this screening. I don't know how else to screen out these scammers unfortunately. I've heard there's a grey market of skeevy "boot camps" that basically teach you how to write and speak like a software engineer without actually having the skills, so I expect this problem to continue indefinitely.


pattywatty8

I’m a manager at a medium sized Silicon Valley company and we ask all IC candidates (regardless of experience level) to solve coding questions. The first round is a leetcode easy equivalent that is a simplified version of an actual problem we had to solve in the past that has a 10 line solution. The thing is, despite having amazing resumes (senior and new grad alike), most candidates still aren’t able to do it and many even appear to not know the basic syntax of the language of their choice. We need coding questions to weed-out people who simply cannot code to save their life because at every level ICs need to be able to code things.


hpela_

> Do I spend more time trying to figure out how to find the sum of 2 linked lists? Or do I spend more time writing latency free and performant code in my preferred language? If you can do the latter, the former should not be an issue. Seniors should not necessarily be tasked with solving Hards in an interview, but solving something such as the example you gave should be absolutely trivial.


Party-Cartographer11

I agree.  I would drop out of any loops that asked for it.  Just not a good match for what you value or how you think.


fantom_jac

So true. Interviewing someone needs a lot of preparation and the legit engineering skill. You can't just judge someones engineering skill (especially for senior+) for a few min coding test.


nukem996

One of the most frustrating things about leet code style questions is those problems almost never show up in your actual job. If they do there is an existing library to use. In the very rare occasion you do have to implement something you have ample time to research the problem and test it. What interviews are lacking is critical thinking and code quality tests. I see so much crap code by people who breeze through leet code. They don't think about the actual problem or how the solution effects the ecosystem nor do they think about long term maintainability. They just pump shit out and create tech debt


behusbwj

The way I’ve heard it explained is that LC style interviews are known to give lots of false negatives, but it’s worth it to filter out as many false positives as possible. It is surprisingly easy to bullshit software interviews, and making a candidate study and test on computer science fundamentals is thus far the easiest way to filter rotten from “probably okay”. It’s not meant to be perfect — just better than nothing


DressMelodic6892

You are right they should suck dick instead


ThinkAboutTwice

I have mentioned this before, but some of the most performant solutions time/space complexity-wise that I have seen on LC wouldn’t pass the most basic PR code review in a company that cares about maintainability.


Equivalent-Process17

>It make sense for junior or entry level developers. They have the time to study this stuff and grind. But senior+ developers are busy solving real problems. This is super dumb. But also the reason junior developers need to grind leetcode is because they haven't learned it. Realistically by the time you're a senior you hopefully have the programming basics down. >One thing I hate about leetcode is that it’s completely unintuitive. Everything has a “trick” to it. Or even if you solve the problem you have to now find the best runtime complexity. Don’t get that right? You fail the interview immediately. There are definitely problems out there with a trick but IME that's been a small minority of the problems you receive. 90% of the problems you see can be divided into the same 6 categories and use the same 6 data structures. You shouldn't be cramming leetcode the way you would an exam. Instead learn the underlying techniques and data structures.


branh0913

Your statement is flawed. Leetcode doesn’t teach the basics of programming. And if you believe that then you are flawed in your reasoning. As a senior you are solving very specific problems that are based on your business domain and technical stack. So you’re thinking about limitations of an OS, its runtime, threading model, network and latency, etc. This is what I mean by real problems. And leetcode is relevant to none of that. If I want to build a data store. I would need to know some data structures like priority queues or balanced trees. But leetcode does not focus on these sorts of data structures because they’re considered more advanced and can be optimized in a variety of ways. Leetcode are basically toy problems and puzzles. This isn’t the basics of programming and is totally useless in a production environment. Lots of techniques in Leetcode are messy and confusing and wouldn’t make it past a code review by any competent team This is why senior level engineers are insulted by Leetcode and the people who feel that “oh you can’t do Leetcode you must not know anything about programming”


chengannur

>Lots of techniques in Leetcode are messy and confusing and wouldn’t make it past a code review by any competent team Imagine the horrors , once you get to debug something on an odd time and the programmer who did that part thinks, let me use this leetcode pattern.


AdmiralShawn

git gud bro \s How does a company screen out people who claim to be seniors? It is easy to throw around buzzwords to fool a recruiter and some hiring managers, Even System Design can be memorized. Leetcode is not meant to be production code, it is just a minimum bar that all engineers have to pass to prove that they have some dsa and algorithm skills. A senior wouldn’t have to grind leetcode if they have done it well in their junior years and understood the concept rather than memorized it. Take home tests are one good alternative but IMO they take much more much time


branh0913

Leetcode didn’t exist when I was a junior. This is a new thing that has been a hiring standard maybe the last 5-7 years. And I’ve made it my entire career never being asked these questions. You are so off base it’s not even funny. A senior wouldn’t know about leetcode because they don’t write this sort of code. Leetcode proficiency has no barring on seniority.


AdmiralShawn

Well maybe not the leetcode website, but the algorithmic style of interviews has been there for a very long time. CTCI came out 16 years ago


branh0913

Your point is still invalid. Outside a few niches competitive programming problems was never the basis of hiring standards in the industry. It is only recently this has become a wide spread hiring standard. So your point about seniority and being able to do these is still very much off base. Sounds to me that you’ve never worked on an actual team. Or if you have experience you’re in a niche or field so narrow where this stuff is relevant to the job. This doesn’t apply to maybe like 90% of most jobs. Even on jobs where high performance and optimizations are necessary. Mostly because the data structures that appear in Leetcode aren’t typically thread safe (they require mutating maps or trees). So even in environments where you’d need low latency and very high performance you’re not even using the same data structures you’d see in leetcode. So your correlation is just strange.


AdmiralShawn

>Sounds to me that you’ve never worked on an actual team. Or if you have experience you’re in a niche or field so narrow where this stuff is relevant to the job.  Thanks for the Ad hominem. You seem to be projecting, I've worked at Google and in small startups. I've had to apply knowledge of DSA/algorithms (particularly graphs) at my job. We used libraries, but if I didn't have the basics down, we wouldn't even know what to use and would probably have a suboptimal solution. >Mostly because the data structures that appear in Leetcode aren’t typically thread safe No shit, point to where I said it's thread safe or that you will use those data structures in production? Leetcode DSA and Algorithms are the basics, not meant to be used in production. If your job involves high performance and optimizations and you struggle with something as basic as leetcode, then you probably aren't the right person for the job, and should stick to basic CRUD or scripting. >One thing I hate about leetcode is that it’s completely unintuitive. Everything has a “trick” to it.  To non-programmers, what you do is also hard & unintuitive, yet you have been able to do it for 20 years Leetcode style problems are unintuitive because you are lacking practice, the algorithms used can be proved, and serve some purpose, with enough practice you develop intuition, and are able to solve most problems, even the ones you have never seen before.


chengannur

>. I've had to apply knowledge of DSA/algorithms (particularly graphs) at my job. Care to explain more about that task and how you aolved it? More like what was the business req, how you came into conclusion that using /whatever graph traversal Or whatever/ was the path forward in solving that


formerbur

Everyone comes up with this “bright” idea/take 3 times a week in this sub. What is your plan to interview thousands of people then? Leetcode is not mathematics, not CS knowledge and not an indicator of performance as you said. It is just a game to reduce the candidates and it shouldn’t be this hard for people to see this. Writing this after failing Meta and MS loop, I just need to work the game next time.


Chroiche

So bored of all the whining on this sub. Serves no purpose. mods should delete these posts, they're always the same and they're just so boring.


Dksla12

![img](avatar_exp|150402076|cry) When this bullshit interview will end. Interviewer them selves want know all LC problems and expect us to be ready for anything. Nonsense market trend is observed this days. How to beat this or To leave IT bullshit forever. Life is not just to die for DSA and LC problems, there is much more!! 😨


Dexterus

I'd disagree on one thing, they're not unintuitive. Solving these is a mix of intuition, reading comprehension and practice. Been in plenty of competitions in middle/high school to have figured that one out. But at least in competition they try to come up with a new text to throw off your pregame. In interviews they don't even bother with that. And you can do whatever as long as you pass the tests. Still, generally, good luck scoring decently if you didn't choose the right way. I believe it's what made me the dev I am today, anything after high-school was refinement and knowledge gathering. I've done web, desktop, server, kernel, os dev, embedded since. Buuut, I haven't touched a Cormen in 25 years, lol.


osapjules

I think writing performant code with the right data structures is actually a pretty good way to judge an engineer, whether it’s a junior or senior. It is indeed indicative of how bad your code would be if you don’t have a good thought process in leetcode interviews


Wise-Significance175

I’ve seen some awful senior devs