Live data from Hacker News

Why do big companies ask unrealistic software engineering interview questions?

tomaszs2.medium.com

71–80 of 92 posts

Re: Why do big companies ask unrealistic software engineering interview questions?

#72
post #67
post #40

Earlier quoted context omitted.

Usually the issues companies throw at their applicants aren't that difficult to solve. Every dev should know how to split data into structures you can work with.

Google asked me a question… I could solve it in O(n²) but not in O(n). After, with calm, talking about it with a friend who is a professor at university and has a phd in mathematics, he reflected that since my problem only used positive numbers, I could have exploited a certain property and simplify my algorithm. So in the end, if you're lucky and have faced that particular completely artificial problem before, you c…

These kind of tests are rarely about seeing if an applicant can actually successfully solve the issue. It is about seeing how the applicant approaches a difficult problem.

Maybe google, amazon and whatnot see that differently but I would not personally wanna work there anyway.

Re: Why do big companies ask unrealistic software engineering interview questions?

#73
post #72
post #67

Earlier quoted context omitted.

Google asked me a question… I could solve it in O(n²) but not in O(n). After, with calm, talking about it with a friend who is a professor at university and has a phd in mathematics, he reflected that since my problem only used positive numbers, I could have exploited a certain property and simplify my algorithm. So in the end, if you're lucky and have faced that particular completely artificial problem before, you c…

These kind of tests are rarely about seeing if an applicant can actually successfully solve the issue. It is about seeing how the applicant approaches a difficult problem. Maybe google, amazon and whatnot see that differently but I would not personally wanna work there anyway.

That's what they tell you… They also tell you it's pseudocode, and then proceed to interrupt you if you forgot a ";".

Re: Why do big companies ask unrealistic software engineering interview questions?

#74

If you'd like an article giving an explanation for this that doesn't require upgrading to a paid Medium subscription, try this one I wrote a few years ago: https://blog.plan99.net/in-defence-of-the-technical-intervie... It is, natch, hosted on Medium, so you will see a banner, but unlike this paywalled article it's dismissable. Just click the X to make it go away and then you can read the whole thing for free. The su…

A fizzbuzz question would sufficiently address points 1 thru 5. The issue at hand is that the "unrealistic" algorithm questions aren't fizzbuzz.

If I didn't know ahead of time that Fizzbuzz is to weed out people who pretty much don't know how to program at all I could actually fail it on an interview. It would go something like this.

They would ask me to write Fizzbuzz. I'd see how simple the problem is and immediately think of something like this (assuming they want it in Python):

  def fb(n):
    for i in range(1,n+1):
      if i%15 == 0: print("fizzbuzz")  
      elif i%3 == 0: print("fizz")  
      elif i%5 == 0: print("buzz")
      else: print(i)

  fb(100)
But then I'd think that this is too simple. That's something you could write just after glancing through a Python book at a bookstore. Surely I should use more language features to try to stand out among the candidates, right?

So I'd probably end up trying something like this:

  def fizzbuzz(n, *args):
    cur = ['' for x in range(1,n+1)]
    for m, postfix in args:
      cur = [y+postfix if x%m==0 else y for x, y in zip(range(1,n+1), cur)]
    cur = [str(x) if y == '' else y for x, y in zip(range(1,n+1), cur)]
    return cur

  print("\n".join(fizzbuzz(100, (3, 'fizz'), (5, 'buzz'))))
But Python isn't my main language and if this was a whiteboard problem I'd probably make some mistakes and they would be very unimpressed.

Re: Why do big companies ask unrealistic software engineering interview questions?

#75
post #15

As always, it's an imperfect proxy. Nothing more, nothing less. But nobody has found a more reliable proxy yet.

> nobody has found a more reliable proxy yet. Companies have not found a process at scale where they can train their employees to systematically gauge candidates. Small and startup companies where leadership is still involved in the interview process can gauge candidates based on their own technical intuition. So it's false to say NOBODY has a proxy for good software engineering skills. The founders can also look at…

Yea this is fair. Nobody has found a more reliable proxy at scale is what I should have said.

Re: Why do big companies ask unrealistic software engineering interview questions?

#77
post #59

