Don't leave your system design career to chance. Sign up for Exponent's system design interview course today: bit.ly/4acJ5BN
@praveen31232 жыл бұрын
I hope his manager will not PIP him after watching this :p
@nammi8955 ай бұрын
😂😂😂😂😂😂😂
@ChandraShekhar-by3cd2 жыл бұрын
I guess there were many missing point in the video : 1 . Whether you should choose CA or CP system 2 . DB schema , He was not clear with why to choose No-sql db. Whatsapp still uses SQL DB for the storage of messate. 3. Cache and CDN 4. Load balancer role 5. How to get the online presence, he just keep putting all the responsibility in the Session Management Service only! 6. What if users are from different time zone. 7. How to handle the concurrency and idempotency of the system. 8. Tradeoffs Please do consider these points for the next upcoming System design or LLD videos!! Thanks!
@saurabhtanwar72992 жыл бұрын
Yes, Other interviews were good of exponent covering all points but This one misses out all these points, This one looks more of bookish to me. CodeKarle -(kzfaq.info/get/bejne/iNCBncV7l7uudJs.html) is close to correctness covering all aspects.
@IdoKleinman2 жыл бұрын
On point. Exponent's mock behavioral interviews are good however all of their system design mock interviews are really superficial, don't cover the hard issues or tradeoffs and just won't fly as a full correct answer in a real world interview.
@ChandraShekhar-by3cd2 жыл бұрын
@@IdoKleinman Yes, Agree with your point, they should provide in-depth knowledge on the topics and also the interviewee should come prepare before in hand so that he can convey the message quite precisely and clearly.
@ChandraShekhar-by3cd2 жыл бұрын
@@saurabhtanwar7299 Yes , I agree with the point. They should give quality content at least in their initial phase, they can charge later on, but they are trying to increase the userbase compromising the in-depth content.
@tryexponent2 жыл бұрын
Hey Chandra! Thank you for sharing those points with us. Just sent them over to the team Slack channel to take a look at as we develop more System Design content. Thanks for taking the time to share your honest feedback. Promise it's helpful!
@krugerbrent42702 жыл бұрын
It was a decent effort, but I felt some things could be improved. I am not sure why he jumped to the API gateway and microservice part that quick. Also, it felt like he was defining the requirements rather than letting the interviewer suggest or nudge him. - The group messaging logic wasn't satisfactory at all. I got confused when he started with all the maps & lists, that are more oriented towards coding the backend logic rather than how the different pieces in the system interact. - Why can't we scale SQL databases? Of course, we can, just that it is going to be more of vertical scaling. There are significant other differences between SQL & NoSQL that weren't mentioned. - the database table schema could've been explained with more details like the various attributes, data type, the linking between a user table & content table, or contacts table - Also, as someone else commented, there are no location/timezone issues handled here - And what about using an object data store to store images to serve later or download later? - A cache for sending messages when the user is offline, cache store policy - API gateway distribution can be done with a load balancer and could use logic similar to the database sharding mechanism such as based on geography or based on a list of UUIDs
@raghavddps22 жыл бұрын
Isn't consistent hashing a better approach than to assign randomly keeping limit and all?
@MosonMo2 жыл бұрын
sorry bro, like a lot of other people already commented, you do miss a lot of points here. In particular, for message delivering and group chat, it should use something similar to Azure Service Bus (queue for peer to peer communication) (topic and subscribers for group chat). If privacy is a concern, one could encrypt the message with a key belong to the receiver. This will handle wether receiver is online or not... Socket connection requires both parties to be online.
@gowris442 Жыл бұрын
S we can try to use something like consumer group கான்செப்ட் for group messages
@serhiiDev11 ай бұрын
agree. there are a lot of white spaces.
@jasper50162 жыл бұрын
After watching all these Amazon candidate's interviews, Amazon hires below avg people.
@xardiannon50386 ай бұрын
No kidding. This was pretty bad.
@varunvats322 жыл бұрын
WebSockets are not P2P.
@SaurabhKumar-uo6ms2 жыл бұрын
I am new to system design. please provide link (any article) that shows webSockets can not be used for P2P. please also suggest some common Peer to Peer protocols that will be useful to read for interview.
@NM-jq3sv2 жыл бұрын
@@SaurabhKumar-uo6ms Websockets are more like longlive connections but peer 2 peer is different protocol. it is used for large file delivery over multiple clients from a file server where each of the worker in peer copies a packet and transfer to another and so on reducing latency. Please watch clement code deployment system sys design interview it uses this protocol.
@vetiarvind2 жыл бұрын
He means duplex, but it's obvious what his intention is.
@anveshicharuvaka28232 жыл бұрын
This is just a bad example of an interview. I wouldn’t be harsh if it was a random attempt. But this is not just an attempt by a random interviewer. This is here to teach others how to interview. Websockets are not for P2P. The interviewer asked justification for NoSQL and they said scalability and it was just accepted. There are trade offs in every decision and it has to be properly justified in this particular situation. Not just give random textbook benefits of a technology. What does schema evolution mean? If NoSQL was applicable in every scenario why not use it everywhere.
@mrabbas9 Жыл бұрын
If this is acceptable to Amazon now I wonder why they failed me :)
@harshitkhandelwal85158 ай бұрын
In India, It is easy to get into Amazon. Interviewers are like here, you can yap anything and get away with it because even Interviewer lacks knowledge. Dont know the scenario about your place tho.
@vroomerlifts3 ай бұрын
@@harshitkhandelwal8515 That is not true.
@cranos6662 жыл бұрын
Doing this on an actual system design interview will get you rejected. How does the client know to connect to which api server ? Storing the messages is essential when answering this question How does the session microservice know to send message to user B through gateway 2 etc etc
@adityasrivastava57952 жыл бұрын
I think you need to store data at server end. How will it work otherwise if the second user or receiver is offline?
@arvindnarayan84102 жыл бұрын
WhatsApp doesn’t store messages by design
@blasttrash2 жыл бұрын
@@arvindnarayan8410 So until my message is sent, is that message stored on my phone and when my friend comes online, only then message is sent? What happens if my android app storage grows large? Does whatsapp clear old messages on the phone which I have already received?
@GiorGoS07031992 Жыл бұрын
I believe Whatsapp stores temporary the messages on their servers and deletes them after the message is delivered
@tarekradi3596Сағат бұрын
@@arvindnarayan8410 Wrong. If you load up WhatsApp in your browser, it will load all conversations. how? It stored the messages!!!!!!! Why is that such a hard concept for many here to grasp?
@tarekradi3596Сағат бұрын
@@GiorGoS07031992 No. It stores it for longer (there is a TTL - Time To Live) and then it may be archived. This video is pretty bad. No Caching. No CDNs. No scaling. No sharding. No schema design. PRETTY BAD!!!!
@piyushjaiswal8993 Жыл бұрын
Please someone tell me why we can't use Relational DB here, the schema looks pretty clear for whatsapp and don't see much changes to go for NoSql DB
@mickeyp12912 жыл бұрын
wheres the kafka? what kinda monolithic scalable monstrosity was that thing? its not scalable to the next version of whatsapp. its not even scalable to millions of users connected at realtime. sorry, thats my opinion
@kizhanz2 жыл бұрын
What happens if the recipient is offline?
@saathvikam Жыл бұрын
message will be sent and will be received once recipient is online, message till then will be in Queue
@topg3067 Жыл бұрын
Dont waste your time. This man has no idea what he is saying or doing. Move on to some other video.
@reydavid73002 жыл бұрын
What happens if one of the devices goes offline? Particularly, what if the receiver device is offline?
@farhazulislam61012 жыл бұрын
Oh Really? Try putting your mobile offline for a day or two, you will your ans.
@JardaniJovonovich1922 жыл бұрын
What do we mean by"connecting to API Gateway" ? Does it have an IP address ? I don't think so, right?
@prash11leo2 жыл бұрын
Yes, IP and port It’s over TCP
@JardaniJovonovich1922 жыл бұрын
@@prash11leo How come ? Isn't load balancer the one supposed to have an IP ?
@prash11leo2 жыл бұрын
@@JardaniJovonovich192 I believe the client will be connected to the gateway directly and not to a load balancer. If it is connected to load balancer, we need another mapping on the user to load balancer IP-port. I believe load balancing happens with consistent hashing, and client would directly connect to a gateway based on some ID. What do you think?
@JardaniJovonovich1922 жыл бұрын
@@prash11leo Can you just give some examples of API Gateways which have an IP address ? Atleast as far as I remember I did not see an IP address for AWS API Gateway, correct me if I am wrong
@tacowilco75152 жыл бұрын
He had to explain each step. Like why API gateway, why micro service architecture, why specifically noSQL (why can't we use SQL) and etc. This is very oversimplified example which will not work in real world 100%.
@vikrantchaudhary72452 жыл бұрын
which text editor he is using 🤔
@saathvikam Жыл бұрын
Whimsical
@deathbombs2 жыл бұрын
12:15 how is this P2P communication? The clients go to api gateway then the session managing service before reaching other clients
@channuangadi750410 ай бұрын
we are using the same methodology for "message delivered" and "message read" how can we distinguish between them
@hazemabdelalim5432 Жыл бұрын
websocket are not P2P , i think you meant webrtc ?
@fartzy2 жыл бұрын
Did he just say WebSocket is designed to be a Peer 2 Peer? How are you just gonna come out of the gate incorrect bruh
@ozurumbaobinna6232 жыл бұрын
Please what software did he use for the design he was doing?
@yamininandakumar71102 жыл бұрын
Whimsical
@ovidiusbr Жыл бұрын
Good poker face 😁
@vetiarvind2 жыл бұрын
Personally i'd give him a 2/5 or a 3/5 at max. I think he listed all the requirements, but he didn't mention the DB records - how to store media, i don't really like him using NoSql here tbh, structured data makes a lot more sense. In a way i guess it makes sense to store chat messages in a group for example in nosql but in this case since we're doing per message read acks, it makes more sense to be able to join users with messages.. also i think he should describe a write fan-out service - so if i write to a group, it should be published to the members of the group. So i'd have maybe a session service like he says to connect websocket handlers with users, then i'd use different microservices to manage publishing of messages internally and to notify those "chats" with the handlers. I'd also need a separate service to handle media and CDN's to deliver the media.
@gowris442 Жыл бұрын
100% true u mentioned all are correct fanout in kafka for sending message in whoever in groups I.e consumer group and media files he can use cdn with amazon s3.
@ritikjain6972 жыл бұрын
which application they guys are using for design ?
@Wooby1Dooby14 ай бұрын
Whimsical
@sammed.sankonatti3 ай бұрын
@@Wooby1Dooby1 Thanks
@rockeyram857Ай бұрын
what is the software he is using for drawing the components?
@tryexponentАй бұрын
Hey rockeyram857, the whiteboard tool is called "Whimsical"!
@rockeyram857Ай бұрын
@@tryexponent thanks
@keyurdgp2 жыл бұрын
What drawing tool are you guys using it? It seems it is very simple to use.
@tryexponent2 жыл бұрын
Yes, it is. It's Whimsical.
@probhakarsarkar24302 жыл бұрын
Is api gateway bidirectional?
@tarekradi3596Сағат бұрын
why not store the text? Of course you need to store the text! "Don't store the text for privacy"... WHAT?! Solve the privacy issue using security measures. Also, you didn't do any sort of calculations. API Gateway assignment should be based on location and then also there should be a load balancer. Overall, This is NOT a good video for preparing for system design interviews.
@jeankhechfe1594 Жыл бұрын
This interview is a total failure, rejection is garanteed if it was real.
@DevinMonyThomas Жыл бұрын
which tool is used for scribing?
@tryexponent Жыл бұрын
Hi Devin! The whiteboard tool being used here is “Whimsical”. They have a free and paid version so do check them out if you are interested!
@gunaborah46592 жыл бұрын
Bro spotify?
@mickeygarg2 жыл бұрын
Whats the tool you use for this diagramming and designing. Can you help
@life_ofcoder2 жыл бұрын
miro
@AmanGarg952 жыл бұрын
Nope, not miro. It is Whimsical.
@blasttrash2 жыл бұрын
yeah its whimsical not miro
@ziggyzhang4156 Жыл бұрын
lol these exponent mock interview videos are hilariously low quality, folks who think these are representative of good system design interviews are gonna be hugely mislead 😂
@tryexponent Жыл бұрын
System design interviews have changed a lot in the last 12 months, with interviewers now asking more direct questions about the system rather than high-level theory. We're currently filming updates to large amounts of system design content to reflect that. Are there other things you'd want to see in system design content?
@armenarz40622 жыл бұрын
Dislike
@jpc5012 жыл бұрын
Not good
@someguyO2W Жыл бұрын
This is all wrong
@rpiitkgpian Жыл бұрын
Seriously ??????????????????????????
@farhazulislam61012 жыл бұрын
Exponent, in your videos background music should be added. Like a dilogue in a movie scene becomes me engaging because of proper bg music. Listening to a man's harsh voice for almost an hr is quite a difficult job.
@fozailahmad5208 Жыл бұрын
What is the software they are using
@tryexponent Жыл бұрын
Hey Fozail! The whiteboard being used here is “Whimsical” (if that's your question)!
@tarekradi3596Сағат бұрын
does it matter at this point? Pretty bad video
@super-ulitka2 жыл бұрын
Don't waste your time, such "WhatsApp" won't fly 🐘