Комментарии:
A lot of errors and a lot of important system components design.
It's must like simple request workflow
1M active users a day generate 1B matches a day? That is 2000 matches a day per person
Ответитьwhich tool / website people are using in this video to display the diagrams and text. Its very neat and clean and looking for something like this
ОтветитьCan someone tell me what is the software she is using to write text and draw the design of the flow diagram.
ОтветитьHelpful!
ОтветитьWhich is this tool that draw design diagram? Can you send me the link? My next system design interview I have to draw whiteboard..I am looking best website that available?
ОтветитьWell done but a little humorous to me a tik-tok employee didnt touch upon security.
ОтветитьI am hooked. I love the videos on this channel.
ОтветитьWhy she is explaining ERD using JSON? is it not effective, isn't it?
ОтветитьI think the calculations were way off.
She did 200kb per picture (which in reality is 3-6mb per pic. and exponent sys design course it mentions to round up or down so rounded up is 10mb)
She also gave herself a hard number of 6, i think calculation wise it would been smart to say 5 or 10.
At 10mb per picture and a user can upload 5 -> 5 * 10mb = 50mb per person
50mb * 50,000,000users = 250,000,00 Gb -> 2.5 Terra Bytes worth of data just for the pictures
As for text, an average line of text takes up about 70 bytes (rounded up is 100 bytes per person). 0.10 of a Kb.
So for 10 people your looking at about 1kb. Fairly small but for the 50million = 1Kb -> 50,000,000 = ~50million Mb -> ~50Gb worth of data for profiles.
So 50Gb x 2.5Tb is around 2.55Terra bytes. Takes a LTO of mental math but her estimate of 300-600Tb was just her throwing a number out there.
Is there an error in the calculations of the profile photos storage? It should be around 60TB, not 300-600TB. 200kb * 6 * 50M = 60TB, isn’t it ?
ОтветитьWhich software is this, I am shopping for something to do those diagrams with
ОтветитьIt was a great session thanks for that, can we also add/cover the remaining part, specially the matching of profiles.
Thanks in advance
I really like how she is driving the interview! However, the design seems to be very high-level and monolithic, not necessarily a system you can deploy at scale. I think the functional requirements need to be narrowed even further, because recommendation is a system design question on its own. We touched geosharding, but that discussion seemed out of place for something that was supposed to be high level.
I think back of the envelope estimations were a bit out of place, there was really no reason given for why those calculations were done. We calculated the amount of metadata storage we might need, but not much discussion other than that. No mention of whether this is a read heavy vs. write heavy system and what implications that has on the rest of the design. Do we need to be consistent or highly available? This is a very read-heavy service where people are swiping left and right like crazy, refreshing feeds all the time. You're going to need to be highly available, so someone that is new on the app might not have their profile readily seen until replicas pick them up.
I'm thinking for the feed generation / finding other users in your area, you'd have some sort of document store that you can scale as you go (like Mongo), with support for queries / searching based on strings. We'd have location in the user's metadata, so you'd probably let Google S2 handle the geometry and get all the users in a particular user's location. Honestly you might even consider a Graph DB since you're essentially building a recommended network of users based on a bunch of preferences and biographical information.
There seemed to be no goal in getting a complete, scalable system on the whiteboard, and the interviewer also didn't really do much to steer the candidate in the right direction unfortunately.
Does anyone know which web app is being used for her to whiteboard on?
ОтветитьThx. Anyone know which tool she is using for the diagram?
ОтветитьHow to get 1 billion matches per day while the active user per day is 1 million?
ОтветитьThanks for sharing❤
ОтветитьThe best in Exponent channel.
ОтветитьWonderful session!
I am wondering how recommending service is handling already recommended users.
Are we going to store the action taken by user on each recommended profile? This can make database bulky.
If we are to store action taken by user on each recommended profile, then what would be the query strategy, how data should be partitioned?
Looking for someone to suggest here! Thankyou
She good. Hired!
Ответитьthat was impressive
Ответитьthis is gold. thanks for sharing!
Ответить