Design Tinder - System Design Interview (with TikTok Senior Engineer)

Design Tinder - System Design Interview (with TikTok Senior Engineer)

Exponent

9 месяцев назад

95,091 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

@eduardoromao
@eduardoromao - 20.01.2024 18:51

A lot of errors and a lot of important system components design.

It's must like simple request workflow

Ответить
@kakhapilauri7251
@kakhapilauri7251 - 03.01.2024 17:42

1M active users a day generate 1B matches a day? That is 2000 matches a day per person

Ответить
@SeriM-qc1qr
@SeriM-qc1qr - 17.12.2023 10:12

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

Ответить
@SatyaPrakash-il2ed
@SatyaPrakash-il2ed - 06.12.2023 05:07

Can someone tell me what is the software she is using to write text and draw the design of the flow diagram.

Ответить
@austinhoag5130
@austinhoag5130 - 15.11.2023 19:55

Helpful!

Ответить
@SwikarP
@SwikarP - 13.11.2023 20:39

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?

Ответить
@greglambert6199
@greglambert6199 - 09.11.2023 19:41

Well done but a little humorous to me a tik-tok employee didnt touch upon security.

Ответить
@vernielariosa8996
@vernielariosa8996 - 03.11.2023 15:06

I am hooked. I love the videos on this channel.

Ответить
@onlypersona
@onlypersona - 20.10.2023 08:38

Why she is explaining ERD using JSON? is it not effective, isn't it?

Ответить
@user-to8cz9eq1e
@user-to8cz9eq1e - 17.10.2023 23:56

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.

Ответить
@user-yn1ul2gh9u
@user-yn1ul2gh9u - 17.10.2023 10:46

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 ?

Ответить
@ComfortChauke
@ComfortChauke - 16.10.2023 14:22

Which software is this, I am shopping for something to do those diagrams with

Ответить
@startup_engineer
@startup_engineer - 10.10.2023 18:00

It was a great session thanks for that, can we also add/cover the remaining part, specially the matching of profiles.
Thanks in advance

Ответить
@herooo.2928
@herooo.2928 - 04.10.2023 07:41

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.

Ответить
@mikeymop
@mikeymop - 04.10.2023 05:20

Does anyone know which web app is being used for her to whiteboard on?

Ответить
@peterhorton9063
@peterhorton9063 - 04.10.2023 01:34

Thx. Anyone know which tool she is using for the diagram?

Ответить
@SkyLee91
@SkyLee91 - 03.10.2023 18:30

How to get 1 billion matches per day while the active user per day is 1 million?

Ответить
@sauravjha2933
@sauravjha2933 - 03.10.2023 10:50

Thanks for sharing❤

Ответить
@speeddykuang-ty9cq
@speeddykuang-ty9cq - 03.10.2023 07:42

The best in Exponent channel.

Ответить
@ayush_singh6203
@ayush_singh6203 - 03.10.2023 06:54

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

Ответить
@hungchau
@hungchau - 02.10.2023 22:07

She good. Hired!

Ответить
@SKDev11
@SKDev11 - 02.10.2023 20:45

that was impressive

Ответить
@yoniziv
@yoniziv - 02.10.2023 20:23

this is gold. thanks for sharing!

Ответить