"Step 1: Clarifying the Problem Scope
We will focus on designing the leaderboard for Dream11 with these assumptions:
Registered teams: 100,000 users are actively participating and ranked.
Real-time updates: Leaderboard updates frequently as players accumulate points based on live sports events.
Multiple leagues: Each user can participate in different leagues, so we will need to maintain a separate leaderboard for each league.
Query efficiency: Users frequently"
Ramendra S. - "Step 1: Clarifying the Problem Scope
We will focus on designing the leaderboard for Dream11 with these assumptions:
Registered teams: 100,000 users are actively participating and ranked.
Real-time updates: Leaderboard updates frequently as players accumulate points based on live sports events.
Multiple leagues: Each user can participate in different leagues, so we will need to maintain a separate leaderboard for each league.
Query efficiency: Users frequently"See full answer
"
To clarify on what we are trying to solve for and get the definition of a distributed scheduler straight . So A Distributed Scheduler refers to a system that can handle job scheduling and execution in a scalable and fault-tolerant manner by distributing the workload across multiple servers or nodes.
we will make some assumptions with the design , as follows:
we will assume 10,000 QPS for job submissions and should be able query for jobs status .
Job execution should have minimal latency"
Scott S. - "
To clarify on what we are trying to solve for and get the definition of a distributed scheduler straight . So A Distributed Scheduler refers to a system that can handle job scheduling and execution in a scalable and fault-tolerant manner by distributing the workload across multiple servers or nodes.
we will make some assumptions with the design , as follows:
we will assume 10,000 QPS for job submissions and should be able query for jobs status .
Job execution should have minimal latency"See full answer
"I tried solving this problem and here is the recorded video for the answer.
https://www.youtube.com/watch?v=d1tOkeQjyI4
And here is the link to Excalidraw board - https://excalidraw.com/#json=uabNFHcZm5qNh8CInMvyh,Wn9Vf1ZhGdl_iBCQYFkYdw"
Rjj - "I tried solving this problem and here is the recorded video for the answer.
https://www.youtube.com/watch?v=d1tOkeQjyI4
And here is the link to Excalidraw board - https://excalidraw.com/#json=uabNFHcZm5qNh8CInMvyh,Wn9Vf1ZhGdl_iBCQYFkYdw"See full answer
"Since there is a need for the data to be accurate and consistent without any latency to allocate a spot, can't the data be synchronously synced to replicas after every write as the number of writes are not many per min, instead of read lock phenomena
Let me know if i am on a wrong thought here."
Chitapuram N. - "Since there is a need for the data to be accurate and consistent without any latency to allocate a spot, can't the data be synchronously synced to replicas after every write as the number of writes are not many per min, instead of read lock phenomena
Let me know if i am on a wrong thought here."See full answer
Engineering Manager
System Design
+2 more
🧠Want an expert answer to a question? Saving questions lets us know what content to make next.
"Rate Limiter is to limit the number of request from a particular IP Address. Rate limiter will block the IP address to reduce the load on server. It should be highly available and handle concurrent requests. Blocked IP addresses should be kept in a pool which is present in shared cache. We need to keep threshold value after it reaches threshold value it should start blocking IP address.
All these ip address to be kept in No SQL DB. Batch will run that will clear the cache and delete all the bloc"
Ashish G. - "Rate Limiter is to limit the number of request from a particular IP Address. Rate limiter will block the IP address to reduce the load on server. It should be highly available and handle concurrent requests. Blocked IP addresses should be kept in a pool which is present in shared cache. We need to keep threshold value after it reaches threshold value it should start blocking IP address.
All these ip address to be kept in No SQL DB. Batch will run that will clear the cache and delete all the bloc"See full answer
"It would have been more interesting to focus on the system design rather than the Trie DS, Interviewee could have just mentioned the Trie and passed to things more important.
Interviewee should have focused on the factors on which he wants to scale the API servers, popularity of the query parts ? region may be ? A hash of many factors ?
Caches should have definitely be discussed, Cache eviction policies, Cache invalidation managements...
Interviewee should have mentioned which kind of API pro"
Aymen D. - "It would have been more interesting to focus on the system design rather than the Trie DS, Interviewee could have just mentioned the Trie and passed to things more important.
Interviewee should have focused on the factors on which he wants to scale the API servers, popularity of the query parts ? region may be ? A hash of many factors ?
Caches should have definitely be discussed, Cache eviction policies, Cache invalidation managements...
Interviewee should have mentioned which kind of API pro"See full answer
"I studied Exponent's TinyURL system design video. My interviewer was asking many detailed questions on API design, schema, as well as data required to store. I found system design questions are bit high level instead of depth. I think should have detail design of API, schema and some additional flavors."
Yag S. - "I studied Exponent's TinyURL system design video. My interviewer was asking many detailed questions on API design, schema, as well as data required to store. I found system design questions are bit high level instead of depth. I think should have detail design of API, schema and some additional flavors."See full answer
"Functional Requirement
Monitor health, metrics
Alert in case of failure/anomaly
Visualize the live health
Analyse machines on periodic basis
Non Functional
Should not exert load on machines
low latency
Highly scalable
Logs/Metrics Gathering
push - machine gather and send to system and low priority background thread along with batching
pull - heart beat check (for offline machines)
Processing
Real time streaming using Kafka/kinesis + Flink
TimeSeries database for stor"
Sourabh G. - "Functional Requirement
Monitor health, metrics
Alert in case of failure/anomaly
Visualize the live health
Analyse machines on periodic basis
Non Functional
Should not exert load on machines
low latency
Highly scalable
Logs/Metrics Gathering
push - machine gather and send to system and low priority background thread along with batching
pull - heart beat check (for offline machines)
Processing
Real time streaming using Kafka/kinesis + Flink
TimeSeries database for stor"See full answer