4 ms·
Yup. My test for this kind of thing is to ask people to write a function that can sum the numbers between two numbers. It's simple, touches on enough to show if
by talideon 11y ago
Yup. My test for this kind of thing is to ask people to write a function that can sum the numbers between two numbers. It's simple, touches on enough to show if the dev is at least minimally competent, and it's a bonus is they give the O(1) solution.
It's surprising how many timewasters even a simple test like that can weed out.
- curryhowardiso 11y agoIf and when people ask me this (exact) question I like to tell them that although I can implement the O(1) solution, I just copied it off of a 14 year old.
- dropit_sphere 11y agoMake sure you ask for the O(1) solution, because if someone's production instincts are to write (fn [l h] (* (dec (- h l)) (/ (+ h l) 2))) whenever they need to sum between two numbers, then I'd argue they're a worse programmer than someone who just writes `(reduce + (range (inc l) h))`. Programmer time is expensive, and linear time is, for 99% of ranges most devs will encounter, just fine.
- talideon 11y agoThat is very much dependent on the circumstances. Besides, this is pre-interview weeding question, and if they give the O(1) answer, that gives use something to talk about in the interview.