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

Поделиться
HTML-код
  • Опубликовано: 20 ноя 2024

Комментарии • 62

  • @ConceptandCoding
    @ConceptandCoding  2 года назад

    Springboot: ruclips.net/p/PL6W8uoQQ2c60g6_fcjDCLHSx1LBeVYqyZ
    LLD : ruclips.net/p/PL6W8uoQQ2c61X_9e6Net0WdYZidm7zooW
    HLD: ruclips.net/p/PL6W8uoQQ2c63W58rpNFDwdrBnq5G3EfT7
    Java: ruclips.net/p/PL6W8uoQQ2c63f469AyV78np0rbxRFppkx

    • @snehilsinha5624
      @snehilsinha5624 2 года назад

      It shows "RUclips can't open this link".

  • @nikhilrajput8696
    @nikhilrajput8696 7 месяцев назад +5

    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

  • @anonymousgod2006
    @anonymousgod2006 5 месяцев назад +20

    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.

  • @himanshugoyal3862
    @himanshugoyal3862 8 месяцев назад +8

    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

    • @ConceptandCoding
      @ConceptandCoding  8 месяцев назад

      noted, thanks for the feedback

    • @kvmpm
      @kvmpm 4 месяца назад +1

      @himanshu Hmm, there's other way also, if candidate is going in wrong path it'll be a mess and time will be up.

  • @gauravraj2604
    @gauravraj2604 10 месяцев назад +1

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

  • @saketsourav31
    @saketsourav31 6 месяцев назад +3

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

  • @mrinalraj4801
    @mrinalraj4801 11 месяцев назад +2

    Amazing.Very good. Thanks for all the information 🙏

  • @ShubhamGupta7-v7e
    @ShubhamGupta7-v7e 5 месяцев назад +8

    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)

    • @krishnasai5276
      @krishnasai5276 2 месяца назад

      Hi your explanation sums up everything.
      Can you share the resources where I can learn these

  • @bhuvnesharya10
    @bhuvnesharya10 11 месяцев назад +9

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

    • @ConceptandCoding
      @ConceptandCoding  11 месяцев назад +4

      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.

  • @jagrit07
    @jagrit07 Месяц назад

    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!

  • @siddharthinsan1938
    @siddharthinsan1938 2 года назад +3

    Nice.
    Please continue the series

  • @bhanjaa
    @bhanjaa 7 месяцев назад +3

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

  • @ashishkumar-sw2dy
    @ashishkumar-sw2dy Год назад +2

    Really appreciate your efforts

  • @bibhu_pala
    @bibhu_pala Год назад +4

    Its really interesting! Please upload more mock interviews like this

  • @siddharth1700
    @siddharth1700 10 месяцев назад +1

    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

    • @growingwithtech
      @growingwithtech 6 месяцев назад +1

      Yeah, just hoping it wouldn't crash in year 2038 :)

    • @siddharth1700
      @siddharth1700 6 месяцев назад

      @@growingwithtech long data type can be used to avoid this.

  • @AjithKumaR-jw9wt
    @AjithKumaR-jw9wt 2 года назад +1

    Thanks for subtitles.this video is very useful

  • @vikasjain5466
    @vikasjain5466 7 месяцев назад +1

    BEST LLD FINALY

  • @jasper5016
    @jasper5016 Год назад +1

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

    • @ConceptandCoding
      @ConceptandCoding  Год назад +2

      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.

  • @kumarashutosh229
    @kumarashutosh229 11 месяцев назад

    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

  • @TsarVladolfPutler
    @TsarVladolfPutler 9 месяцев назад

    Next question: Design the Wanted Level feature of a GTA game

  • @sirrus3009
    @sirrus3009 6 месяцев назад +1

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

  • @jagrit07
    @jagrit07 Месяц назад

    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!

  • @mukulkopulwar
    @mukulkopulwar 10 месяцев назад +1

    Thanks for sharing ☺️

  • @tresorone-e5s
    @tresorone-e5s Год назад +1

    wonderful video

  • @jasper5016
    @jasper5016 Год назад +3

    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.

  • @SonaliKabadi-h4v
    @SonaliKabadi-h4v 3 месяца назад

    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 ?

  • @sahilnaik7681
    @sahilnaik7681 6 дней назад

    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

  • @neelanshgulati2643
    @neelanshgulati2643 2 года назад +1

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

    • @ConceptandCoding
      @ConceptandCoding  2 года назад

      it depends upon how we look at the object Neelansh, definitely you can put.

  • @ivanmiroshnichenko3612
    @ivanmiroshnichenko3612 2 года назад

    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?

  • @neelanshgulati2643
    @neelanshgulati2643 2 года назад

    Should we also tell about various desing patterns we can use, like observer in notifications?

    • @ConceptandCoding
      @ConceptandCoding  2 года назад

      we can buy usage of design pattern is not mandatory.

  • @er.shivamkesarwani6668
    @er.shivamkesarwani6668 Год назад

    Nice content, can u please let me know which online editor u use for drawing classes ?

  • @RajuKumar-lz3tf
    @RajuKumar-lz3tf 7 месяцев назад +1

    are interviewer so friendly in real world also? 😂

    • @OmCanpe
      @OmCanpe 6 месяцев назад

      Absolutely not.😂

    • @omsuman2535
      @omsuman2535 2 месяца назад

      some of them are😊

  • @anjonroy7408
    @anjonroy7408 2 года назад +2

    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

    • @ConceptandCoding
      @ConceptandCoding  2 года назад +2

      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

  • @anjonroy7408
    @anjonroy7408 2 года назад +1

    2.2 and 2.3 are the same thing right? Booking room means blocking the meeting room only right?

  • @meme_engineering4521
    @meme_engineering4521 2 года назад +2

    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?

    • @ConceptandCoding
      @ConceptandCoding  2 года назад +2

      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

    • @meme_engineering4521
      @meme_engineering4521 2 года назад

      @@ConceptandCoding alright! thanks

  • @PRAXYBEATS
    @PRAXYBEATS Год назад +1

    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?

    • @ConceptandCoding
      @ConceptandCoding  Год назад +3

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

    • @kumarashutosh229
      @kumarashutosh229 11 месяцев назад

      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.

  • @ayushigupta7378
    @ayushigupta7378 4 месяца назад +1

    verdict : rejected