I really really liked the video. Unlike other videos, it does not follow just the solution which is mostly copied from most of the internet sources. Rather, it was more of a breakdown and a tutorial at the same time that lets an individual know that how to go from one step to other
This guy as an interviewer was helpful. Maine jeete interviews die, sare interviewer kind of hope ki I fail, no hints, nothing bas, apni superiority dikha te h.
The topic is really good and discussion is helpful. Thanks for that. Feedback for Shrayansh - You are correcting the candidate too early if you feel their step is not matching with your though process or solution in mind. You can instead allow sometime for the candidate to make the mistake and analyze themselves. There is possibility that the candidate has identified a new way to solve the problem which earlier seemed to not work. - Himanshu
It was great 😊 # Design Meeting Scheduler ## Requirements: - there are n given meeting rooms - Book a meeting room for a given time slot and capacity (start time, end time, capacity) - send notification to the user who are invited to the meeting - use meeting room calendar to track the meetings date and time [Every meeting room has calender] Didn't get this ? ## Thinking - We can use a min heap to store the meeting rooms based on the end time of the meeting - We can use a hashmap to store the meeting room and the meeting details - We will use observer design pattern to send notification to the user who are invited to the meeting - Cancel/Update a meet? Yes - User can join late/early ## Algos thinking - Min Heap for allocating rooms - Observer Pattern for notifying ## Flow - There will users (N) - There will be meeting rooms (M) - Can fetch all meeting rooms available at desired slot with filter of capacity - Can book a meeting room and add the meeting details to the meeting room calendar - Have to send notification to the user who are invited to the meeting - Cancel/Updates should update users and meeting room calendar (Whole meet can be cancelled or one user can cancel) - All Meeting room will be available 24 Hrs ## Entities - User (id, name, email, phone) - MeetingRoom (id, name, capacity, location{floor, building}) - Meeting (id, start_time, end_time, capacity, meeting_room, users_invited [User1, User2, User3]) - Calender (List bookedIntervals) - Intervals (start_time, end_time, date) ## Managers - MeetingRoomManager (List, Map, CRUD a meeting room, getAllMeetingRooms) - MeetingScheduler (bookMeeting(create Meeting), cancelMeeting, updateMeeting, getAvailableMeetingRooms(capacity, Interval)) - NotificationManager (sendNotification)
Although this is a mock interview, you are trying your best to help her, and this definitely may not happen in a real interview. In many interviews, interviewers have a mindset of rejection and not selection. One thing is clear: she has a good attitude and is keen to learn. Great effort, btw :)
Yes, since this is a mock interview, i have to provide hints and help so that she learns it and make progress. Else if I stop the process and give just feedback, learning would be very less.
lol, This video is good but you are very very helpful interviewer. I have never seen interviewer as helpful as you. You basically carried the whole interview lol. Thanks to you both!
Day is redundant in Time Interval class. We can store epoch time in start and end time and use epoch time everywhere. That would also simplify the algorithm eliminating the need to consider day
I get your point, in interview this much help we do not get, but this is mock I have to unblock her so that she knows the next step too. And glad she cracked her next very big product company interview and joined also.
Saw this late, could you add a functionality to notify the group leader that there is a room available now if he is interested, like first come first serve basis. That would be quite interesting. What if we were to incorporate some resource locking stuff over the available rooms and once freed, notify the interested groups, just like a typical booking system
Quick Question: The has-a relationships at time stamp 28.14 are not opposite? Meeting Room Manager has a list of Meeting Rooms. But the arrow looks opposite. I might be totally wrong but needed some help. Thanks in advance!
OOPs is the backbone of computer science? I would have rejected it there. I cannot believe she has 4 years of experience and she is talking such statements. She is working on embedded systems for 4 years but her OOPs knowledge is also poor.
Hi I have recently started with LLD. I was also looking into coding part too along with UML diagrams. As I have worked on python for backend in my past experience. Which language should I go with in LLD coding part ?
Hi there So to solve this question I will use a normal PubSub Dewign Pattern where my meeting room is a publisher and user are my subscribers and a meetingScheduler where I can store the data of all the meetingRoom with their time of booking for the I will use a map with key as meetingRoomId#StartTimeStamp#EndTimeStamp and values will be the list of users
Hello. My question is simple. You told us that the MeetingRoom entity has to be stupid. What if I want to encapsulate not only properties of an object but also the corresponding functionality of it? I know It will make my code more coupled in that particular scenario but also it makes sense because all of this functionality related to booking room and came from the same realm this way I introduced higher cohesion into my system sacrificing loosely coupling. When a newcomer comes into my MeetingRoom class he realizes how to work with the class. I grasp the fact that if we want to extend our system in the way of MeetingRoom we might get into trouble because the MeetingRoom violated single responsibility principle. But I think it's a tradeoff between high cohesion and loosely coupling. What do you think?
Hi if possible i would like to request you to kindly use an IDE along with the visual representation so that we can also go through the code to understand the flow. Would be really helpful
Hi Anjon, if you see my LLD playlist, i follow the same. But seems Antra dont have iPen, so visual representation with mouse is difficult for her. Thats why she went ahead with text editior
bhai while studying LLD, should i only focus on making the class diagrams, or should i write code also. till now, i have only built class diagram, and did not implement it fully, is it okay, or would you advice to write the complete code as well?
Hi, do practice with the coding initially. Many times Interviewer ask for coding too. But once you get comfortable then UML only is okay, till you have confidence that you can code against your UML
I have given many interviews where interviewers just keep quiet until we ask some question. I know it sucks, but wanted to understand if interviewer guidance should be okay in an interview? like how you are doing?
She is not very confident in LLD round and she has LLD interview next day, so I had to provide the guidance whatever I can, so that she learns from this mock too. And outcome is good only as she cracked her LLD round and the interview:)
Interviewer would be deliberately hinting towards his unwillingness or nasty face, just to get a hold of your attitude. that's the part of interview. You might ask him politely if its okay to consider this or not. Not much are supportive.
Springboot: ruclips.net/p/PL6W8uoQQ2c60g6_fcjDCLHSx1LBeVYqyZ
LLD : ruclips.net/p/PL6W8uoQQ2c61X_9e6Net0WdYZidm7zooW
HLD: ruclips.net/p/PL6W8uoQQ2c63W58rpNFDwdrBnq5G3EfT7
Java: ruclips.net/p/PL6W8uoQQ2c63f469AyV78np0rbxRFppkx
It shows "RUclips can't open this link".
I really really liked the video. Unlike other videos, it does not follow just the solution which is mostly copied from most of the internet sources. Rather, it was more of a breakdown and a tutorial at the same time that lets an individual know that how to go from one step to other
This guy as an interviewer was helpful. Maine jeete interviews die, sare interviewer kind of hope ki I fail, no hints, nothing bas, apni superiority dikha te h.
The topic is really good and discussion is helpful. Thanks for that.
Feedback for Shrayansh -
You are correcting the candidate too early if you feel their step is not matching with your though process or solution in mind.
You can instead allow sometime for the candidate to make the mistake and analyze themselves. There is possibility that the candidate has identified a new way to solve the problem which earlier seemed to not work.
- Himanshu
noted, thanks for the feedback
@himanshu Hmm, there's other way also, if candidate is going in wrong path it'll be a mess and time will be up.
I really liked how you helped Antra breaking down the problems and reaching to solution.,
Started learning LLD from your playlist, it's really helpful.
Amazing.Very good. Thanks for all the information 🙏
thanks
It was great 😊
# Design Meeting Scheduler
## Requirements:
- there are n given meeting rooms
- Book a meeting room for a given time slot and capacity (start time, end time, capacity)
- send notification to the user who are invited to the meeting
- use meeting room calendar to track the meetings date and time [Every meeting room has calender] Didn't get this ?
## Thinking
- We can use a min heap to store the meeting rooms based on the end time of the meeting
- We can use a hashmap to store the meeting room and the meeting details
- We will use observer design pattern to send notification to the user who are invited to the meeting
- Cancel/Update a meet? Yes
- User can join late/early
## Algos thinking
- Min Heap for allocating rooms
- Observer Pattern for notifying
## Flow
- There will users (N)
- There will be meeting rooms (M)
- Can fetch all meeting rooms available at desired slot with filter of capacity
- Can book a meeting room and add the meeting details to the meeting room calendar
- Have to send notification to the user who are invited to the meeting
- Cancel/Updates should update users and meeting room calendar (Whole meet can be cancelled or one user can cancel)
- All Meeting room will be available 24 Hrs
## Entities
- User (id, name, email, phone)
- MeetingRoom (id, name, capacity, location{floor, building})
- Meeting (id, start_time, end_time, capacity, meeting_room, users_invited [User1, User2, User3])
- Calender (List bookedIntervals)
- Intervals (start_time, end_time, date)
## Managers
- MeetingRoomManager (List, Map, CRUD a meeting room, getAllMeetingRooms)
- MeetingScheduler (bookMeeting(create Meeting), cancelMeeting, updateMeeting, getAvailableMeetingRooms(capacity, Interval))
- NotificationManager (sendNotification)
Hi your explanation sums up everything.
Can you share the resources where I can learn these
Although this is a mock interview, you are trying your best to help her, and this definitely may not happen in a real interview. In many interviews, interviewers have a mindset of rejection and not selection. One thing is clear: she has a good attitude and is keen to learn. Great effort, btw :)
Yes, since this is a mock interview, i have to provide hints and help so that she learns it and make progress.
Else if I stop the process and give just feedback, learning would be very less.
lol, This video is good but you are very very helpful interviewer. I have never seen interviewer as helpful as you. You basically carried the whole interview lol. Thanks to you both!
Nice.
Please continue the series
The more she was stopping in between, the more I was getting tensed.😅
Really appreciate your efforts
Its really interesting! Please upload more mock interviews like this
Sure
Day is redundant in Time Interval class. We can store epoch time in start and end time and use epoch time everywhere. That would also simplify the algorithm eliminating the need to consider day
Yeah, just hoping it wouldn't crash in year 2038 :)
@@growingwithtech long data type can be used to avoid this.
Thanks for subtitles.this video is very useful
BEST LLD FINALY
I liked how you were trying to help her so much at every step. It was not good on her part though.
I get your point, in interview this much help we do not get, but this is mock I have to unblock her so that she knows the next step too.
And glad she cracked her next very big product company interview and joined also.
Saw this late, could you add a functionality to notify the group leader that there is a room available now if he is interested, like first come first serve basis. That would be quite interesting. What if we were to incorporate some resource locking stuff over the available rooms and once freed, notify the interested groups, just like a typical booking system
Next question: Design the Wanted Level feature of a GTA game
15:10 So, you're telling me this person has been working in Qualcomm and not understand OOPs concepts? Crazy.
Quick Question: The has-a relationships at time stamp 28.14 are not opposite? Meeting Room Manager has a list of Meeting Rooms. But the arrow looks opposite. I might be totally wrong but needed some help. Thanks in advance!
Thanks for sharing ☺️
wonderful video
OOPs is the backbone of computer science? I would have rejected it there. I cannot believe she has 4 years of experience and she is talking such statements. She is working on embedded systems for 4 years but her OOPs knowledge is also poor.
Hi I have recently started with LLD. I was also looking into coding part too along with UML diagrams. As I have worked on python for backend in my past experience. Which language should I go with in LLD coding part ?
Hi there
So to solve this question I will use a normal PubSub Dewign Pattern where my meeting room is a publisher and user are my subscribers and a meetingScheduler where I can store the data of all the meetingRoom with their time of booking for the I will use a map with key as meetingRoomId#StartTimeStamp#EndTimeStamp and values will be the list of users
Does this sound fair
@Conceptandcodinh
@ConceptandCoding
Why did we make meetingRoom as dumb object, can't we have calender functionality there itself?
it depends upon how we look at the object Neelansh, definitely you can put.
Hello. My question is simple. You told us that the MeetingRoom entity has to be stupid. What if I want to encapsulate not only properties of an object but also the corresponding functionality of it? I know It will make my code more coupled in that particular scenario but also it makes sense because all of this functionality related to booking room and came from the same realm this way I introduced higher cohesion into my system sacrificing loosely coupling. When a newcomer comes into my MeetingRoom class he realizes how to work with the class. I grasp the fact that if we want to extend our system in the way of MeetingRoom we might get into trouble because the MeetingRoom violated single responsibility principle. But I think it's a tradeoff between high cohesion and loosely coupling. What do you think?
Ack. Will get back to you
Should we also tell about various desing patterns we can use, like observer in notifications?
we can buy usage of design pattern is not mandatory.
Nice content, can u please let me know which online editor u use for drawing classes ?
One note
are interviewer so friendly in real world also? 😂
Absolutely not.😂
some of them are😊
Hi if possible i would like to request you to kindly use an IDE along with the visual representation so that we can also go through the code to understand the flow. Would be really helpful
Hi Anjon, if you see my LLD playlist, i follow the same. But seems Antra dont have iPen, so visual representation with mouse is difficult for her. Thats why she went ahead with text editior
2.2 and 2.3 are the same thing right? Booking room means blocking the meeting room only right?
correct
bhai while studying LLD, should i only focus on making the class diagrams, or should i write code also. till now, i have only built class diagram, and did not implement it fully, is it okay, or would you advice to write the complete code as well?
Hi, do practice with the coding initially. Many times Interviewer ask for coding too.
But once you get comfortable then UML only is okay, till you have confidence that you can code against your UML
@@ConceptandCoding alright! thanks
I have given many interviews where interviewers just keep quiet until we ask some question. I know it sucks, but wanted to understand if interviewer guidance should be okay in an interview? like how you are doing?
She is not very confident in LLD round and she has LLD interview next day, so I had to provide the guidance whatever I can, so that she learns from this mock too.
And outcome is good only as she cracked her LLD round and the interview:)
Interviewer would be deliberately hinting towards his unwillingness or nasty face, just to get a hold of your attitude. that's the part of interview. You might ask him politely if its okay to consider this or not. Not much are supportive.
verdict : rejected