If Microsoft is the wrong answer Kodak, who squelched their own digital photography stuff because they made so much from film, is a classic cautionary tale about a company getting too wed to its business model and allowing itself to become obsolete.
It is not "always" done for that purpose; often people don't want children to learn things for other reasons, like wanting to have more control over them, not liking the implications of certain historical events, or having fanciful ideas about preventing their children from engaging in risky behaviors by pretending they don't exist.
> The promise of EdTech was that kids could learn where they are. A kid who's behind can actually continue to learn rather than being left behind. A kid who's ahead can be nurtured. ...
> Now in order to keep schools paying for our services, every kid is banded into a range based on their grade. They are scored/graded based on their grade level rather than their growth.
This is the behavior that I'm referring to. I'm not talking about political fights about what goes into the curriculum in the first place, I'm talking specifically about efforts to keep children from getting ahead along whatever the curriculum is already defined to include.
If you exclude any other reason from the discussion then it's true but tautological. The questions I mentioned still tie into age and aren't just "in the curriculum ever yes or no" type of questions (for instance, at what age should sex education be given?).
I think in principle most people agree that it's appropriate under some limited circumstances for authorities to listen in to private conversations, given well-founded suspicion of illegal activities taking place, so digital tools making that outright impossible do pose a problem most people find a bit uncomfortable, whether or not they feel the benefits outweigh the downsides.
The problem is that there's no effective way to enforce those limits without compromising everyone's privacy. It simply is not possible to have privacy and any amount of eavesdropping.
as our social life makes more and more use of digital communication, it must have the same protections as a face to face conversation in my home.
in germany wiretapping is only allowed for serious crimes and home surveillance is even more restricted.
in other words if digital communication gets the same protection as home surveillance then you can just use that home surveillance or try to install a listening tool on the persons phone. if home surveillance is not possible then why should digital surveillance be any easier?
yes, but german law also protects the sanctity of my home, and the measures to allow surveillance need to be in proportion to how they affect the sanctity of the homes of the general population. the legal possibility to home surveillance does not imply that everyone has to keep their doors unlocked (unencrypted communication) nor does it require for the government to have a key to everyones door (backdoor to encrypted communication) and the government has to accept that in some homes surveillance is physically not possible without alerting the subject (nor is it even legal in all cases).
if these principles hold true then the general population must be allowed to use unbreakable encryption for their communication, just as i am able to build my home in such a way that hidden surveillance is not possible.
Is it? A narrow majority of Americans polled when it was a topic of current debate expressed support for warrantless wiretapping to combat terrorism so I think it is extremely likely that much greater numbers would support a more limited process subject to more scrutiny.
> I think in principle most people agree that it's appropriate under some limited circumstances for authorities to listen in to private conversations, given well-founded suspicion of illegal activities taking place,
You're right. You know where the most illegal activities take place ? In the parliament. Can we listen to the private conversations of our representatives ? /s
At least hackers let people boot their machines, and some even have an automated way to restore the files after a payment. CS doesn't even do that. Hackers are looking better and more professional if we're going to put them in the same bucket, that is.
The criminal crews have a reputation to uphold. You don't deliver on payment, the word gets around and soon enough nobody is going to pay them.
These security software vendors have found a wonderful tacit moat: they have managed to infect various questionnaire templates by being present in a short list of "pre-vetted and known" choices in a dropdown/radiobutton menu. If you select the sane option ("other"), you get to explain to technically inept bean counters why you did so.
Repeat that for every single regulator, client auditing team, insurance company, etc. ... and soon enough someone will decide it's easier and cheaper to pick an option that gets you through the blind-leading-the-blind question karaoke with less headaches.
Remember: vast majority of so-called security products are sold to people high up in the management chain, but they are inflicted upon their victims. The incentives are perverse, and the outcomes accordingly predictable.
Funnily enough, a bit of snark can help from time to time.
For anyone browsing the thread archive in the future: you can have that quip in your back pocket and use it verbally when having to discuss the bingo sheet results with someone competent. It's a good bit of extra material, but it can not[ß] be your sole reason. The term you do want to remember is "additional benefit".
The reasons you actually write down boil down to four things. High-level technical overview of your chosen solution. Threat model. Outcomes. And compensating controls. (As cringy as that sounds.)
If you can demonstrate that you UNDERSTAND the underlying problem, and consider each bingo sheet entry an attempt at tackling a symptom, you will be on firmer ground. Focusing on threat model and the desired outcomes helps to answer the question, "what exactly are you trying to protect yourself from, and why?"
ß: I face off with auditors and non-technical security people all the time. I used to face off with regulators in the past. In my experience, both groups respond to outcome-based risk modeling. But you have to be deeply technical to be able to dissect and explain their own questions back to them in terms that map to reality and the underlying technical details.
The problem is concentration risk and incentives. Everyone is incentivized to follow the herd and buy Crowdstrike for EDR because of sentiment and network effects. You have to check the box, you have to be able to say you're defending against this risk (Evolve Bank had no EDR, for example), and you have to be able to defend your choice. You've now concentrated operational risk in one vendor, versus multiple competing vendors and products minimizing blast radius. No one ever got fired for buying Crowdstrike previously, and you will have an uphill climb internally attempting to argue that your org shouldn't pick what the bubble considers the best control.
With that said, Microsoft could've done this with Defender just as easily, so be mindful of system diversity in your business continuity and disaster recovery plans and enterprise architecture. Heterogeneous systems can have inherent benefits.
If you have a networked hybrid heterogeneous system though now you have weakest link issue, since lateral movement can now happen after your weaker perimeter tool is breached
A threat actor able to evade EDR and moving laterally or pivoting through your env should be an assumption you’ve planned for (we do). Defense in depth, layered controls. Systems, network, identity, etc. One control should never be the difference between success and failure.
> “This is a function of the very homogenous technology that goes into the backbone of all of our IT infrastructure,” said Gregory Falco, an assistant professor of engineering at Cornell University. “What really causes this mess is that we rely on very few companies, and everybody uses the same folks, so everyone goes down at the same time.”
Yes, but computers get infected by ransomware randomly; Crowdstrike infected large amount of life-critical systems worldwide over some time, and then struck them all down at the same time.
I'm not sure I agree, ransomware attacks against organizations are often targeted. They might not all happen on the same day, but it is even worse: an ongoing threat every day.
It's why it's not worse - an ongoing threat means only small amount of systems are affected at a time, and there is time to develop countermeasures. An attack on everything all at once is much more damaging, especially when it eliminates fallback options - like the hospital that can't divert their patients because every other hospital in the country is down too, and so is 911.
Ransomware that affects only individual computers died not get payouts outside of hitting extremely incompetent orgs.
If you want actually good payout, your crypto locker has to either encrypt network filesystems, or infect crucial core systems (domain controllers, database servers, the filers directly, etc).
Ransomware getting smarter about sideways movement, and proper data exfiltration etc attacks, are part of what led to proliferation of requirements for EDRs like Crowdstrike, btw
Ransomware vendors at least try to avoid causing damage to critical infrastructure, or hitting way too many systems simultaneously - it's good neither for business nor for their prospects of staying alive and free.
But that's besides the point. Point is, attacks distributed over time and space ultimately make the overall system more resilient; an attack happening everywhere at once is what kills complex systems.
> Ransomware getting smarter about sideways movement, and proper data exfiltration etc attacks, are part of what led to proliferation of requirements for EDRs like Crowdstrike, btw
To use medical analogy, this is saying that the pathogens got smarter at moving around, the immune system got put on a hair trigger, leading to a cytokine storm caused by random chance, almost killing the patient. Well, hopefully our global infrastructure won't die. The ultimate problem here isn't pathogens (ransomware), but the oversensitive immune system (EDRs).
A lot of security software, ranging from properly using EDRs like Crowdstrike to things like simply setting some rules in Windows File Server Resource Manager fooled many ransomware attacks at the very least
I'm sure anyone determined to do so can act unfairly regardless of what process is in place, but the fact that there is a standardized test in my mind does the opposite and makes the process much fairer. Assuming a fair-minded interviewer, the process gives a chance to a candidate whose resume may have less vaunted names on it to demonstrate their skill. I'm quite sure that I'd never have had some of the opportunities I have, not having a CS degree, if it weren't for whiteboarding interviews. I can't imagine any possible process that would thwart interviewers intentionally subverting it to hire their friends.
> the fact that there is a standardized test in my mind does the opposite and makes the process much fairer
The problem isn't standardized tests, it's that leetcode questions are about having the time to have learnt the answer beforehand, rather than raw ability for problem solving.
That’s not true. In any discipline when confronted with a test there are two strategies: brute memorization of the question/answers, or developing the skills to tackle the problem dynamically. You cannot categorically claim that LC tests are largely memorization tests rather than raw problem-solving skills. That is just the approach you are capable of taking. Not being able to see up the mountain doesn’t imply there are no climbers above you.
>If that were the case then a normal, well accomplished software engineer shouldn't need to "grind" leetcode to pass an interview.
No, what this shows is that the skill range for accomplished professional software devs is absolutely massive. What these companies want is to find the tail end of this very wide distribution. Leetcode interviews do a decent job at this. If you have been coding for a decade and can't do leetcode mediums with almost no prep, and hards with a moderate refresher on data structures, then you're simply not the in the right tail of the skill distribution and they don't want you. This is what so many in our industry can't accept: you're just not talented enough to earn a FAANG job.
No, these engineers at FAANG companies could not solve those problems cold without having been taught how. I have worked at two, which is how I know. I have never seen a question in an interview I haven’t seen before. Many of these questions went unsolved for decades in the industry, so no, these engineers, who mostly aren’t DSA experts but distributed computing experts, could not solve them cold. I also saw how interviewers used questions to re-enforce their own biases on university, gender, or home country in these interviews.
I'm in a FAANG type company now, a YC company, 3000+ engineers. I'm a Staff SWE with 20+ years of experience (ECE degree) and make $600k+ per year. I've went through the promo cycle here (it sucks).
I can't do any leet hards and can do leet mediums after studying. Some easy's take me a couple of tries. I usually do very poorly in interview coding exercises.
Curious, would you say FAANG offers the right challenges to stay in the 0.1% or 1% if one started out there? Are they actually in the right place to grow?
depends. If your in at the bottom floor, then you will grow with the company.
If you are lucky and join/lead/get a new project off the ground, then you'll also grow.
If you're just trying to move the dial on a normal project, then its very difficult to make any kind of headway. You are surrounded by overly enthusiastic hall monitor types who will put in more hours than you, or post more than you.
I mean it doesn't, because I'm at a FAANG, At a FAANG you are infantalised from the very start, sure you passed a very difficult interview where you have to balance a binary tree efficiently as possible. But you're going to use none of those skills here.
what you actually end up doing is copy/pasting some random code you found using internal code search, because the sensible way of doing it can't happen as that would involve porting a thirdparty library, and doing all the procedural work that follows.
so you hack some shit together, ship out out and hope that it doesn't break. You then decommission the nasty hack you shipped last year and claim credit for innovating. Is your product not hitting the right metrics? loosing users? doesn't matter, so long as the super boss is happy that you've hammered in the REST API for the stupid AI interface, you're not going to get fired.
In a startup/small company, if you fuck up, the whole place is going under. Need metrics? you'll need to find a small, cheap and effective system.
Here, we just record then entire world and then throw hundreds of thousands of machines at it to make a vaguly SQL interface. Don't worry about normalising your data, or packing it efficiently just make a 72 column table, and fill it full of random JSON shit. Need to alter a metrics? just add a new column.
In short, don't praise or assume that FAANGs are any good at anything other than making money. They are effectively a high budget marvel movie, Sure they have a big set, but most of it is held together with tape and labour. Look round the side and you'll see its all wood, glue and gaffer tape.
>But you're going to use none of those skills here.
FAANGs want the top .1% of developers, they don't necessarily need them for most roles. But the point is to hire developers that you could put into any role in the company within reason and have them be successful. 99% of development work at a FAANG is pretty unexceptional and doesn't require exceptional developers. They hire for that exceptional 1%.
FAANGS want a load of loyal, naive people who are willing to work loads of overtime and not ask too many questions. Who better than posh kids from great universities who haven't quite figured out that life isn't a meritocracy yet!?
Sure they also want the top 0.1%, but they have a different interview track. Do you think all those OpenAI engineers that were going to follow Altman were asked to do leetcode?
Designing a test for which one cannot possibly prepare is a problem that’s bedeviled test makers for a long time. The team behind the SAT threw up their hands and said it no longer stood for “scholastic aptitude test” but just… nothing.
LC tests typically copy problems from the university the interviewer graduated from. College programs differ, so this is really a case of what you were introduced to.
There's a fairly popular online LC test company in my corner of the world which was formed by graduates and lecturers from a certain university and they started out by just giving the problems from the curriculum. Result was heavy bias in favour of students and alumni of that university.
> You cannot categorically claim that LC tests are largely memorization tests rather than raw problem-solving skills.
Sure I can. By the time you get to Leetcode hard, these aren't just "can you derive the answer". The questions by design take 45+ minutes and have some weird quirk in it that is nominally related to the core concept being tested. These aren't necessarily meant to be done on the fly during an interview period.
>Not being able to see up the mountain doesn’t imply there are no climbers above you.
a better analogy is that youre on a road and you see a freeway above you. The people above you aren't "better", they are simply on another road, to another destination. But they aren't necessarily worse either. They could be on their way to a dead end job or could be a billionaire CEO.
That is to say, it's useless comparing yourself to other people you don't know. Everyone has their story.
Thank you. You just proved my point that “categorically LC is not largely memorization” by reinforcing that only in specific cases in some specific levels that you do need some specific domain knowledge.
My point is that LC hards were not intended nor designed to be perfromed in an interview setting, and essentially most people will only do the in that typical interview timeline if they've lucky enough to have seen it before or lucky enough to understand the specific domain knowledge.
So I'm not sure we're interpreting the same conclusion here unless you think trick questions are a mark of a "good engineer".
My point is that a claim cannot be made that categorically LC tests are generally a test on memorization. It appears your point does not disprove that. You mention exceptions, that in fact proves the general rule is true (I.e your claim
isn’t of the form: most leet code questions of almost any level cannot answered without spending 45 mins and requiring specialized domain knowledge as a prerequisite). You cannot argue against general rule by pointing out specialized exceptions. Cats generally have 4 legs as a rule. Yes exceptional conditions exists where they don’t have 4 legs, but the generally rule holds true. To argue against, your point must take the form: “as a rule, most cats do not have 4 legs.” Do you understand?
You can disagree, but I and many others can very much make a claim. I argue it can even be a well supported claim. Your personal disagreement isn't a refutal of any and all claims.
>You cannot argue against general rule by pointing out specialized exceptions.
Lertcode hards in interviews have been getting more common for a decade now. At what point do we stop pretending that more cats aren't losing their 4th leg and announce an epidemic?
It shouldn't be common, but it's becoming more common. I haven't seen any claims in any conversion even disagree with the notion, let alone provide hard evidence.
Again, my initial purpose of responding to the OP was his perspective is formed by his own ability, a trap you also fall into. Again, Higher mountain climbers and all. Lower climbers are more numerous and will agree and validate their experience amongst themselves as a group - and indeed they are the larger voice. Feel free to have the last word.
> The problem isn't standardized tests, it's that leetcode questions are about having the time to have learnt the answer beforehand, rather than raw ability for problem solving.
This sounds like you want to penalize students who studied for the exams. Or at least not reward them.
Like all interview formats, it’s a proxy for understanding if the prospect would be able to get the work done and be a good fit with the rest of the team. I’d say it’s a pretty good proxy for work ethic at crunch time as well.
If your complaint is that a normal person wouldn’t have the time to study these things in detail, why would a company want to hire someone who has external obligations?
>This sounds like you want to penalize students who studied for the exams. Or at least not reward them.
Interviews are like exams but you don't have any clue what topics are on the test. If Leetcode was some licensed, standardized approach to getting some license to verify my ability to code myself out of a paper bag: I'd hate it, but I'd grit my teeth and study it. exams can be studied for.
But it isn't, so I can be studying leetcode questions and be hit by a dozen other topics. I don't have time to study everything, and the market right now isn't worth pinpointing specific companies unless you have a stellar reference.
>I’d say it’s a pretty good proxy for work ethic at crunch time as well.
I couldn't disagree more. Someone so prepared for interviews have the least skin in the game. Layoffs come and they didn't work > 40 hours but were otherwise excellent? oh well, get another job in a month because interviews are a breeze for them because they breathe DS&A.
>why would a company want to hire someone who has external obligations?
I'd love to know the answer here as well. Why do companies internally penalize workers who were laid off, but then try to "steal" currently happy employees but make them jump through these hoops? The logic seems backwards; interviews should be hard and depress wages for the laid off, desperate workers so you can get a desperate unicorn. But you want someone who lacks the time to study because of current job obligations to get to an offer faster. Their proof of work ethic is being employed to begin with.
The only value in leetcode is you should be able to solve a couple in a short time and thus prove you are least know something about writing code. We use them as an interview prescreen because once in a while someone seems like a good person we would like to work with, but we have no clue after the interview if they can really code.
We had one person who worked on [censored] 20 years ago, then was manager of [non-programmers, rest censored] - now wants to get back into coding - can this person still code? If so I want them, but if they have forgotten everything... I of course censored details for privacy reasons.
Because it seems a fairer way of apportioning limited opportunities than just looking at what school you went to, looking at previous companies on your resume, or seeing how well you can shoot the breeze.
> If your complaint is that a normal person wouldn’t have the time to study these things in detail, why would a company want to hire someone who has external obligations?
External obligations like full time employment and a family?
A leet-code test would be much more standardized if candidates could solve it at home. Just send me a link to the quiz and let me solve it within a specified time frame.
I've done tests like this for some companies. It felt a lot fairer and more closely resembling the actual work environment than live leet-code interviews, with biased interviewer(s) and a stress factor that's not a part of the actual job.
As a hiring manager I HATE leet-code tests, and they do nothing to differentiate candidates, but a take home in the era where people run chatGPT beside the interview window, or have someone else do the interview for them? Not a chance. You are 100% correct that it is way more representative, but the prevalence of cheating is ridiculous.
I totally understand you, but want to offer a different perspective.
They will also be able to use ChatGPT on the job. And StackOverflow. And Google. If they know how to use tools available to solve a problem, that will benefit them on the job.
If you're testing them for what ChatGPT can already solve, then are the skills being tested worth anything, in this day and age?
Take-home LeetCode, even with cheating will still filter out a good chunk of candidates. Those who are not motivated enough or those who don't even know how to use the available help. You'll still be able to rank those who solved the task. You'll still see the produced code and be able to judge it.
Like other commenter points out, you can always follow up the take-home LeetCode. Usually, it becomes apparent really quickly if a candidate solved it on their own.
This does seem like a vexing problem, especially when interviews are conducted remotely.
I wonder if either of the following could be cost-effective:
(a) Fly the candidate to a company office, where their compute usage could be casually monitored by an employee.
(b) Use high-quality proctoring services that are nearby to the candidate. E.g., give them 1-2 days in a coworking space, and hire a proctor to verify that thy're not egregiously using tools like ChatGPT.
Or alternatively, would it suffice to just have a long conversation with the candidate about their solution? E.g. what design trade-offs they considered, or how might they adapt their solution to certain changes in the requirements.
> I'm sure anyone determined to do so can act unfairly regardless of what process is in place, but the fact that there is a standardized test in my mind does the opposite and makes the process much fairer.
This is what privilege looks like. The inability to see barriers that affect others in a worse position.
Standards do not imply fairness only consistency.
You got a test that filters out people who lack the time to train for these tests. Basically, devs with a life (see family)
OK, but I have a two-year-old, so consider my privilege sufficiently "checked" before having written the post. Anyway, what would you suggest that would be more fair?
So are we just going with a base assumption that interviewers can NEVER be trusted with anti-bias training and learning how evaluate people fairly? The examples mentioned in this comment section are all blatantly intentional biases that people are choosing to use. The amazing part is that all the “standard test eliminates bias” people seem to the most ignorant to where bias helps THEM. Forcing people to study for two months is blatantly discriminatory to age and family status, at a systemic level. While “this white straight guy might explicitly choose to give the other white straight guy an easy question,” is very subjective and intentional on the individual level. Like, employees can always choose to do bad things, in any situation. That’s why we have at-will employment…
Is the culture just so broken at these companies that it’s hopeless to expect people NOT to blatantly exploit the system for their friends? Why don’t people get fired for doing that?
>are we just going with a base assumption that interviewers can NEVER be trusted with anti-bias training and learning how evaluate people fairly?
Yes. Because interviewing is
1. hard, but no company has proper full time proctors. So "expert interviewers" are a rarity
2. not standardized in the slightest. So your performance varies entirely by the interviewer, their style, and their mood that day.
3. some weird blind test where you hope you studied the right topics. You're not getting the best out of a candidate, you're basically hoping they read your mind and know exactly what you want them to say.
>Is the culture just so broken at these companies that it’s hopeless to expect people NOT to blatantly exploit the system for their friends? Why don’t people get fired for doing that?
Sure. but that's a universal problem. "It's who you know, not what you know" is advice that has spanned centuries. I can't even blame the modern tech industry for that one.
That + the above issues with interviewing mean you're always going to go with a referral over a random applicant.
1. I’ve worked at multiple companies that absolutely have expert interviewers who design the interview questions and then teach mid-level engineers how to proctor them correctly. It’s like one 30 minute meeting, it’s not that big a deal.
2. All tech companies I’ve worked at since around 2015 have completely standardized interview questions, sometimes also hosted in a GitHub repo where any employee is free to comment or even open a PR to request a change. Every candidate gets the same questions. This thing where “faang” interviewers just pull a random LC question out of their ass is complete insanity to me. An organized set of questions takes a senior engineer like a week to organize and commit to… And if your questions can be memorized and recited by rote memory and the candidate can do well on it without the proctor knowing, then your questions are BAD or your proctor is a moron.
3. I’ve never worked anywhere where I would describe the interview like this. Even the startup where I was the first engineer and there was no formal “test”, it was an hour long chat with the technical cofounder where he grilled me about coding skills and past experience/accomplishments. I won’t take a job if the interview isn’t asking me things that focus on my existing experience and skills, it’s a red flag about the company culture in general.
As for your “universal problem,” I disagree with fatalistic takes where you just throw your hands up and say “whatever shall we do” all the while YOU are the one benefitting from the system that cannot be changed. This is how simple-minded people think about the world.
1. I've 100% met with interviewers that felt like they were googling interview questions on the fly. YMMV which was the point of the "no standardization" argument. I've had interviews with no whiteboarding, some with whiteboarding, and some that simply felt like we both wasted our time.
2&3. I wish I could relate. I work in games, fwiw, so maybe it's simply more wild west than the other domains in such regardss. It's not even that I can't answer some of the questions, but if I'm asked a question on CPU architecture after I spent my time studying a bunch of C/++ trivia, I'm not going to answer the former as confidently since I'm pulling out knoweldge from a 3 year memory bank that I happened to work with at work.
>all the while YOU are the one benefitting from the system that cannot be changed.
I am? I'm a year out of a job and I sure wish I had a referral. My last studio shut down so those references scattered all over.
But for "whatever shall we do"... I don't have some magic perfect interview, but a few basic steps to save everyone's time:
1. we don't need 5-10+ rounds of interviews and 3 months just to make sure a candidate isn't a lemon. IMO if it's over 3 rounds (not including an HR call for basic alignment), there's some process that really isn't necessary. You dont need to speak to a CEO unless you're applying as a director or executive yourself. You don't need to meet every team member separately for their variation of an interview
2. Ghost jobs absolutely need to be regulated. I'm surprised it's even legal to lie to your shareholders and say "we're always growing" when half your postings have little intention of attracting a candidate. At the very least a job posting should delineate between urgent (hired withing 1-2 weeks of response), "normal" (2-4 week process), and "cold" (6+ week process, non-necessary role).
3. jobs should in fact give a general direction of what kinds of technical questions you expect to be asked for that portion. Who does it really benefit if one candidate happened to study leetcode (and the right kind of leetcode), but the other was focusing on system design, or questions about their specific industry problems solved? Or domain specific probblems?
Just a few ways to be honest, efficient, and bring out the best in candidates. Interviews shouldn't be so hostile to the labor the company clearly requires.
> if your questions can be memorized and recited by rote memory and the candidate can do well on it without the proctor knowing, then your questions are BAD or your proctor is a moron.
I agree in spirit. My only caveat sympathizing with interviewers is that most questions can indeed be "memorized", and arguably all questions/practices can be studied for. And there is some merit to trying to figure out how someone approaches a new problem. I think that approach is highly inefficient when you do in fact mostly want someone who "already memorized" the right domain knowledge, but I digress.
But people and their experiences are diverse. Without knowing their background (and again, some people seem to read the resume for the first time during the interview) you are never going to surprise 100% of your candidates with the same question bank. But that may be too much of a burden on trying to cater every inerview for every promising candidaet.
> 2. not standardized in the slightest. So your performance varies entirely by the interviewer, their style, and their mood that day.
That isn't always true. When I interview HR gives me the exact questions I'm allowed to ask. These are vetted both to prevent me from asking something illegal, and also by research to get the type of things useful for interviews. Sometimes it is annoying - you can easially finish the interview with a great score but I have no clue if you can write code or not. However we are carefully trained on how to ask the questions and how to grade them.
That makes sense for soft questions. But I doubt it's HR devevloping a dynamic programming problem and writing a rubric for how good a score you can give based on a response.
I was mostly referring to technical tests, but I understand there are definitely some set of questions you need to ask no matter what. I don't really knock recruiters too much for repeating the usual "are you authorized to work in the US" kinda stuff even though it is the first question on their job application.
> Is the culture just so broken at these companies that it’s hopeless to expect people NOT to blatantly exploit the system for their friends? Why don’t people get fired for doing that?
How do you catch them? Unless they’re idiots they’ll write facially plausible explanations of their hire/no-hire decisions.
> Forcing people to study for two months is blatantly discriminatory to age and family status, at a systemic level.
How is this any less discriminatory than any other assessment based interview where you need to prepare? Non-assessment based interviews end up being vibes based which is much more discriminatory.
You’ve set up a false dichotomy here; for any given position, there is typically a way to conduct an assessment-based interview that doesn’t require too much preparation for qualified candidates.
For example, at my current job, we hire web developers with Rails experience. Our technical interview process consists of either a pair programming session or an async/take-home task (candidate’s choice) which requires the candidate to implement a small feature in a Rails codebase. We do have some room to improve on objective evaluation of the candidate’s performance, but there is a test suite and a rubric which we use to evaluate their work. None of this should require that the candidate study, unless they’re coming in to the interview without Rails experience.
This may work out great if you happen to have worked on Rails for your last job. However, I doubt that everyone you interview is actually that familiar with Rails but rather is pursuing any sort of opportunity that they can get. In that case, they would actually more time to brush up multiple different tech stacks than simply on algorithms.
In that case, the interview question is working as intended. For most of our roles, we want several years of Rails experience, and we are clear about that fact in the job listing. If someone applies without Rails experience, they either didn't read the job listing, or are desperate to find any job. While I empathize with folks in the latter situation, our positions really do require the experience, and the job market isn't so bad right now that a smart candidate should be going a long time without finding something.
If you happen to have Rails experience but it was several jobs ago, the task we give you is basic enough that you should be able to Google what you need during the task to refresh your memory fairly quickly. In fact, I did this when I applied, having not worked with Rails in a number of years.
Edit: My main point is, even if you technically do have to "study" (really, just Google a few basic Rails concepts) if you're rusty, everything you do is preparing you for the actual job. Studying how to implement a hashmap, or computing the longest palindrome from a string of characters, or whatever other harebrained problem FAANG etc want to ask, is 99% of the time not really helping you prepare for those jobs.
No, it doesn’t. I was just giving an example from personal experience.
For any given job, I believe there’s a way to design an assessment that allows the candidate to demonstrate skills directly relevant to the job, even if the job doesn’t have requirements that are as specific as “Rails developer with a few years of experience.” I have yet to see a single job listing in several decades in the industry where I think to myself “ah yes, the only way to find qualified candidates for the job would be to ask them to implement a quadtree.”
I've done a lot of whiteboarding interviews in my life and it's never been "implement a quadtree." It's always, at its core, a small coding probably that could plausibly be part of a real-world problem, and therefore it is directly relevant to the job.
I've also never been asked a question like this, but it's because I specifically avoid the companies that are known to ask them. Sounds like you have as well (knowingly or not). But the OP is about LeetCode-style interviews, so that's what I was discussing.
Are you claiming that no company asks irrelevant leetcode-style questions as part of its interview process? If so, that’ll require some more evidence than “well, I haven’t been asked any such questions.”
I'm rejecting your characterization of "leetcode-style" questions as 1) irrelevant 2) primarily about simply implementing some obscure data structure (as opposed to correctly using data structures).
I'm sorry if I wasn't clear; I didn't mean to say that all LC questions are irrelevant. I was just asking if you're claiming that no company uses LC questions which are irrelevant. Because if you are, that seems like a pretty difficult claim to prove given all the stories out there on every company review/discussion site like Blind or Glassdoor.
And my "implement a quadtree" example was hyperbole; again I'm sorry if you didn't recognize it as such. I do suspect we have wildly different definitons of what questions qualify as "relevant to the position," though, so I'm not sure how far we're going to get in this discussion.
Because the interviewers themselves typically have wide latitude to select the actual question, no, I don't think such a thing can be claimed. But I'd say the majority of questions asked are reasonable ones that can plausibly be solved in the timeframe and the majority of interviewers I've observed from that side of the table have not expected perfection or wanted their candidates to fail.
I don't think I (nor most others commenting here) were claiming that the questions couldn't be solved in the timeframe, that interviewers expected perfection, or that they wanted candidates to fail. So I'm not really sure why you brought that up.
>any other assessment based interview where you need to prepare?
because most other assessment based interviews are based on what you do on the job, likely stuff you've done at previous jobs as well. Less prep time when you spent thousands of hours already as a career.
> the fact that there is a standardized test in my mind does the opposite and makes the process much fairer.
It can make the process fairer but it's not a given. You can do the classic "no dogs, no blacks no Irish," and that was a standard across pubs in England. It certainly wasn't fair, unless you were racist.
If you're committed to fairness, then a standard will help. It gives you a clear point to fix and improve things and something you can use to measure if you're achieving your stated goals. That's definitely something you can't do if you're just making things up as you go along.
And yes, I made a deliberately provocative statement. I'm obviously not saying whiteboard tests are the equivalent of segregation.
Within one organization the form is standardized, and across companies it's very similar. But sure, maybe not the right word. I'm comparing it to "just letting the interviewers chat and decide based on whatever" which is typical in industries without a skills test.
Leetcode-style tech interviews fall far short of standardized tests. In real standardized tests, the same questions are given to everyone, and effort is made to develop new questions not known to the test takers.
They're more like a standardized test than a pure shoot-the-shit interview is, but still pretty far away.
reply