← Snowflake Interview Insights

Snowflake·Software Engineer·Onsite - System Design / Architecture·Senior

SeniorPrefer not to say
Apr 2026

Summary

Snowflake system design round, one question about building an ACL service. Pretty focused interview, no fluff, just got handed a fairly open-ended design problem and had to run with it.

Questions Asked (1)

Q1

Design a scalable ACL (Access Control List) service that handles authorization checks on behalf of another service. It should determine whether a given user or client is permitted to perform specific actions on specific resources.

System DesignTechnical Trade-offsData Modeling
Author's notes

I started with the data model since that felt like the core of it: who, what action, what resource.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and scope, then design a scalable, low-latency authorization service with a flexible data model (e.g., RBAC/ABAC) and caching. Discuss trade-offs between consistency, availability, and performance, and how to handle scale and security.

Pro tip: Emphasize the importance of caching and precomputation for low-latency checks, and discuss how to handle policy updates without downtime. Also, mention the need for audit logging and monitoring for security and compliance.

1. Clarify Requirements

Ask about scale (QPS, number of users/resources), latency requirements, consistency needs, and integration patterns (e.g., API, sidecar).

2. High-Level Design

Outline the service architecture: API layer, policy decision point, policy store, cache, and data model for users, resources, and permissions.

3. Data Modeling & Policy Engine

Choose a model (RBAC, ABAC, or hybrid) and design how policies are stored, evaluated, and updated. Discuss indexing for fast lookups.

4. Scalability & Performance

Explain how to scale horizontally, use caching (e.g., Redis), and optimize for low latency. Discuss sharding and replication.

5. Trade-offs & Operational Concerns

Discuss consistency vs. availability, cache invalidation, failure modes, security (e.g., encryption, audit logs), and monitoring.

Key Points to Mention

  • RBAC vs. ABAC and when to use each
  • Caching strategies (e.g., TTL, write-through) and cache invalidation
  • Data model: users, groups, roles, resources, actions, policies
  • Scalability: horizontal scaling, sharding, replication
  • Latency optimization: precomputation, indexing, in-memory stores
  • Security: audit logging, encryption, secure communication

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.