Design Google Calendar with
A different kind of LLD video this time for you to brainstorm with us! ❤️
𝐂𝐨𝐝𝐞 𝐅𝐫𝐨𝐦 𝐒𝐜𝐫𝐚𝐭𝐜𝐡 𝐡𝐞𝐫𝐞-
/ @codefromscratch-keert...
𝐂𝐨𝐝𝐞𝐭𝐚𝐥 𝐡𝐞𝐫𝐞-
codetal.in/
To have such discussions, cehck out-
mock.interviewready.io/
User Coupon Code KEERTI to get 𝐝𝐢𝐬𝐜𝐨𝐮𝐧𝐭 on 𝐈𝐧𝐭𝐞𝐫𝐯𝐢𝐞𝐰𝐑𝐞𝐚𝐝𝐲-
get.interviewready.io/
For more such videos, 𝐬𝐮𝐛𝐬𝐜𝐫𝐢𝐛𝐞 here - kzread.info...
I am sure no one needs the link, but you can checkout @gkcs 's channel here-
/ gauravsensei
You can also connect with me on-
𝐈𝐧𝐬𝐭𝐚𝐠𝐫𝐚𝐦 (for not so professional, chill side of my life) - keerti.purs...
𝐓𝐞𝐥𝐞𝐠𝐫𝐚𝐦 Channel - t.me/keertipurswani
𝐓𝐰𝐢𝐭𝐭𝐞𝐫 - KeertiPurswani?s=09
𝐋𝐢𝐧𝐤𝐞𝐝𝐈𝐧 - / keertipurswani
#interviewexperience #mockcodinginterview #softwareengineer
Пікірлер: 78
What a lovely Sunday afternoon rain cup of tea and 2 brilliant youtubers collaborating to make a very interesting system design video cant get better thank you😍
wasted 1 hour here, Interviewer asked me same system design but who will design data flow ?
Why do you zoom your faces? What does viewer get by seeing your faces. Keep your face videos smaller and enlarge the drawing
I work in Outlook Calendar team, handling recurrence is a nightmare for us as well xD. Recurrence is handled by recurrence blob which is present in master item/1 item which is a serialized sting which contains things like start date, end date. And all the events can be expanded just by this recurrence blob. If now suppose one ocuurrence is deleted/modified that will have a separate calendar item, attached to master item. This is how it works in outlook today :)
WHy are you looking down in this video?
In this LLD i think the timezone is missing.User's from different location will not get specific event on time as per their Timezone
Its very rare to see Gaurav struggling this much 😄.
I have received an offer from Walmart and gojek, Which is good to join in this current situation? Please suggest.
@keerti I could also feel the conflicts in gaurav's mind, thinking too fast, happens with me also. Lastly I have gained a lot of respect for google/Teams calender and meeting feature.
We could have a UserManager which will have the user deets and the calendar object and the EventManager can then query the calendar object from the UserManager and then get the list of events, which will follow Single responsibility principle as well!
Generating Event ID:
For handling the recurring problem- when we set an event which is recurring keep all the ids of recurring event same as the first one. If user wants to update a particular event, keep a flag asking do you want to change this in all future events or only for this one- if flag get yes then no problem as it has same id it'll update for all else if only for that one then on updating should change the id of that particular event with a new id. By keeping the same id it'll also help in deleting all recurring events at once(we can use a flag on deletion also).
Gaurav is so much packed with the knowledge that his body falls behind when he's thanking through things.
Great work Keerti. Really appreciate the effort you are putting on both the channels. Managing work and youtube is itself a great feat and that too doing it regularly while maintaining quality is plainly superb. It's been 8 years in IT and watching your videos has motivated me to try learning about DSA. Have started my DSA journey by learning from your other channel.
Good explanation.. I have one doubt here when u say having userid in a map, is it like when server starts reading all user details from db with event metadata and keeping it in memory?
I think a calendar event either can be a normal event or recurring event, we can store recurring event in some other data object or table with start and end data+time, this way once you try to find user events, you can check normal events and recurring event from different sources and plant the details to calendar accordingly. This way you will have more control over calendar events.
May I know which tool you guys you have used in this video?
Manager can maintain queue/priority queue and will have only one event which is about to occur,
Didi, did you do pair programming to practice DSA or study alone?
For recurrence, maybe one ID to identify the parent/series, and one sub ID to identify each individual instance of the recurring meeting.