Design Permission-Aware Retrieval for Design Files

Last updated: July 21, 2026

Quick Overview

Design a system that allows for permission-aware retrieval of design files, ensuring that users can only access files they are authorized to view.

Figma
System Design
Software Engineer
Figma
July 21, 2026
Software Engineer
Onsite
System Design
Medium

8

0

149 solved


Design a system that allows for permission-aware retrieval of design files, ensuring that users can only access files they are authorized to view.

This question is typically asked during the onsite interview round for software engineering candidates at Figma. The interviewer is looking to evaluate the candidate's ability to think critically about system design, particularly in the context of user permissions and data security. The candidate's response should demonstrate their understanding of both the technical and user experience aspects of file retrieval systems.

What the Interviewer Expects
  • Clearly define the requirements for the permission-aware retrieval system.
  • Outline a high-level design that incorporates user roles and permissions.
  • Discuss potential challenges and trade-offs in the design.
  • Provide a deep dive into specific components, such as the database schema or API endpoints.
  • Consider scalability and performance implications.
Key Topics to Cover
System Design
User Permissions
Data Security
Scalability
API Design
How to Approach This
  1. Start by clarifying functional and non-functional requirements with the interviewer.
  2. Estimate the scale: QPS, storage, bandwidth. This drives your design decisions.
  3. Draw a high-level architecture first, then deep dive into 1-2 critical components.
  4. Discuss trade-offs explicitly (e.g., consistency vs availability, SQL vs NoSQL).
  5. Address failure scenarios, monitoring, and how the system handles 10x traffic spikes.
Possible Follow-up Questions
  • How would you handle permission changes in real-time?
  • What database choices would you consider for storing permissions?
  • Can you discuss how you would ensure the system scales with a growing user base?
Sharpen Your Skills on Codemia

Practice similar problems with our interactive workspace, get AI feedback, and track your progress.

Practice System Design Problems
Sample Answer
Requirements

To design a permission-aware retrieval system, we first need to establish the requirements. The system must:

  1. Authenticate users to verify their identity.
  2. Authorize users based on their roles (e....
High-Level Design

The high-level design of the system can be broken down into several components:

  • User Management Service: Handles user authentication and role assignment.
  • File Storage Service: Stores desig...

Submit Your Answer
Markdown supported

Related Questions