"Came up with following strategy:
take logs from user and send to LogService via API GW
LogService takes the responsibility of generating time based SequenceId and persist the log in NoSQL (DDB) with key as SequenceId as primary key and timein_millis as sort (secondary) key. There are many system design tutorials on generating sequential sequence id where prefix is current time in epoch (milliseconds)
Since there would be many LogService servers, spread across different availability zo"
Shahnawaz A. - "Came up with following strategy:
take logs from user and send to LogService via API GW
LogService takes the responsibility of generating time based SequenceId and persist the log in NoSQL (DDB) with key as SequenceId as primary key and timein_millis as sort (secondary) key. There are many system design tutorials on generating sequential sequence id where prefix is current time in epoch (milliseconds)
Since there would be many LogService servers, spread across different availability zo"See full answer
"The below system design addresses the requirements for a scalable distributed onboarding service, focusing on robust data validation, asynchronous processing, real-time aggregation, and efficient querying of metadata.
Core Principles:
Asynchronous Processing: Decouple components to ensure high throughput and responsiveness.
Scalability & Elasticity: Utilize technologies that can scale horizontally to handle varying loads.
Data Durability & Integrity: Ensure no data l"
Anonymous Mongoose - "The below system design addresses the requirements for a scalable distributed onboarding service, focusing on robust data validation, asynchronous processing, real-time aggregation, and efficient querying of metadata.
Core Principles:
Asynchronous Processing: Decouple components to ensure high throughput and responsiveness.
Scalability & Elasticity: Utilize technologies that can scale horizontally to handle varying loads.
Data Durability & Integrity: Ensure no data l"See full answer
"1. Requirements Analysis
Functional Requirements
Video streaming with multiple quality levels
Content browsing and search
Continue watching functionality
Content recommendations
Non-Functional Requirements
Low latency video delivery (<2s startup time)
High availability (99.99% uptime)
Scalability to handle millions of concurrent streams
API response time < 100ms
2. Microservices Architecture
Core Microservices
Content Service
Content metadata mana"
Vince S. - "1. Requirements Analysis
Functional Requirements
Video streaming with multiple quality levels
Content browsing and search
Continue watching functionality
Content recommendations
Non-Functional Requirements
Low latency video delivery (<2s startup time)
High availability (99.99% uptime)
Scalability to handle millions of concurrent streams
API response time < 100ms
2. Microservices Architecture
Core Microservices
Content Service
Content metadata mana"See full answer
"Designing a system to deny services to requests from banned IPs involves integrating real-time IP checking with your service architecture. Here’s a detailed outline of how you can design such a system:
System Design Overview
The goal is to ensure that your service can efficiently check incoming requests against a list of banned IPs and deny access when necessary. The system will leverage an external API, security.gov.x, to determine if an IP address is blocked or allowed.
**Key Compone"
Palak A. - "Designing a system to deny services to requests from banned IPs involves integrating real-time IP checking with your service architecture. Here’s a detailed outline of how you can design such a system:
System Design Overview
The goal is to ensure that your service can efficiently check incoming requests against a list of banned IPs and deny access when necessary. The system will leverage an external API, security.gov.x, to determine if an IP address is blocked or allowed.
**Key Compone"See full answer
Software Engineer
System Design
+2 more
🧠Want an expert answer to a question? Saving questions lets us know what content to make next.
"Approach
Clarify the question
Define deaf --> unable to hear, but can communicate via sign language, lip read and use all other senses
Define fire alarm --> for residential use, it notifies occupants of smoke and potential fires and alerts fire department to check in and/or come over
Define constraints --> budgetary constraint, design should be user-friendly and convenient
Define goals --> get folks out of harm's way quickly and notify fire department to c"
Bella R. - "Approach
Clarify the question
Define deaf --> unable to hear, but can communicate via sign language, lip read and use all other senses
Define fire alarm --> for residential use, it notifies occupants of smoke and potential fires and alerts fire department to check in and/or come over
Define constraints --> budgetary constraint, design should be user-friendly and convenient
Define goals --> get folks out of harm's way quickly and notify fire department to c"See full answer
"The interviewer was interested how the system design would be for files, directories, symbolic links.
After proposing my idea, I was asked to print all files for a given path."
B. T. - "The interviewer was interested how the system design would be for files, directories, symbolic links.
After proposing my idea, I was asked to print all files for a given path."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
"Functional Requirement
Ingest Book Reviews in real time
User in the website needs specify title tho search books, return response is the list of reviews on the books.
Non Functional Requirement:
User get real-time book reviews>
It nees to handle the search among 1 million of active users daily"
Simon O. - "Functional Requirement
Ingest Book Reviews in real time
User in the website needs specify title tho search books, return response is the list of reviews on the books.
Non Functional Requirement:
User get real-time book reviews>
It nees to handle the search among 1 million of active users daily"See full answer
"
At low level:
I would use two stacks: one for forward history and other for backward history.
i go to tryexponent.com => this url will be stored in backward history stack.
i go to google => again this url will be stored in backward history stack.
i press back => data from backward history will be popped and put in to forward history stack.
I press forward => data from forward history stack will be popped and put in to backward history tab.
Also, whenever i go to any url,"
Anubhav S. - "
At low level:
I would use two stacks: one for forward history and other for backward history.
i go to tryexponent.com => this url will be stored in backward history stack.
i go to google => again this url will be stored in backward history stack.
i press back => data from backward history will be popped and put in to forward history stack.
I press forward => data from forward history stack will be popped and put in to backward history tab.
Also, whenever i go to any url,"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
"The addition of an intermediate "sanitization" ML is something Neeraj used in the Uber Eats design and again seems kind of outside the scope here and redundant. This can simply be built into the AI response model to save a step. It's not clear what benefit this step provides, and he basically said we should have it "just because it would be good" and there's no concrete reasoning why to include it.
Adding a Kafka queue to handle the thumbs-down ratings? For what purpose do you need a queue othe"
Robert H. - "The addition of an intermediate "sanitization" ML is something Neeraj used in the Uber Eats design and again seems kind of outside the scope here and redundant. This can simply be built into the AI response model to save a step. It's not clear what benefit this step provides, and he basically said we should have it "just because it would be good" and there's no concrete reasoning why to include it.
Adding a Kafka queue to handle the thumbs-down ratings? For what purpose do you need a queue othe"See full answer
"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
"I started asking some questions regarding the constrains of the system:
An antena is emitting a signal that says if the tagged device was out of the room where the interview was happening.
I was able to decide which would be the schema for the Antena's message.
The antena is sending the info of multiple users.
The system doesn't need to push notification to the users when the user left the device behind.
Upon reflection, this is what I recollected doing.
I propuse the json schema a"
Eduardo C. - "I started asking some questions regarding the constrains of the system:
An antena is emitting a signal that says if the tagged device was out of the room where the interview was happening.
I was able to decide which would be the schema for the Antena's message.
The antena is sending the info of multiple users.
The system doesn't need to push notification to the users when the user left the device behind.
Upon reflection, this is what I recollected doing.
I propuse the json schema a"See full answer