Thread-safe document and tag classes
Design classes that record documents and the tags on them: add and remove tags, list a document's tags, and find documents by tag. Follow-up: many threads use it at once; make it thread safe without one global lock if you can.
No answer yet. Write the first one; the best answer gets endorsed.
