Don't leave your system design interview to chance. Sign up for Exponent's system design interview course today: bit.ly/3qMqMyX
@harisbeg7026
3 жыл бұрын
What tool was he using to draw?
@tryexponent
3 жыл бұрын
@@harisbeg7026 It's called Whimsical! We use it across all our system design interviews
@totsubo2000
2 жыл бұрын
I do not recommend Exponent. I signed up and paid for Exponent's system design course - it is not worth it. It's very generic and the material very shallow. This video is proof :)
@ashishcheema
2 жыл бұрын
Few things talked are not clear: - Blob is shared. ... thats little surprising.. - adaptive streaming and non-adaptive streaming.. bandwidth estimation and request for corresponding chunk is done by client not server.. - does shard by video makes good utilization of resources instead of user id?
@shyama5612
3 жыл бұрын
First make sure to add the feature to remind users to subscribe to premium version, endlessly without opt out. Just kidding. Great details, very useful. Thanks.
@tryexponent
3 жыл бұрын
Sign up here 😉 bit.ly/2Nl5Bn5
@antonantochi8498
2 жыл бұрын
This design based on thought that all videos are single blob, but actual KZitem preloads videos partially and each of their resolutions can vary independently.
@vavenugo
2 жыл бұрын
He talks about sharding the video metadata DB and then says "Corresponding the same thing could happen to the blob storage as well". So let me get this straight, we use S3 for blob storage and then we shard it? What a load of BS!
@shivaprasad.v.g7526
4 ай бұрын
Very high level . use less for any senior engineer interview s .
@zeenathkatta7480
2 жыл бұрын
Good info.Impressed with the content delivered.
@ankitsrivastav6363
3 жыл бұрын
Good fun, close to Kapil sharma show.
@rajeevrp1500
2 жыл бұрын
Which tool is he using for writing those design diagrams ? Good info by the way, thank you Exponent.
@89DerChristian
2 жыл бұрын
i believe it’s whimsical
@nikhilmakkad7880
Жыл бұрын
Yes
@ManishKumar-mo6gx
3 жыл бұрын
Lost interest the moment he started comparing web socket with REST for uploading data.
@kumarmanish9046
2 жыл бұрын
Why? It is a valid criteria to compare. They are different simplex vs duplex, so a valid comparison to choose one vs another, right? What am I missing ?
@joo02
2 жыл бұрын
@@kumarmanish9046 Manish Kumar vs Kumar Manish
@learnersparadise7492
2 жыл бұрын
you are right, this guy doesn't know websocket vs REST difference, when to use what.
@redditia3202
2 жыл бұрын
@@joo02 You won it, bro🤣
@seriousbees
2 жыл бұрын
@@joo02 a showdown for the ages
@rostislav_engineer
Ай бұрын
Thanks Hozefa!
@AbhishekBalani93
3 жыл бұрын
Is there ever a wrong answer in system design interview?
@japanboy31415
2 жыл бұрын
I think as long as u justify ur good to go
@miale3593
2 жыл бұрын
How to avoid hot partition when sharping by user Id?
@krisdestruction
5 ай бұрын
You shouldn’t shard by user id to avoid hotshards . But if you have to, replication and random reads will help mitigate
@prashantsalgaocar
3 ай бұрын
For streaming of videos (uploaded) which we know would become popular. We default cache them in the CDN. We know that these are popular videos so we cache them and access the videos via CDN's from various regions based on geography, type of event. We would have a list of popular events like SuperBowl, TaylorSwift, Soccer matches which are popular based on region (country) and those we cache directly once the video is uploaded. Live events streaming is out of scope for this design. Do let me know if this is a good approach and what would be some changes if we went for live streaming events.
@tryexponent
2 ай бұрын
I like your approach of region and event-based caching. It should give improved performance! 💪 For live streaming, we could potentially be looking at implementing real-time transcoding, using low-latency protocols, adding origin shields, developing dynamic scaling capabilities and some security measures.
@armenarz4062
2 жыл бұрын
eventual consistency? for what? video? user profile?
@srijankumarsamanta5579
2 жыл бұрын
Video since its on blob storage, user data is ACID compliant
@anupamcs
12 күн бұрын
i dont why the hell people trying to focus on fake american accent rather then normal and clear speaking
@rajsekhar28
2 жыл бұрын
You don't need websocket for uploading video
@kumarmanish9046
2 жыл бұрын
for large videos would http rest work ?
@rajsekhar28
2 жыл бұрын
@@kumarmanish9046 yes it depends on what the server can support but technically you can upload at least 1GB or you can break the video in small files and then upload. You can leverage blob store like S3 here
@executer77
Жыл бұрын
@@rajsekhar28 Here web-sockets are not just used to upload vedio , he must be trying to say that he would be keeping connection alive while uploading videos i guess..
@learnersparadise7492
2 жыл бұрын
one suggestion, please do system design with experienced Architect, not engineering managers who hardly have 10 years experience and wouldn't master technology as such, people management is easy but grinding for technology is hard. please do this much favour for us and avoid such shallow contents
@fusionsanghi7046
2 жыл бұрын
Got lost towards the end of the discussion when the Q was how to funnel the "Superbowl" live broadcast via this solution. Didn't understand the caching part of it. How reliable that will be?🥵
@armenarz4062
2 жыл бұрын
device agnostic? better to ask - do we need mobile app or users will use only web application?
@DamjanDimitrioski
11 ай бұрын
What happens on a real product like this if you cannot afford to scale more blob storage in a mid of few years of the product, would you tell the users from now on you have limited numbers of videos or other limitations or this more business decision?
@tryexponent
11 ай бұрын
Hey DamjanDimitrioski, thanks for the question! While there could be technical solutions to slow down the need to scale, this is ultimately a business decision. If you can't afford to scale, it may likely mean that your business model isn't profitable enough, or you aren't monetising it well. The question then becomes "is it worth it to keep this product up and running?" (considering accounting profits, opportunity cost etc.) Hope this helps!
@mystikyogi
2 жыл бұрын
I read that you can't scale SQL horizontally, why are we using SQL?
@yuanhengzhao4188
2 жыл бұрын
The SQL you mentioned is relational database right? It's hard to scale rds, but not possible, beside, solutions like aws aurora can take care of the scale for you. Here is an exmaple that I think rds is better than nosql in this case. When you want to know people who replies your comments(join operations), you will find out that implementing rds db is very simple and elegant, all you need to have are userDB, CommentDB, and a join can take care of the request. But if you choose nosql, like mongodb or dynamo, you have to store user info(e.g. name) into CommentDB because nosql doesn't support join. And you will run into problem when user update there profile. The name saved in the CommentDB also needs to be updated to prevent the inconsistency. Clearly it's not a good approche . Of course you can only save the user_id and do another query to mock the join operation, but why not using a solution with join at the first place?
@mystikyogi
2 жыл бұрын
@@yuanhengzhao4188 yes thats one of pro but i think it would difficult when you shard data which require joins have to be on same shard so I'm not sure if we can scale that way so in that case nosql is easier
@srijankumarsamanta5579
2 жыл бұрын
That's the reason sharding logic was discussed, needed to keep in mind how the recommendation systen will use joins between rows etc. Though the answer is not satisfactory to me, bcos it can create a lot of load on shards which has users with millions of subs, more diff strategies to explore
@83kumarvishal
2 жыл бұрын
i guees when sharding , the right indexer should be genre/ country of origin.. isnt it
@gauravrawat8959
2 жыл бұрын
Yes indexing by user doesn't make any sense. It should always by the most common trait of a video.
@RajdeepBorgohainRajdeep
2 жыл бұрын
Same thought here. User-based sharding will help in indexing only the particular creator's videos. But geographic based sharding will help in indexing, and it will be more efficient in building recommender Systems
@RajdeepBorgohainRajdeep
2 жыл бұрын
Correct me if I am wrong somewhere
@miale3593
2 жыл бұрын
Server to talk to CDN and get back to users, hmm
@khaino6828
2 жыл бұрын
what is white boarding tool used?
@ArunKumar-dv2jn
2 жыл бұрын
Whimsical
@insearchofvalue8034
2 жыл бұрын
Are FB manager system design interviews as easy to pass as this guy presents? I am sure an engineer will not pass on this answer.
@logicboard7746
2 жыл бұрын
Well, he only took ~20mins. I think he went to the sufficient level of detail given the short time for this mock session
@harisbeg7026
3 жыл бұрын
What software was he using to draw?
@antoncaballes1846
3 жыл бұрын
waiting for an answer
@devanshgarg31
3 жыл бұрын
Notion
@bikkina
3 жыл бұрын
Whimsical is the tool
@antoncaballes1846
3 жыл бұрын
@@bikkina thank you.
@antoncaballes1846
3 жыл бұрын
@@devanshgarg31 No, It's Whimscal.
@sunny-14689
2 жыл бұрын
Can we shard by title and description?
@RajdeepBorgohainRajdeep
2 жыл бұрын
Why you want to do that? There will be very less similar titles and forget about the description.
@goku6272
Жыл бұрын
Hey bro how youtube uploads work if the video is large like 500mb or 1gb. Is the upload happens directly on frontend on s3 then link is given to backend or http call is made to backend and wait for its upload
@architchauhan7870
Жыл бұрын
Video compression is done and every video is split into three major tasks: Video Transcoding, Audio transcoding and metadata persistence. Talking about video transcoding, Videos are split into multiple chunks of files and a DAG of tasks is generated, workers pick parallel nodes and sequential nodes.
@alicezhang3504
Жыл бұрын
What software is this? Is it Figma?
@tryexponent
Жыл бұрын
Hi Alice! The whiteboard being used here is “Whimsical”. They have a free and paid version so do check them out if you are interested!
@tommysuriel
2 жыл бұрын
No load balancers?
@srijankumarsamanta5579
2 жыл бұрын
Its understandable at this level, if scaling a service horizontally its mostly by use of load balancers
@Funsiestype
2 жыл бұрын
My first question is WHY? What’s wrong with KZitem. 🤣 exponent interviews are so basic.
@ngneerin
3 жыл бұрын
Too shallow a solution. Good enough for freshers maybe
@ankitkumarjain8896
2 жыл бұрын
I would say analytics is as important as the main functionality(video upload and streaming).It drives revenues and system efficiency
@amirnamdar8942
Жыл бұрын
23 minutes of non-sense
@kaushalsad6953
3 жыл бұрын
Hey I'm preparing for APM roles, is there anyone who wants to join to take interview of eachother.
@imsrivatsa
3 ай бұрын
Hi Kaushal I'm 2 years late in responding :D and I would like to do that!
@learnersparadise7492
2 жыл бұрын
This guy doesn't know when to use websocket vs REST? I am surprised how try exponent is using this person for all demo interview. Too shallow
Пікірлер: 77