5 ms·
I believe it should depend on the domain of the job you're interviewing for. If the job is heavy in large data sets and number crunching, then it makes sense to
by knightofmars 10y ago
I believe it should depend on the domain of the job you're interviewing for. If the job is heavy in large data sets and number crunching, then it makes sense to ask an algorithm question. If the job is integrating disparate APIs, then it makes sense to ask about how to define an easily consumable API. And while there are definitely positions that could require both pieces of knowledge it doesn't mean every position should expect encyclopedic knowledge of algorithms.
Often I read stories/comments and it feels as if questions of these sort are for the interviewer to prove a weird dominance of some sort and not to actually determine the competency of the interviewee.
This day in age I wish people would just say, "This job is mobile app development and simple REST APIs. If you want to ask about that go ahead, I'm not solving a problem which has a 1,000 solutions on Google."
Or alternatively, "Sure, give me a second. (Pulls out phone.) Here, this is the wikipedia entry on Insertion Sort."
- SideburnsOfDoom 10y ago> If the job is heavy in large data sets and number crunching, then it makes sense to ask an algorithm question. For that kind of job, why would you ever roll your own rather than using tools that have libraries of standard algorithms and data structures?
- knightofmars 10y agoI certainly hope you wouldn't "roll your own" but you do need to understand how to identify the type of data and the correct algorithm to use in processing it based on the requirements provided.
- barrkel 10y agoPre-packaged libraries are generally optimized for being composable and generic. When trying to get more performance, it can make sense to e.g. create an index or lookup that can be used in multiple steps, or fold multiple iterative steps into a single iteration, or take advantage of the data's distribution to use a more specific approach, etc. You don't have to walk far from the beaten path at all before custom data structures start making lots of sense. Most interesting data structures in the literature are only implemented in a resuable, available way in one or two languages, if that.
- MichaelGG 10y agoYou will almost certainly not be writing your own, until you do. More importantly, understanding this means you'll know the right questions to ask, or even be able to say upfront that a certain well-liked product some exec wants to use won't scale, even if the trial with a dataset less than RAM works "really fast!".
- vonmoltke 10y agoThe problem is the companies who ape Google's process, since the domain Google hires for is "the entirety of software engineering" due to their req-blind hiring philosophy.
- knightofmars 10y agoGoogle, is well Google. The problem is companies who copy Google blindly without taking a moment to think about what the actual problems their engineers are solving. (You said, "ape" so I'm not sure what that meant. I may have just re-commented your original comment.)
- SyneRyder 10y agoTo ape means to "imitate, especially in an absurd or unthinking way". Think "monkey see, monkey do". But your comment might have helped clarified the post for others.
- knightofmars 10y agoAhhh, thanks for the clarification. Brought a smile.