PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Atlassian

Design a tagging system and REST APIs

Last updated: Mar 29, 2026

Quick Overview

This question evaluates a candidate's ability in RESTful API design, data modeling, concurrency control, idempotency, pagination, and indexing/search strategies for a multi-tenant tagging system. It is commonly asked in the system design category to assess architectural decision-making and both conceptual understanding and practical application of endpoints, schema, and edge-case handling.

  • medium
  • Atlassian
  • System Design
  • Software Engineer

Design a tagging system and REST APIs

Company: Atlassian

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Onsite

Design a tagging system (similar to tagging pages/issues) with a strong focus on REST API design. Functional requirements: - Create a tag. - Rename a tag. - Delete a tag. - Attach/detach one or more tags to/from an entity (e.g., `page`, `issue`, etc.). - List tags for an entity. - Search entities by one or more tags (AND/OR semantics). Non-functional requirements: - Tags should be unique by name within a tenant/workspace. - Handle concurrency and idempotency for attach/detach. - Pagination for list/search endpoints. Deliverables: - Propose REST endpoints (request/response examples). - Data model / DB schema. - Indexing and query approach for tag search. - Edge cases (deleting a tag that is attached, renaming collisions, bulk operations).

Quick Answer: This question evaluates a candidate's ability in RESTful API design, data modeling, concurrency control, idempotency, pagination, and indexing/search strategies for a multi-tenant tagging system. It is commonly asked in the system design category to assess architectural decision-making and both conceptual understanding and practical application of endpoints, schema, and edge-case handling.

Related Interview Questions

  • Design a distributed rate limiter service - Atlassian (medium)
  • Design a simple greeting-card web app - Atlassian (medium)
  • Design a Data Stream Processor - Atlassian (easy)
  • Design a scalable chatbot platform - Atlassian (medium)
  • Diagnose why a scaled system became slow - Atlassian (medium)
Atlassian logo
Atlassian
Jan 5, 2026, 12:00 AM
Software Engineer
Onsite
System Design
6
0

Design a tagging system (similar to tagging pages/issues) with a strong focus on REST API design.

Functional requirements:

  • Create a tag.
  • Rename a tag.
  • Delete a tag.
  • Attach/detach one or more tags to/from an entity (e.g., page , issue , etc.).
  • List tags for an entity.
  • Search entities by one or more tags (AND/OR semantics).

Non-functional requirements:

  • Tags should be unique by name within a tenant/workspace.
  • Handle concurrency and idempotency for attach/detach.
  • Pagination for list/search endpoints.

Deliverables:

  • Propose REST endpoints (request/response examples).
  • Data model / DB schema.
  • Indexing and query approach for tag search.
  • Edge cases (deleting a tag that is attached, renaming collisions, bulk operations).

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Atlassian•More Software Engineer•Atlassian Software Engineer•Atlassian System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,000+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.