2 ms·
I agree with your general sentiment and I think algorithmic questions are fine. But it seems to me that the common type of questions are very non-typical for ev
by dgb23 5y ago
I agree with your general sentiment and I think algorithmic questions are fine. But it seems to me that the common type of questions are very non-typical for every day problem solving and programming.
For example I as a full stack web dev, never write sorting, very rarely search / string or scheduling and so on. However I happen to like puzzles and coding challenges, so I do them fairly regularly on a Sunday. Do people want to select based on hobbies?
Actually tricky stuff (tricky as in I have to think more deeply and do actual design) I have to do includes for example:
- caching and synchronization
- concurrency/asynchronicity issues
- deep SQL queries
- schema (DB/API/UI) design
- tree/graph traversal
- refactoring and code design
- breaking down (deeply coupled or complex) features into sensible tasks
- (declarative) state machines
- asking the right questions about an unfamiliar domain and deriving the right abstractions and data structures
- error handling, invariants, correctness...
Those apparently rarely come up in the types of questions that for example leetcode et al suggest. It's typically "A&D with a twist".
- marcus_holmes 5y agoI've been working through HackerRank, LeetCode, etc - they have nothing to do with actual software development. And most of them rely on knowing some obscure algorithm or "trick" to solve, which you wouldn't do in real life - you'd Google the problem, possibly add a dependency, and be about your business. But I've also been in technical interviews where the problem was used as a discussion point, rather than a challenge, and I get that use case - though "let's build a web server" might be a better problem to solve collaboratively.
- VirusNewbie 5y agoInteresting, I'd say 80% of the 'easy' level questions are very relevant to understanding data structures one encounters on a day to day basis (maps, trees, lists, arrays) and basic ability to manipulate those with loops or recursion. I think those are very good interview questions. I'd also say 90% of medium and hard questions are exactly what you said, relying on a relatively obscure algorithm.