Design a Cross-Product Tagging System
Medium · Low-Level Design · about 45 minutes
Asked at Atlassian.
Design a tagging service shared by several products (for example an issue tracker, a wiki and a code host). Users add and remove tags on any item in any product, list an item's tags, find all items with a tag across products, and see the most popular tags. A tag renamed or deleted in one place is renamed or deleted everywhere.