Could not read the whole article but get the gist. Time was that I would have agreed. But I have changed position. Candidates: you need to appreciate how difficult it is to hire good people, the dishonesty of many candidates, and how limited the tools are for identifying talent and filtering out weasels. It is true: party trick Big O questions have low utility in most jobs. It is true: there is talent out there which…

> It is true: party trick Big O questions have low utility in most jobs. It is true: there is talent out there which sucks at Big-O questions. It is true: there are people who are good at little else than the party tricks. Nevertheless: those questions provide an objective judgement about a candidate. That objective judgement is valuable.

That objective judgment is valuable at something different from finding out whether people can actually do the job. So, not very valuable at the purpose that people try to use it for.

My last job interview cycle (January 2023), they asked me a ton about the specific details of C++. It was going to be very difficult to do as a dishonest candidate. I mean, you might make it as a language lawyer who doesn't actually code, but you'd have to be a genuine language lawyer. One phone interview, then a 2-hour in-person interview, then another phone interview with higher level people. That was it. There was one "what does this code do" problem, which takes people 5-15 minutes.

So my point is, you don't have to grind leetcode to get a software engineering job. You don't have to use leetcode to hire good software engineers, either. And if you do use leetcode as an interview filter, then you hire people who are good at grinding leetcode, which is not the same skill as writing software.

Re: Why do big companies ask unrealistic software engineering interview questions?

#78

Earlier quoted context omitted.

Medium started expressly for the money. How to let authors monetize. To criticize it for doing what it was created to do, seems odd. Sure, there are a lot of software packages out there so any dev can create a new Medium. Who cares? The point was to pull a lot of people to one site to monetize it. They would browse around and find other authors, which is not possible if every dev out there creates their own site. Jus…

I already mentioned that monetizing is fine if you agree so no point in being triggered by that. Regarding to censorship your reduction to the absurd attempt is making a non-point here. The cultural war is overt, well understood, widely understood at this point and no human discipline is immune to the ideological mind viruses. These might not change the patterns you code but certainly boycott hiring you without feedb…

Ok. So where in Medium is there censorship?

I actually want to know. Is there a group in Medium management that is removing stories? Which direction? As far as I can tell, it might actually lean right, but I can't tell.

This is first I've heard Medium criticized for censorship, and while flippant, I am wondering how/why?

For monetizing. Maybe I was reacting to a few different posts. I only replied to one, sorry it was yours, but it seemed like a common theme that devs should just roll their own Medium. And I thought that missed the point.

Re: Why do big companies ask unrealistic software engineering interview questions?

#79
post #2

For largely the same reasons why graduating from top schools is given more credit than any old college, even if the level of teaching is similar. Getting in takes determination, intelligence, and discipline. Same with getting good at Leetcode.

That still doesn't say anything about the candidate besides the fact that he/she farmed algorithm questions. It's an extremely poor predictor of a candidate's quality. It should only be used in those companies where the number of applicants is way larger than the number of open positions where you can accept the trade off of losing few great applicants if you can also lose the many more bad ones.

It took me a while in life to realise that some people are just made to succeed. These people are typically good to great at anything they put their minds to.

Just because you say those questions are an extremely poor predictor of a candidate’s quality doesn’t actually make it so. It might just be one of the best and most cost effective ways of finding good candidates.

Re: Why do big companies ask unrealistic software engineering interview questions?

#80
post #15

As always, it's an imperfect proxy. Nothing more, nothing less. But nobody has found a more reliable proxy yet.

> nobody has found a more reliable proxy yet. Companies have not found a process at scale where they can train their employees to systematically gauge candidates. Small and startup companies where leadership is still involved in the interview process can gauge candidates based on their own technical intuition. So it's false to say NOBODY has a proxy for good software engineering skills. The founders can also look at…

> based on their own technical intuition

That results in biased hiring based on "I like this person, they think/talk like me".

> look at the candidate's public code contributions

Also biased hiring on candidates who have the time & inclination to do extra-curricular coding at the required level.

> Founders have a financial incentive to not hire bad candidates

All companies have financial incentives to not hire bad candidates, the cost a bad hire on productivity and cost to manage them out is high. In fact, the incentives are so strong that the entire hiring system is optimized to avoid bad hires at the cost of missing out on good hires.

That's why the system is so frustrating - only strong candidates with clear signals get hired.

Post reply on HN