Book My Show || Low Level Design Code || Amazon Interview Question Solved!!

Поделиться
HTML-код
  • Опубликовано: 21 ноя 2024
  • Hi,
    In todays video I have discussed in detail the entire code for Low level design of movie ticket booking system. I have used SOLID design principal along with several oops concept to come up with a robust design for the system. I have also talked about possible extensions of the problem and how to generalise the solution to solve for any event ticketing system.
    This is the code file: drive.google.c...
    As usual, if you would like to be a part of free mock interview series please follow my Instagram handle
    To connect with me:
    Instagram: / dynamic_coder_18
    LinkedIn: / soumyajit-bhattacharya...
    Telegram: @sdeinterviewpreperation
    Message me here regarding the same.
    Please do like and share this video. Subscribe to my channel and hit the notification bell !!!
    Thanks everyone!
    #amazon #arcesium #deshaw #google #low #level #design #lowleveldesign #soumyajit #bhattacharyay #bhattacharya #system #design #faang #facebook #code
    system desgin, facebook, apple, amazon, netflix, google, arcesium, de shaw, low level design, soumyajit bhattacharyay

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

  • @sachin_getsgoin
    @sachin_getsgoin 3 года назад +46

    While booking seat, using locks at the right level (so that the entire application doesn't get locked), timeout for a lock, asynchronous payment processing is the main reason why this question is usually asked.
    Identifying the entities are good starting point. 👍

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

    List seats being a part of Show class and not Audi class -> the explanation and the thought process behind it was amazing. Thank you for clarifying the same

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

    He is definitely a Indian techie monster. Nice tutorial.

  • @StockArchives
    @StockArchives 2 года назад +15

    Hi, Great Video.
    Some points which i faced or asked to implement -
    1) Use of SOLID principle.
    2) Core logic of some important class.
    3) Extensibiliity for some extra features in future - in this case - Coupons, Offer, Cancellation/Modification for events.
    4) Iteraction between some classes.
    Explaination if possible, a little slow.

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

      Were you able to implement all of the requirements considering limited time ? How does the interview perceive that if we are not able to complete everything

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

      ​@@akshaysachan9592 Two parts here - Need of overall discussion of these kind of topics from person to the interviewer, side along asking interviewer if he or she want to move in that direction.
      Second Part - It is not important to wholly focus on to give complete solution. but How strong fundamentals were, Discussion of overall ideas and wether interviewer got idea If a person will able complete it, if more time was given.
      One bonus point - If interviewer is not giving direction, and just listening. It is your job to navigate the solution.

  • @praveenkumarr32
    @praveenkumarr32 3 года назад +8

    Overall a great explanation. We shouldn't be spawning out separate classes for each Role (ex:admin) they are going to play, that has to be abstracted out and made as a separate user management module( or access control module). Tight coupling a user with a role is not scalable. often we would like reassign the user a different role so these two should be separate entities and should have a m:n association among them.

  • @shahkushal1495
    @shahkushal1495 3 года назад +8

    @4:27 A better argument could be, when a ticket is booked, it is booked for a particular show. So, in the show, one can have all the seats instantiated, and used.

  • @bostonlights2749
    @bostonlights2749 4 года назад +10

    You have splendid communication skills

  • @duedares
    @duedares 4 года назад +1

    You have amazing communication and a grasp of the topic.
    I have just one piece of advice: Break it. Break the files and classes. That is all we want. Thank You!

    • @duedares
      @duedares 3 года назад

      Okay spammers, I'll never open flixzone or whatever 😂

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

    Great video, thanks!
    1. What is the general format one should adapt to answer in LLD interview?
    2. Are we expected to make Class Diagram and Use case diagram in the beginning?
    3. Are we expected to write internal logic of how booking is done, what if booking is full and so on?

    • @SoumyajitBhattacharyay
      @SoumyajitBhattacharyay  3 года назад +1

      It all depends from one round to another, one interviewer to another. In my interviews I had been asked all three types, making classes, APIs functions and their interdependencies, then in some of them was asked to implement it end to end and in some was asked to just implement a couple of functions

  • @tarungarg3036
    @tarungarg3036 10 месяцев назад

    felt confident after watching this video.

  • @Manikantabomma1
    @Manikantabomma1 3 года назад +3

    Great work Soumyajit.. your LLD videos are the best low level design courses among those I have seen..
    Thank you so much..

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

    Good video! I specially liked the ending part where you explained how it can be extended to any kind of booking system not just movies. That was really good.

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

    I am thinking of switching to a SDE-2 role in a year and wanted to see how LLD looks like. Great video man! I am confident I will be cracking something great in a year! 😇

    • @HimalayGoyani
      @HimalayGoyani Год назад

      Have you bro?

    • @unlockyourfinance
      @unlockyourfinance Год назад

      @@HimalayGoyani No bro, feeling settled here, I am upskilling according to project requirements, getting good hikes year on year, still I will consider switching if I don't get promoted this year, in SAP Labs now

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

      @@unlockyourfinance bro don't get too comfortable :)

  • @rahulsharma5030
    @rahulsharma5030 4 года назад +21

    Doing great.I would suggest to increase frequency of LLD.

    • @SoumyajitBhattacharyay
      @SoumyajitBhattacharyay  4 года назад +3

      Thanks for the suggestion. Yes i will be uploading the parking lot lld video soon!!

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

      @@SoumyajitBhattacharyay I still cannot find more videos on lld

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

    U r helping lot of people to be well prepared for the interviews.Good job and u will get lot of good will

  • @VinothiniAnabayan
    @VinothiniAnabayan 3 года назад

    your low level videos are clear and precise.. Keep making videos..

  • @tusharrawat8768
    @tusharrawat8768 3 года назад +4

    Great video,
    Soumyajit.
    One question though, in interviews they don't ask to implement the reponsibilities of each entity/actor class? If they ask for a working prototype solution, we need to implement all these apis correct, using some in-memory Data-structures.
    Please make a LLD video where your cover the implementation details of the responsibilties/apis.

    • @sudheerg9182
      @sudheerg9182 3 года назад +1

      You can have repository class and we can use maps as our data stores , and we can refer this repository from service class. This will make implementation easy during interviews and works fine.

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

    bro, you make amazing video, can't thank you enough, you have the best OOP interview practice

  • @PratikShah123
    @PratikShah123 3 года назад +3

    Thanks for the great video..! However one feedback: cityShowMap shouldn't be a part of Movie, as it doesn't seem to be a scalable approach while preserving into DB.

  • @grovervishal591
    @grovervishal591 3 года назад +1

    A very good explanation Soumyajit . I really like the extension part which you explained in the end.

  • @ViragJainimhere
    @ViragJainimhere Год назад

    Great efforts and crisp and short video

  • @adityasinghaswal4923
    @adityasinghaswal4923 3 года назад

    Straight to the point..brilliant explanation!

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

    Hi Soumyajit, it very good explanation fro coding front.
    Can you help to understand the database front also like what all tables , how table hold mappings and more

  • @dhananajaykrishna8259
    @dhananajaykrishna8259 3 года назад +1

    Awesome!!! Please keep making such videos... It would be of great help,if you start by showing the class diagram and then moving on to the code part.

  • @abhijeetkumar3752
    @abhijeetkumar3752 3 года назад

    best tutorial of low level design with great explanation and also with code...

  • @mwshubham
    @mwshubham 3 года назад

    Thanks for adding additional details of using inheritance to extend this architecture for booking events and other

  • @carpediem9407
    @carpediem9407 3 года назад +1

    Today from nowhere youtube suggested me your channel ... was bored .. and just decided to watch for couple of minutes ... but already finished 5 videos 😂😂...Great video bro .. really appreciate your hard work ... I think so ...I will end up watching all your videos by today itself 😂💯💯

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

      Thats super cool! And good to see that the algorithm is picking up some of my videos 😄.
      Thanks for watching and really appreciate thr feedback!! 😄

    • @carpediem9407
      @carpediem9407 3 года назад +1

      @@SoumyajitBhattacharyay Your low level design skills are god level 💯💯💯💯... plus explanation also . 💯💯

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

      @@carpediem9407 thanks 😄

  • @YogeshDharya-ji9ch
    @YogeshDharya-ji9ch 5 месяцев назад

    Helped me a lot ! thank u so much , gave me the clarity I needed 😇

  • @mayurkharche9087
    @mayurkharche9087 3 года назад

    Thank you for your efforts!!! This is the very first vedio I have seen from you channel, I will surely watch all the vedioes on LLD.

  • @munjal55555
    @munjal55555 3 года назад

    I am not convinced with using the same design for something other than bookmyshow, it very obvious that both the product might evolve in different ways, and unnecesasry we have to keep an indentifier to track which fields belongs to what product and not foe another product.
    btw. good explanation

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

    great video and explanation loved it....
    please do the design of Airline/flight booking system.........

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

    Thanks for the video. The best part is you have coded what you design. Can you also include or talk about the database schema ?
    That would cover most of the design perspective of the app.

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

    Great Video. Keep up the good work going brother.

  • @priyasrivastava6425
    @priyasrivastava6425 4 месяца назад

    Very well explained !!

  • @mayanksingh-ki1gx
    @mayanksingh-ki1gx 4 года назад +5

    First of all thanks for the efforts. :). One correction. If you are adding searchobj in User Abstract class, then for your admin class you will be breaking liskov substitution rule as for admin it doesnt make sense to have searchobj.

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

    You've created a circular dependency between Show , Cinema & audi. How will toString() work in this case? It will lead to an infinite recursion. Is this correct design or an anti-pattern?

  • @meghadave9363
    @meghadave9363 3 года назад

    Hi Soumyajit . This is not to devalue your work . but my observation is that most of the lld on this channel or else where are using same set of design patterns like decorator and strategy. i am not finding the designs very elegant . LLds should be about how well are we choosing our design patterns and data structures. Stiil great work . Thanks

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

    Very informative. Please design more lld's.

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

    God level explanation

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

    Great video 🔥🔥 , I would like to meet you in person !! Great Mannn 🙌👏

  • @ShivamVerma-gq2sm
    @ShivamVerma-gq2sm 2 года назад

    macha diya dada !!! thankyou so much.

  • @sayanghosh2270
    @sayanghosh2270 4 года назад +3

    Hey Soumyajit, I would actually like to see one code with the whole implementation and your thought process.Since sometimes which data structures(list, hashmap) to store information varies while implementing.Thanks!

  • @rishabhgaurav
    @rishabhgaurav 4 года назад +3

    Subtle Explanation! Just curious to know where do you learn this stuff from! Just asking though but waiting for your next video in this series.

  • @smriti13dhanbad
    @smriti13dhanbad 3 года назад

    Thanks for the great video. Is concurrency handling a part of LLD?

  • @whiteboard7641
    @whiteboard7641 3 года назад

    hi,
    Couple of doubts :
    1) why cinemaHall inside show?
    2) why price for every seat?
    3) how will you implement "public List getMovies(Date date, String city);" in BMSService?
    I understand theres no single right answer, but would like to know the changes needed for 2 and 3.
    Thanks

    • @AkshayKumar-fj9hd
      @AkshayKumar-fj9hd 3 года назад

      According to my understanding :
      1) Even I didn't get any usecase of CinemaHall in show. If you found any let me know.
      2) Because seats are of different type defined by SeatType enum. And different type will be having different price.
      3) BMSService has List. So in to begin with we can filter out the cinemaHalls on the basis of city in getMovies method. Then on filtered CinemaHalls we can call the CinemaHall's getMovies method.
      Any different thoughts? I am up for a discussion. :)

  • @acousticIndie
    @acousticIndie 3 года назад

    Thanks, man! this is so helpful and crisp!

  • @manvityagi6529
    @manvityagi6529 4 года назад

    Wow! Worthwhile Content, Neat Presentation.

  • @abhijeetbaranwal
    @abhijeetbaranwal 3 года назад

    Excellent video. Great work 👍

  • @hariprasadkumbhar840
    @hariprasadkumbhar840 4 года назад

    Nice explanation. Keep doing this. And encourage others.

  • @kamalpreet5481
    @kamalpreet5481 4 года назад

    Great Explanation. Keep posting such useful content.

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

    Excellent

  • @mohitojha7514
    @mohitojha7514 3 года назад

    Amazing content, well explained

  • @karun4663
    @karun4663 4 года назад +2

    can u share resources u used to learn this stuff and btw LLD videos are dope plz post more videos and can un answer the questions for OS u mentioned

    • @SoumyajitBhattacharyay
      @SoumyajitBhattacharyay  4 года назад +1

      Surr definitely i will do that.
      Thanks for such encouraging feedback!
      I have a lot more lld videos in pipeline.
      Stay tuned to watch them!!

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

    @Somyajit , IMHO the parent entity should'nt be storing the references to the child entities (Unless they belong to the same aggregate). For example : ShowService and AudiService might be deployed as two separate microservice altogether , in those scheme of things AudiService should not store the reference to the Show, rather Show as a child entity should store the reference (as a client reference id if you will) to Audi entity. Even in case you STILL want to store the reference of child entity with parent it should be just the primary key and not the object. Let me know your thoughts on this!! :)
    EDIT: Just to explain better , if we will store reference to Shows in Audi entity , this will introduce hard coupling between the two services , Show service going down would mean , I can't even create an Audi!

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

    Ofcourse a fresher type of answer. No extensibility in the system, just coded the requirements. Cannot add any new type of booking, like what about if I want to book a theatre show, Virtual meeting, party or what ever. Just thinking about that changes every goddanm thing in this design/class. People please get your design reviewed by any person. Low level design does not mean coding the solution. It means you have to decide the design. Please get your solution reviewed before posting on youtube as a good solution. At the end of the video he himself mentioned clearly that he will be changing almost everything of core code, I am not sure how he did not realise this thing and saying we will just change this and this and this and this .. omg.

  • @revanthmadasu244
    @revanthmadasu244 3 года назад

    great explanation

  • @NehhalKalnadTheGreat41
    @NehhalKalnadTheGreat41 3 года назад

    very crisp and perfect vdo 😋

  • @adildil4260
    @adildil4260 9 месяцев назад +1

    CinamaHall class has getMovies method which only based on date why not city?. As its for particulat cinema hall then we shd know for that cinema hall get me all the movies on that date and city right?

  • @indrakumarreddy6679
    @indrakumarreddy6679 3 года назад

    Great Work! Could you make LLD video of Uber/Ola.

  • @rutachaudhari5774
    @rutachaudhari5774 3 года назад

    Hi, thanks for this playlist. Just stumbled on your channel. Great work

    • @SoumyajitBhattacharyay
      @SoumyajitBhattacharyay  3 года назад

      Glad that you liked it! .do subscribe and hit the bell notification so that you remain notified.
      And don't forget to share with your friends

  • @aakash1763
    @aakash1763 3 года назад

    Great video just minor doubt for admin user he can add Show right so when he wants to add Show
    So he will give us the show object and addShow API will add the Show at the database but this Show will have all the information like at which cinemalhall, of which movie type, timing and on which Audi of the particular cinema this show will be placed.

    • @aakash1763
      @aakash1763 3 года назад

      if I observe carefully there is an API in cinemalhall which gives me the list for particular dates, now when this API will give me list if I get one show object it has all the information of the show at which cinema hall this is available, what is the movie and everything. i am confused like Show has a cinemal hall object and Cinemal Hall has list which internal have list when you try to store show information in the database Show will be a huge object right?

  • @Rubal98
    @Rubal98 4 года назад +1

    Great work

  • @ngneerin
    @ngneerin 3 года назад +1

    Inheritance sucks. Composition is the way to go

  • @kaushikg1996
    @kaushikg1996 3 года назад

    Great content 👌

  • @Arvindhanarvindinc
    @Arvindhanarvindinc 3 года назад

    Great work man 👏

  • @PrashantArya-prary2
    @PrashantArya-prary2 3 года назад +1

    Great work

  • @NirmalSingh-jo9wk
    @NirmalSingh-jo9wk 4 месяца назад

    Most important part of this question is how to avoid long locks while booking payment is going on, or not use lock at all but in that case two users can book same seat, so how to manage that concurrent case.

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

    @soumyajit great work bro, Amazon Sent me some study material before interview, where your LLD playlist is included for preparation'

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

      Is that so? That's awesome. 😛

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

      @@SoumyajitBhattacharyay yup bro, yes its awesome your work is being recognised and that's how I landed here 😉 keep grinding

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

      @@sahildhiman7675 can you please share your experience as I am also having interview with amazon

  • @sanjaytrasy6705
    @sanjaytrasy6705 3 года назад

    Well done 👍

  • @believeralways3875
    @believeralways3875 3 года назад

    Hi Soumyajit,
    Thanks for this video, it is very helpful. I have one doubt that whether we should start by creating API class first or Entity classes first like (Person, Movie, Show, Screen, Seat) and then build API class. Any input from others will also help.

    • @nikhilbalachandran2171
      @nikhilbalachandran2171 3 года назад

      You should be knowing both. And you can ask this question with the interviewer for which one to start with.

  • @Ranjeetkumar-do5bx
    @Ranjeetkumar-do5bx 4 года назад

    Hi Got some confusion..in CinemaHall class,List audiList one of d field,... then in Audi class,List shows...again in Show class, Cinemahall cinemaHallplayedAt.....its looking like cyclic?..which type of relation it is?............i mean should we define fields in a class as child fields(like for CinemaHall class, List audiList is type of child field)...but in Show class, Cinemahall cinemaHallplayedAt, its looking parent field in a class Show....might my analysis & its looking into cyclic way..

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

      I have the same doubt, it should not be cyclic as you can always derive some fields from the associated fields.
      Got rejected in 1 company because of these mistakes.

  • @prakhar.mishra
    @prakhar.mishra 4 года назад +5

    How would you make sure that no two users end up booking the same seat?

  • @amanvikram04
    @amanvikram04 5 месяцев назад

    I think it would have been better if you have just gone through a quick look of requirements, anyways it was great video as i am watching it after 3 years of upload👍

  • @prafulsinghvit
    @prafulsinghvit 3 года назад

    Since you spoke of 'strategy pattern' , how about making a small video on that and linking it here in the description?
    Thanks!!

    • @SoumyajitBhattacharyay
      @SoumyajitBhattacharyay  3 года назад +3

      Yes absolutely. Not only that all of them I will be making it in an upcoming video series ♥️♥️
      Do stay tuned

  • @nitinkhulbe6234
    @nitinkhulbe6234 3 года назад

    great content

  • @Amritanjali
    @Amritanjali 3 года назад

    u r great

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

    So, when the admin wants to add a new show for a movie from where will he get the seats list?
    Ideally, seatList should be in the Audi and in the show class we should just have a list/set of seats which were booked for that show.

  • @rahulsharma5030
    @rahulsharma5030 3 года назад

    CinemaHall getMovie and getShow api ,will probably call database/datastore to fetch details.So isnt it violating SRP here in CinemaHall?
    I dont see why we need these api, we can have some cinemaManager type of class, that can handle this.That can talk to datastore and fetch results, why would we have this in CinamaHall Class?
    The way you have movie search class, similarly you should have cinema search.It should do all this stuff. GetMovies in cinema and then filter by data and all apis.
    These are just data types you defined.Actual interaction is not clear.How would u get List for audi?It has to talk to someone.That thing is missing everywhere

  • @rohitgubrele8171
    @rohitgubrele8171 3 года назад

    Hi Saumyajit,
    Can we use any Design pattern to improve on the Search part?
    We have defined 4 types of search in this case.
    But when we add more EventLocation like a stadium for let's say cricket match,
    we might need to a Sports wise search and so on.
    In the Current case, we will need to update and existing class.
    Can we add somehow add new search functionality just by adding a new class?

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

    hey, I have a question, all these questions that you have solvedm you made the solution as stand alone aplication why haven't you provided a solution as web application, ie. having controller layer and apis and all, in most of the methods that you have defined in your actor clasees would have been residing in service class, and the entities will just be model classes.

  • @rahulsharma5030
    @rahulsharma5030 4 года назад

    In booking class,dont you think that Payment paymentObj; and and the parameter passed to makePayment should be of different types?Booking should have PaymentInfo object like txnid,amount etc. and makePayment should accept something like Payment which is credti card/debitcard etc.?

  • @sharmilabaskaran7373
    @sharmilabaskaran7373 3 года назад

    Do they ask to complete the entire design here with each of the implementation and
    Main class.

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

    Loved it... ❤

  • @Shashwatoctober
    @Shashwatoctober 7 месяцев назад

    What are people saying? How is this a god-level explanation? This has a code smell. It has a circular dependency

  • @RajatGautamism
    @RajatGautamism 4 года назад

    Booking object should not contain totalAmount since it is already containing Payment object which have amount inside it ,correct?

  • @aaAaa-rq2cj
    @aaAaa-rq2cj 11 месяцев назад

    How do u make sure two people wont book same seat

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

    Bro,
    A small doubt
    Does LLD mandatory for Frontend Developers/Web Developers also ?

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

    too good

  • @ritugupta3367
    @ritugupta3367 3 года назад

    How do we decide which method/behavior belong to which class. eg like getMovies() should be part of Movie class or Audi class? why certain list of maps are present in specific classes.

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

      @Ritu Gupta, I have the exact question, did you got the answer to your question?

  • @InfinteMotivation
    @InfinteMotivation Год назад

    best

  • @rishibharadwaj7988
    @rishibharadwaj7988 3 года назад +1

    I would prefer the get methods of different concrete types to be in their own service.

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

    What is Audi? Its little difficult to understand. The only Audi I know is car. :) Please let us know what is Audi

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

      Audi means auditorium , in which the movie is shown

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

    loved it

  • @rahulsharma5030
    @rahulsharma5030 4 года назад

    Some suggestions:-
    1. Movie should not have cityShowMap as its member, however there can be api in Movie to return getShowsByMovie that returns this map.If we want to make search faster, we will look some other stuff if required.I dont see this map as a movie attribute.To improve search we can always see caching and all stuff before making changes at low level for this thing.
    2. Similarly audi should not have List of shows. It can expose api to get active show of this audi.Or if we can ,we can have list of active shows instead of shows.But still i would not like to store list of shows with audi.Show can be separate class with audi id and movie id info.
    Please let me know your thoughts

    • @SoumyajitBhattacharyay
      @SoumyajitBhattacharyay  4 года назад

      One thing, since this is from a perspective of LLD in interviews the focus will be to make everything in memory. So any caching technique will not be entertained.

    • @SoumyajitBhattacharyay
      @SoumyajitBhattacharyay  4 года назад +1

      Plus hacing said that think LLD to be a complete in memory implementation. That is the expectation out of these rounds for most use cases. Hence, we need to keep certain attributes in certain classes which makes most sense as per the given constraint.
      For example a audi should be containing the information for the list of shows that is running as it is specifically the attribute of the audi.
      As show time etc will vary as per a specific audi! And likewise for all the other things

    • @rahulsharma5030
      @rahulsharma5030 4 года назад

      @@SoumyajitBhattacharyay understood thanks.Since these are open ended questions.I think these are more of a discussions round than a question/answer:).Thanks for you efforts.

    • @SoumyajitBhattacharyay
      @SoumyajitBhattacharyay  4 года назад

      Absolutely true. They are extremely open ended. But as a general rule of thumb low level they test strictly Class design/ db design for the corresponding classes and while implementing they generally ask not to rely on db as a source and make a more of an in memory solution.
      Highlevel on the other hand focuses on all the aspects about creating a robust system that can handle high tps etc.

    • @rahulsharma5030
      @rahulsharma5030 4 года назад

      long discussion.Just one query, you maintained map as i asked above as a private member, then why did not u maintain similar map in cinemaHall Class, instead there you choose to expose api instead of map?Can you explain why?it will clear stuff

  • @NithishKumar-se9ev
    @NithishKumar-se9ev 4 месяца назад

    7:45 What is the significance of searchObj in User class?

  • @optimizer_____2420
    @optimizer_____2420 3 года назад

    where price thing is done? like showing price of movie

  • @arkapoddar3727
    @arkapoddar3727 3 года назад

    For CinemaHall Class, there should be an IsActive Flag, in case the cinema is going through renovation, or it will be closed.

  • @adityakumarsingh1045
    @adityakumarsingh1045 3 года назад

    Awesome

  • @GauravKawatrakir
    @GauravKawatrakir 3 года назад

    One point is left that is concurrency issue while many people booking tickets at the same time.

    • @SoumyajitBhattacharyay
      @SoumyajitBhattacharyay  3 года назад +1

      I had explained the same in some other comment here. Let me find that out snd pin it 😛

    • @GauravKawatrakir
      @GauravKawatrakir 3 года назад

      @@SoumyajitBhattacharyay one more question with LLD videos, we need some explanation or usage of Design patterns n SOLID principles in the LLD videos because not everyone use all design pattern in their porjects.

  • @arpitmodani2964
    @arpitmodani2964 3 года назад

    I have a doubt here, as Show class is having CinemaHall so this can be derived that this show is running in which cinema but Audi can't be derived here , like on which Audi the particular show is running.

    • @AkshayKumar-fj9hd
      @AkshayKumar-fj9hd 3 года назад

      According to my understanding : I don't think we even need the CinemaHall in Show. Audi class has list of shows, so from there we can know which Audi is playing what show and, CinemaHall is having list of Audi, from there we can get other information.
      Any thoughts?