I had an programmer that didn't know that. I went to the whiteboard, explained it, and now she is perfectly competent at it (and the rest of her job). What's the problem?
Where do we get the idea that if someone doesn't know some arbitrary fact that they are incapable of learning it? Hire people that are smart, have good work ethics, and play nicely with others, and everything else will take care of itself.
Having built technical teams numbering in the dozens this is literally the ONLY strategy that delivers long term success in my experience. Unfortunately experience is discounted nowadays...
O(1) is a leaky abstraction [1]. It's O(1) amortized assuming you have enough buckets and a good hashing algorithm that minimizes collisions. I think that distinction important to keep in your head, and good to mention/look for in interviews, since those details matter when things go awry.
[1] http://www.joelonsoftware.com/articles/LeakyAbstractions.htm...