4 ms·
Oh, so another interview question where a Eureka[1] moment is required. And, don't tell me: You got it right. Next, you are write about it how it is such a "g
by throwaway2037 3y ago
Oh, so another interview question where a Eureka[1] moment is required. And, don't tell me: You got it right. Next, you are write about it how it is such a "genius" interview question to select the 10x engineer. This question looks ridiculously hard, considering the setup.
> Type 2 looks at the problem and says, “Ah! I know just how to do this! Multiplication is just like addition, except wherever addition does +, I should do *.” So they copy-and-paste, change all the +s to *s, and they’re done in 90 minutes. Candidates in this group stand a really good chance of being hired.
And just before that, he wrote:
> By the way, MemSQL-in-2013 was doing deeply arcane and high-performance C++11, so the fact that this challenge incidentally requires fluency in C was a plus, not a minus, for their purposes.
Sheesh.
[1] https://en.wikipedia.org/wiki/Eureka_(word) https://en.wikipedia.org/wiki/Eureka_(word)
- praptak 3y agoI don't believe this falls into Eureka moment category. This is adding an operation into a codebase which already implements a similar operation. The problem is also not "fluency in C" because they require it for day to day work. If anything sucks about this task it's that it also tests "set up a C IDE from scratch on Linux". This might reject a good candidate who nevertheless didn't recently set up such an environment. OTOH this one is easy to fix - either set something yourself or tell the candidate they will be expected to do this, so they will have time to prepare.
- stavros 3y agoThe article does mention you get a computer with all that set up already.
- kqr 3y agoYes, it's a hard question, but if you're grepping for skilled programmers you want a hard question. The point of these types of tests is not to minimise false negatives, but eliminate false positives. (And besides, "I need to replicate this addition-based functionality but for multiplication" does not seem like such an Eureka moment to me. The main difficulty for me seems to lie in navigating a big codebase, and exposing a new function on the API -- the difficulty of which depends on how well modularised the codebase is.)
- ZephyrBlu 3y agoI don't know a lick of C/C++ and I found the add delta method in <10min after poking around the memcached GitHub repo. I feel confident I could complete this challenge in 3hrs, or at the very least make a strong attempt. I think it's a good question because it heavily indexes on strong engineering fundamentals. Searching a codebase, reading code, understanding behaviour, modifying an existing codebase, blending your solution in, etc. Every strong engineer I know is very good at the things required to complete this task.
- bryanrasmussen 3y agothere were three possible groups given, the two groups that solved the problem both had "eureka" moments. Group 1 eureka was so bad I would definitely never want to hire them. Group 2 eureka should not really be an eureka moment for anyone over 12 years as it essentially hinges on "Multiplication is just like addition"
- bryanrasmussen 3y agoAlthough if it was me I might be removed from consideration because I would probably just send an email - what? Am I missing something here? It sounds like you want me to just copy the add function to new function mult and change the addition sign to a multiplication sign? Is that it?!?
- viraptor 3y agoThere's no Eureka moment required. "Add a feature similar to an existing feature to a codebase you don't know yet" is what people often do during their usual day. It's a good test of quick exploration, being ok with uncertainty, and coding. If that's what the company is after - great.
- yuliyp 3y agoThe prompt literally says > Via its incr and decr commands, memcached provides a built-in way to atomically add to a number. But it doesn’t provide other arithmetic operations; in particular, there is no “atomic multiply by ” operation. Going from that to "maybe I should implement multiply similar to incr" is not a big enough leap to call it "Eureka" in my mind.