Build a hash map, make it thread-safe, and review a producer-consumer queue
Implement a hash map from scratch: hashing, buckets, collisions, resizing and the edge cases (null keys, rehashing while iterating). Then make it safe for many threads and discuss lock striping versus one lock. A related exercise in the same loop asks you to review and debug producer-consumer message queue code.
No answer yet. Write the first one; the best answer gets endorsed.
