4 ms·
no not at all, these are examples of some of the things you're expected to know as a competent engineer. being able to solve a puzzle is one thing, being able t
by hnriot 12y ago
no not at all, these are examples of some of the things you're expected to know as a competent engineer. being able to solve a puzzle is one thing, being able to solve it at the optimal efficiency is a feature of the best engineers - don't you think the people that can arrive at these solutions would be better products? It depends on your job, but I work on big clusters on machine learning systems and the difference between an optimal algorithm and one that's just ok is huge.
- nilkn 12y ago> these are examples of some of the things you're expected to know as a competent engineer I find this statement tenuous at best when the example question has absolutely no programming component of any kind and is entirely a little math puzzler about determining the highest floor from which one can safely drop an egg. It's certainly an interesting problem, and the explanation is presented incredibly well, so I don't fault the site itself. I'm also aware that this is something of a pop culture question for "programming" interviews. However, I don't believe that it is in any sense true that it is necessary to excel at this sort of question in order to be a competent programmer. This might seem representative of the experience of trying to design a novel algorithm to solve a new problem, but in fact it couldn't be less representative. I've had to write some hairy code in my job a few times, and not once was I under time pressure or expected to have the critical insight within five minutes. Any problem that has any sort of creative or exploratory or "research" aspect to it should not be under time pressure, and ideally it should be mixed in with other work so that you can rest from the problem and come back to it later. The vast majority of candidates who will pass this particular test all the way to the end are ones who just memorized it online.
- deleted 12y ago[deleted]
- hnriot 12y agowow, unless you got a different question that I did I am amazed at your response. The algorithm is used often in CS, that you didn't know this kind of makes my point. Sure you can probably work as a programmer for years and not care about writing well optimized code, processors are so damn fast these days you can ignore the code quality and get away with it. Also if you couldn't reason your way to the answer how would I have any confidence you could reason any other problem of similar difficulty level. This kind of problem shouldn't you more than 5 or 10 minutes to figure out. Sorry, we pass on your application :)
- nilkn 12y agoThat's quite a loaded and passive-aggressive non-response. It does not befit this forum and certainly does not display the maturity I'd require from anybody reviewing my resume. It's so filled with assumptions I don't even know where to begin. Truly, I do not know how you deduced from my post that I don't care about writing well-optimized code. You clearly didn't understand what I wrote.
- lostcolony 12y agoReally? When you have problems, they're unoriginal problems that have Google-able answers, defined and to be solved in a vacuum devoid of context, and you're expected to either know the answer already, or figure out the optimal answer in 20 minutes, and code it correctly on a whiteboard while people watch you? That sounds like hell.
- Aeolun 12y agoIn some environments (like yours) it may make sense. In the vast majority of the cases however, you can get away with writing un-optimized code and it generally makes no difference. Considering the egg problem, any computer would not care two shits about running through all 100 floors to drop the egg every single time. Unless this particular piece of code is a bottleneck for your organisation, there is very little reason to check for/think of an optimal solution to this problem (if you don't know it yet). That does not make you a bad programmer, just an economical one.