Live data from Hacker News

Ask HN: Is asking obscure algorithms any test of programming ability?

news.ycombinator.com

11–20 of 43 posts

Re: Ask HN: Is asking obscure algorithms any test of programming ability?

#12
> Are knowing obscure algorithms like this any test of a person's programming ability ?

No, it is not. Knowing what a priority queue is is a reasonable expectation; knowing the monotone variant is not.

Unfortunately, far too many empathy-deaf programers get to interview candidates. They think that maintaining the company's reputation for having a hard interview process will work in their favor - no "undesirable" candidate get through under MY watch! - unaware of the long-term ill effects such stupid questions have on their profession.

"Hire programers smarter than you" seem to be interpreted as "ask more obscure things than what you were asked". :(

Re: Ask HN: Is asking obscure algorithms any test of programming ability?

#13
post #10
post #9

If you believe some reports, it doesn't matter what is covered in an interview; it's no better than a lottery regardless.

Also, any test that you ace has not completely characterized your actual skill level; all it tells you is that you're above the skill range measured by the test. You might be a little bit above, or far above, that upper bound. Maybe they've decided to have one really hard question that it's unlikely anyone will answer correctly, but if they get someone who can answer it then they know they've found someone really sui…

One may argue that a Phd student working in genomics must know the Monotone Queue variant because it MAY come up as a research implementation in his/her work. But this doesn't hold true for general software engineering folks.

I am a Phd student in Computer Graphics and so it is a reasonable expectation that I should know more about linear algebra than my peers. But if you extrapolate it to ask extremely hard research level problem it kills the purpose.

Re: Ask HN: Is asking obscure algorithms any test of programming ability?

#14
Monotone Priority Queues were formulated after I took an algo class. I've encountered them because I had exceptional need to understand priority queues, but have never needed to implement, describe, or recognize them.

If someone thinks that is a good way to judge hires they are wrong.

Re: Ask HN: Is asking obscure algorithms any test of programming ability?

#15
I think these questions usually focus on the wrong part of the equation. Is knowledge of obscure algorithms a good indicator of programming ability? Maybe, maybe not. Is the interviewer expecting you to know the Monotone Priority Queue algorithm, or are they evaluating your ability to approach and solve a problem? That's the question that matters, and there's no information about that here.

"Given an array, and a sliding window within that array, how would you go about finding the max" is a legitimate question with plausible real-world application. The fact that there's an obscure algorithm to optimally solve this doesn't mean it's not a good test of someone's ability to think through an algorithmic problem - as long as you don't make it an algorithm memorization test.

Re: Ask HN: Is asking obscure algorithms any test of programming ability?

#16
post #2

The test isn't about whether you know the algorithm – quite the opposite. The test is about seeing how you approach a problem you haven't (possibly) solved before.

This is what everybody who employs a vanity interview question tells themselves. You can use this logic to justify any question, and the result is an entirely subjective interview process that occasionally and randomly admits candidates based on their knowledge of trivia.

Re: Ask HN: Is asking obscure algorithms any test of programming ability?

#17
Here's what happened to these companies:

- They started asking algos and datastructs in the 00s because not too many people had the resources to study it. This served as a proxy for intelligence and was vaguely related as compared to other IQ tests or puzzles

- In this decade, more and more CS graduates and bootcampers started studying the same algo and datastruct problems

- Unable to reject anyone (because everyone could solve those problems), they started increasing the difficulty of the problems and started fretting over stupid things like variable names, arcane data structures and solutions, culture fit, ability to handle pressure etc.

- Today, it has devolved into a nerd show off event where the entire goal of interview has become diluted.

The goal of the interview was to open a requisition, find a smart candidate to do the job, close the requisition.

Nowadays, they'll open a req/have a pipeline of candidate, grill them over unnecessary questions and keep interviewing candidates until they get bored/really need to close this req.

The whole point of the interview process is so lost. As a person who is employed in one of these companies, I hate to see what it has become. We regularly reject candidates who are clearly more passionate than their interviewers, have better experience and bring something new to the table.

But because these mediocre interviewers (my peers) interview candidates on some arcane crap (that they obviously can't solve in 30 mins) these smart guys get rejected and I'm relegated to working with these retards.

It is one thing to ask coding questions to filter out the complete losers. It is completely another thing to hire only people who can solve these stupid questions.

Sad!

Re: Ask HN: Is asking obscure algorithms any test of programming ability?

#18
No it's stupid. Like asking an iOS engineer a question involving a tree data structure. It is stupid and irrelevant because at the end of the day our job is to build products/features. If you think at a student level you will never learn anything past college. Companies think that by default everyone can write code and build product. So they focus on stupid obscure stuff.

I believe it's the opposite. We all went to college and got the same freakin CS degree. We don't know anything about building products when we graduate. Building a product from the ground up without the help of a designer and PM is a tough exercise. Most engineers would fail. Guess what, that's what we do all day in the real world. 10 years later I still get algorithm questions as if my job is %100 about algorithm. That's %5 of my Master's program by the way.

Re: Ask HN: Is asking obscure algorithms any test of programming ability?

#19
No, with the sole exception of interviewing for a research position where new algorithm variants on the sliding window might be developed.

What an interviewer focusing on specifics can pick up on is near term familiarity with a topic. But someone who can deliver value is also able to propel knowledge into novel areas, and can explain and debug the solution they came up with. They aren't there to be a student passing an exam.

Familiarity tests are often "weeder" filters that clear out candidates with no knowledge of the domain problem. This is a mixed blessing as it can find senior people if you drill deep enough with the right problems, but it can also make the overall skillset and wisdom of the team brittle if they are overfit.

Re: Ask HN: Is asking obscure algorithms any test of programming ability?

#20
A Monotone Priority Queue is neither sufficient nor needed to solve this problem (as it does not give a linear time solution). Instead the proper solution just needs a deque, see http://techieme.in/maximum-element-sliding-window/.

So yes as you can see knowing algorithms is important, as if you don't you will attempt to use an overly complicated data structure to come up with a suboptimal solution.

Post reply on HN