Airbnb logo

Airbnb DevOps Engineer System Design Questions

47 practice questions for Airbnb DevOps Engineer interviews

Airbnb DevOps engineer interviews cover CI/CD pipelines, infrastructure as code, container orchestration, monitoring, and incident response procedures.

All Roles Software Engineer Backend Engineer Frontend Engineer Full Stack Engineer Mobile Engineer Data Engineer Data Scientist ML Engineer DevOps Engineer DevOps Engineer Product Manager SRE Security Engineer Engineering Manager Data Analyst UX/UI Designer QA Engineer

No verified questions yet for Airbnb.

system design Senior caching #1

1. [OA] Caching — Design an LRU Cache for Airbnb's frequent API responses

To enhance the performance of serving frequently accessed API responses on Airbnb's platform, an LRU (Least Recently Used) cache can help store the most relevant data while evicting the least needed data efficiently.
Problem statement: Implement an LRUCache class that provides an API for setting and getting values while maintaining the least recently used order.
- def __init__(self, capacity: int) -> None: Initializes the cache with a given capacity.
- def get(self, key: int) -> int: Retrieves the value associated with key, returning -1 if it does not exist.
- def put(self, key: int, value: int) -> None: Updates or inserts the value for key and makes it the most recently used item.
Example 1:
Input: capacity = 2, commands = [(put, 1, 1), (put, 2, 2), (get, 1), (put, 3, 3), (get, 2), (put, 4, 4), (get, 1), (get, 3), (get, 4)]
Output: [None, None, 1, None, -1, None, -1, 3, 4]
Explanation: Accessing keys makes them recent. Therefore, the evicted key was 2 after adding 3.
Constraints:
- The cache capacity will be between 1 and 1000.
- The all keys will be positive integers.
system design Senior distributed systems #2

2. [OA] Tree Traversal — Implement a service health monitor for Airbnb's service infrastructure

Monitoring service health is essential for Airbnb to ensure that we maintain a reliable platform for our users. An effective health monitor can proactively identify issues before they impact user experience.
Problem statement: Design a class HealthMonitor that maintains a binary tree structure of services, allowing traversal and health-checking of each service node based on different conditions.
- def __init__(self, service_id: str) -> None: Initializes a service with the given ID.
- def add_service(self, service_id: str, parent_id: str) -> None: Adds a child service under a specified parent service.
- def check_health(self) -> List[str]: Returns a list of service IDs that are unhealthy based on some predefined health criteria.
Example 1:
Input: Service Structure: A -> B -> C (A as root)
Output: ['B', 'C']
Explanation: Assuming B and C report unhealthy status during the health check process.
Constraints:
- Each node can have multiple children, but no more than 10.
- All service IDs are unique strings.

Related Airbnb DevOps Engineer interview prep

Start practicing Airbnb questions

Sign up for free to access walkthroughs, AI-generated questions, and more.

Get Started Free