Bar Raiser Round @Nike for SDE 3
Summary
I completed a Bar Raiser round for an SDE 3 position at Nike, which included a sliding‑window rate limiter DSA problem and several system‑design questions.
Full Experience
DSA Question
Sliding Window Rate Limiter
Problem Statement Design a rate limiter for an API service. Implement a class that allows a client (identified by a unique clientId) to make at most N requests within a rolling time window of T seconds.
Implement the following methods: allowRequest(clientId, timestamp) → Returns true if the request is allowed; otherwise returns false. Requirements Support multiple clients independently. The solution should efficiently process a large number of requests. Time complexity for processing each request should be optimized. Consider how inactive clients can be removed from memory over time.
System Design
- Do database deign for scalable backend applications?
- Difference btw SQL and NoSQL
- How do you convert Monolith system to Microservice system? What are the challenges you will face?
- Race Conditions
- How to maintain Concurrency/Consistency in scalable system?
- How to handle 1M requests in scalable systems?
- How do you design a scalable backend application?
Interview Questions (1)
Sliding Window Rate Limiter
Design a rate limiter for an API service. Implement a class that allows a client (identified by a unique clientId) to make at most N requests within a rolling time window of T seconds.
Implement the following method:
allowRequest(clientId, timestamp)→ Returnstrueif the request is allowed; otherwise returnsfalse.
Requirements
- Support multiple clients independently.
- The solution should efficiently process a large number of requests.
- Time complexity for processing each request should be optimized.
- Consider how inactive clients can be removed from memory over time.