This was very useful and insightful. Had a little trouble following some parts because of the way they were worded but it doesn't matter because this is by far the most detailed system description I listened to
This is going to sound like hate but seriously the candidate in this mock interview is really bad at communication. It’s so hard to follow the logic of having 2 data stores for jobs until the interviewer clarified it. Same for ranking + personalization. Kind of mind blowing that this candidate is both senior and has conducted over 1K interviews because it has no correlation with their communication skills. Chill out and slow down with your talking speed. On a side note, GDPR compliance doesn’t only apply to data that’s physically located in certain regions like the EU. GDPR applies to all data coming from users in the EU. GDPR is mainly about inferring traits about the user like race, religions etc. and not really about where that data is physically located.
Hey great channel, can you guys please do a design in payment industry? I would love to see design for some payment gateway, PayPal, Venmo or Zelle etc
Thank you for the video! I'm new to system design and have a basic question. What if we keep the cache on the client side that holds around 100 jobs, and update it based on the user's location? Since the job data is relatively small in size, can't it be stored on the client? The user's location changes could be captured using WebSockets. Would this design have any drawbacks?
Mark, for small/medium companies, do you start designing a system based on the available stack (e.g., Elastic, AWS, Azure, etc.), or is the design always treated as an abstraction layer?
Technologies could change over the time, design is more stable. The same way as algorithm is not about the programming language, design is about concepts and approaches, not about tools. Tools are just tools, it’s good when you know what is available right now, but tools should help you implement the design. That’s why design should use some patterns and abstract concepts, and then the proper tools should be found to implement the concepts efficiently.
The numbers she described about TPS are quite typical - when you have 100million users and you perform a query per day for all those users it’s roughly 1000TPS. And she had half so it’s roughly 500TPS. I think that’s the general number to keep in mind - 1000TPS is quite typical - now you can personalize like if each user now requests twice a day - it will be 2000TPS. If it is 1 billion users, it will be 10,000TPS, so on an so forth. It’s good to have a rough baseline for quick calculations. Hope that helps!
Honestly it’s abundantly clear that talking about the API endpoint was pointless. It was so superficial, just mentioning a name for 1 endpoint and basic info like status codes and params. This part could’ve been skipped entirely
Thank you for the video! I'm new to system design and have a basic question. What if we keep the cache on the client side that holds around 100 jobs, and update it based on the user's location? Since the job data is relatively small in size, can't it be stored on the client? The user's location changes could be captured using WebSockets. Would this design have any drawbacks?
Get system design interview coaching and get the offer: igotanoffer.com/en/interview-coaching/type/system-design-interview
This is really helpful! Thanks so much for making this, Mark and Shivali.
This was very useful and insightful. Had a little trouble following some parts because of the way they were worded but it doesn't matter because this is by far the most detailed system description I listened to
That's really useful. Thank you!
As always thank you for these videos!!
The description is wrong. It says "Design TH-cam"
This is going to sound like hate but seriously the candidate in this mock interview is really bad at communication. It’s so hard to follow the logic of having 2 data stores for jobs until the interviewer clarified it. Same for ranking + personalization. Kind of mind blowing that this candidate is both senior and has conducted over 1K interviews because it has no correlation with their communication skills. Chill out and slow down with your talking speed.
On a side note, GDPR compliance doesn’t only apply to data that’s physically located in certain regions like the EU. GDPR applies to all data coming from users in the EU. GDPR is mainly about inferring traits about the user like race, religions etc. and not really about where that data is physically located.
Hey great channel, can you guys please do a design in payment industry? I would love to see design for some payment gateway, PayPal, Venmo or Zelle etc
Thank you for the video! I'm new to system design and have a basic question. What if we keep the cache on the client side that holds around 100 jobs, and update it based on the user's location? Since the job data is relatively small in size, can't it be stored on the client? The user's location changes could be captured using WebSockets. Would this design have any drawbacks?
Mark, for small/medium companies, do you start designing a system based on the available stack (e.g., Elastic, AWS, Azure, etc.), or is the design always treated as an abstraction layer?
Technologies could change over the time, design is more stable. The same way as algorithm is not about the programming language, design is about concepts and approaches, not about tools. Tools are just tools, it’s good when you know what is available right now, but tools should help you implement the design. That’s why design should use some patterns and abstract concepts, and then the proper tools should be found to implement the concepts efficiently.
Can anyone explain the scale numbers how she got the search JOB numbers ?
The numbers she described about TPS are quite typical - when you have 100million users and you perform a query per day for all those users it’s roughly 1000TPS. And she had half so it’s roughly 500TPS. I think that’s the general number to keep in mind - 1000TPS is quite typical - now you can personalize like if each user now requests twice a day - it will be 2000TPS. If it is 1 billion users, it will be 10,000TPS, so on an so forth. It’s good to have a rough baseline for quick calculations. Hope that helps!
For the API design, why only they mention only one endpoint? What about the endpoint for the employers that post the application, etc?
i think because the discussion is focus on search job / recommendation
Honestly it’s abundantly clear that talking about the API endpoint was pointless. It was so superficial, just mentioning a name for 1 endpoint and basic info like status codes and params. This part could’ve been skipped entirely
Between the communication-challenged candidate and the 'let me throw a curveball in here' interviewer, this is almost incomprehensible. Not good.
Fake accent😂😂😂
Thank you for the video! I'm new to system design and have a basic question.
What if we keep the cache on the client side that holds around 100 jobs, and update it based on the user's location? Since the job data is relatively small in size, can't it be stored on the client? The user's location changes could be captured using WebSockets.
Would this design have any drawbacks?