Mock Low Level System Design Interview with Qualcomm Sr. Engineer - Design Meeting Scheduler

preview_player
Показать описание
This is the first LLD Mock Interview. If you Liked this mock pls do check the other playlist too
#lld
#mockinterview #systemdesign
Рекомендации по теме
Комментарии
Автор

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.

anonymousgod
Автор

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

nikhilrajput
Автор

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

himanshugoyal
Автор

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<Intervals> bookedIntervals)
- Intervals (start_time, end_time, date)

## Managers
- MeetingRoomManager (List<MeetingRoom>, Map<MeetingRoom, Calender>, CRUD a meeting room, getAllMeetingRooms)
- MeetingScheduler (bookMeeting(create Meeting), cancelMeeting, updateMeeting, getAvailableMeetingRooms(capacity, Interval))
- NotificationManager (sendNotification)

ShubhamGupta-ve
Автор

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 :)

bhuvnesharya
Автор

Started learning LLD from your playlist, it's really helpful.

saketsourav
Автор

I really liked how you helped Antra breaking down the problems and reaching to solution.,

gauravraj
Автор

Amazing.Very good. Thanks for all the information 🙏

mrinalraj
Автор

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

siddharth
Автор

Its really interesting! Please upload more mock interviews like this

bibhu_
Автор

The more she was stopping in between, the more I was getting tensed.😅

bhanjaa
Автор

Thanks for subtitles.this video is very useful

AjithKumaR-jwwt
Автор

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.

jasper
Автор

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

kumarashutosh
Автор

15:10 So, you're telling me this person has been working in Qualcomm and not understand OOPs concepts? Crazy.

sirrus
Автор

I liked how you were trying to help her so much at every step. It was not good on her part though.

jasper
Автор

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 ?

SonaliKabadi-hv
Автор

Why did we make meetingRoom as dumb object, can't we have calender functionality there itself?

neelanshgulati
Автор

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

anjonroy
Автор

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?

ivanmiroshnichenko