It might work as an intelligence test.
Ask HN: What is the point of algorithm-heavy interviews?
51–60 of 104 posts
Re: Ask HN: What is the point of algorithm-heavy interviews?
#52I once read it is a form of ageism because older people, in general, don't have as much time as young people due to family to study for those interviews. Absolutely no idea if that is true but I think it is an interesting thought.
Re: Ask HN: What is the point of algorithm-heavy interviews?
#53Re: Ask HN: What is the point of algorithm-heavy interviews?
#54> Who really cares about algorithm on daily bases. I find that statement really depressing to be honest. Why would you be so happy to deprive yourself of a huge source of potentially useful information that is the foundation of our field that shouldn't take long to learn? Algorithm and data structure knowledge helps you write processor + memory efficient code that scales well, and stops you reinventing the wheel when…
This is like saying that a car mechanic needs to have a PhD in thermodynamics to work on internal combustion engines. 99.9% of coders just need to know what things in their chosen language(s) are performance sensitive and what aren't - very few actually need to know the exact reason why. And even fewer need to be able to improve on said algorithms. If something needs sorting, you call the sort function in the object.…
Genuine question: How would you describe the performance properties of an algorithm in API docs without talking about e.g. logarithmic, linear or exponential growth? How could you understand these concepts of growth without knowing some basic algorithms that demonstrate them?
It's not like API docs can contain explanations like "be careful, this algorithm gets a little slower each time you add a new item and this other algorithm get super slower each time!".
> And even fewer need to be able to improve on said algorithms.
Nobody is talking about inventing a new sorting algorithm. I'm talking about being able to analyse the CPU + memory growth properties of a complete program you wrote yourself (which are algorithms...) and fixing bottlenecks by applying appropriate standard data structures and algorithms.
Re: Ask HN: What is the point of algorithm-heavy interviews?
#55Even though we many software engineers aren't doing challenging enough work to require algorithms work daily (though, wouldn't you want to be doing this kind of work?) algorithms problems have a lot you have to do. Even if you don't use a linked list every day, designing a linked list and searching it isn't really different than designing a User class. The difference is it will take a few features of iterating on a User class before you bump into design issues where these will pop up right away.
And even though people complain about not being able to code without an IDE, frankly this is a red flag. I've seen candidates white board weird code (lots of semicolons, or no returns in python) that makes it pretty clear they don't write a lot of code.
Finally, white boarding algorithms questions are nice for interviewees because you can study one topic that will apply equally for multiple companies. Take home projects are great, but you have to do a unique one for each company. You can practice leetcode every night and you're preparing for a wide range of places all at once.
Re: Ask HN: What is the point of algorithm-heavy interviews?
#56Re: Ask HN: What is the point of algorithm-heavy interviews?
#57Earlier quoted context omitted.
but someone who is old would have studied this repeatedly if they applied to multiple interviews of the same kind, so they would have internalised knowledge. Also it's sort of timeless knowledge that you can acquire on the job. If anything interviews about the latest hip technology seem more prone to age selection to me.
A new job every six months was not the pattern ten years ago. Also, back then you would have been asked why manhole covers are round instead of write a bug free implementation of A* on a whiteboard. Neither of those are timeless bits of knowledge that one acquires on any job, other than maybe job interview coach.
Re: Ask HN: What is the point of algorithm-heavy interviews?
#58Earlier quoted context omitted.
I can assure you algos and data structures are a big part of systems software. Without these it's impossible to write efficient and correct code. It is these fundamentals that have made me easily switch profiles from VR to Self Driving to Cloud.
I think it is often much better not to write them yourself, but rely on a battle tested implementation. Of course we're not talking about left-pad here, but implementing your own Diffie Hellman key exchange from scratch is usually a very bad idea.
Re: Ask HN: What is the point of algorithm-heavy interviews?
#59Earlier quoted context omitted.
> why do people make such a big deal about this? You're arguing a point they didn't make. The point they made is that most coders don't need to worry about algorithms on a daily basis, and that reflects poorly on them in interviews where they expect you to not-so-subtly fake your cleverness with "aha!" moments when you're being drilled on the fine details of complex algorithms that you maybe once needed to implement…
> On the rare occasion that these coders need to worry about algorithmic scaling, they will re-use an implementation from their fine standard library or adapt one from another source, without turning it into a brain exercise of reasoning about and building the whole algorithm on scratch on whiteboard while a bunch of strangers are sitting there judging you and prompting you to explain your thought process as you go).…
I think most of us agree with that. But that's beside the point, because that's not the algorithm-heavy interview people are complaining about big time.
Re: Ask HN: What is the point of algorithm-heavy interviews?
#60Not all interviews are algo-heavy. I recently interviewed for a position in AWS and the challenge was a simple floodfill argo (leetcode easy).