Hacker News new | ask | show | jobs
by zhala 1289 days ago
We've found that asking them to write a function to average a list of integers. That's filtered out a surprising number of "senior level" applicants.
2 comments

with(arr)eval(`averaaaaaage=(${join`+`})/length`);
mean = liftA2 (/) sum length
I mean that could satisfy the interviewer, but for me if I asked that question, I'd want an answer that protected against overflow and unfortunately the naive solution is prone to overflow.
That could turn in to a very complex question in that case because dividing too many separate sums before adding would introduce rounding error.
Does that not have to be

    mean = liftA2 (/) sum (fromIntegral . length)

?