Coinbase logo

Coinbase DevOps Engineer System Design Questions

51 practice questions for Coinbase DevOps Engineer interviews

Coinbase 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 Coinbase.

system design Senior api design #1

1. [OA] Service Health Monitor — Design a system to monitor and report service health at Coinbase

With numerous microservices, it’s crucial for Coinbase to have a robust service health monitoring system to ensure uptime and reliability.
Problem Statement: Design a ServiceHealthMonitor class that can check the health of services and report their status. This monitor should allow dynamic addition of services and periodic health checks.
Method Signatures:
- def add_service(name: str, check_func: Callable[[], bool]) -> None: - Adds a service to be monitored along with its health check function.
- def check_health() -> Dict[str, bool]: - Checks the health of all services and returns a dictionary mapping service names to health status.
- def report_status() -> None: - Reports the health status of the services, ideally logging or sending alerts for any down services.
Example 1:
Input: add_service('auth_service', lambda: True)
Output: None
Explanation: Adds the auth_service with a successful health check.
Example 2:
Input: check_health()
Output: {'auth_service': True}
Explanation: Returns the health status of the services.
Constraints:
- 1 <= name.length <= 50
- The number of services monitored will not exceed 100.
system design Senior caching #2

2. [OA] LRU Cache — Design an efficient caching layer for API responses at Coinbase

To improve performance and reduce latency, Coinbase needs a sophisticated caching mechanism for frequently accessed API responses.
Problem Statement: Design and implement an LRUCache class that supports the following operations: get and put. The operations should be efficient enough to meet the demands of high-frequency API access.
Method Signatures:
- def get(key: int) -> int: - Returns the value of the key if the key exists, otherwise returns -1.
- def put(key: int, value: int) -> None: - Updates the value of the key if the key exists and if it doesn't, adds the key-value pair to the cache. When the cache reaches its capacity, it should invalidate the least recently used item before inserting a new item.
Example 1:
Input: put(1, 1)
Output: None
Explanation: Cache updated with key 1 and value 1.
Example 2:
Input: get(1)
Output: 1
Explanation: Returns the cached value 1 for key 1.
Constraints:
- capacity must be a positive integer.
- The number of calls to get and put will not exceed 10000.
- 1 <= key, value <= 1000.

Related Coinbase DevOps Engineer interview prep

Start practicing Coinbase questions

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

Get Started Free