0% found this document useful (0 votes)
5 views1 page

(LLD) (Interview Questions) Design Google Calendar

The document outlines the design requirements for a calendar application similar to Google's Calendar. Key functionalities include creating, updating, and deleting events, retrieving user calendars, accessing event details, and identifying common free time slots for users. The code should be modular, readable, and able to handle edge cases without relying on external data storage.

Uploaded by

pramodkuppa1995
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views1 page

(LLD) (Interview Questions) Design Google Calendar

The document outlines the design requirements for a calendar application similar to Google's Calendar. Key functionalities include creating, updating, and deleting events, retrieving user calendars, accessing event details, and identifying common free time slots for users. The code should be modular, readable, and able to handle edge cases without relying on external data storage.

Uploaded by

pramodkuppa1995
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Design a calendar Application (similar on lines with Google's Calendar)

It should support the following functionalities:

1.​ Ability to create, update, delete an Event​


a. An event would typically consist of {start, end, location, Owner, user-list, title}.​
b. Events can either be like meetings(with a dedicated location and appropriate guest-list)
or as well be like holidays, birthdays, reminders etc.​
c. An event once created, can be either accepted or rejected by the constituent users - if
neither it should be in neutral state.
2.​ Get Calendar for a user Ui
3.​ Get Event details.
4.​ For a given set of users[U1, U2,....Un] identity a common free slot of time.

Expectations

1.​ Code should a demo able, either by using a main driver program or test cases.
2.​ Create the sample data yourself. you can put it into a file, test case or main driver
program itself.
3.​ Avoid writing monolithic code.
4.​ Code should be readable, modular, testable, extensible with proper naming conventions.
It should be easy to add/remove functionality without rewriting entire codebase.
5.​ Code should handle edge cases properly and fail gracefully.
6.​ Don't use any external data store, all the data should be loaded in application itself.
7.​ Don't spend lot of time in parsing the input.

Guidelines
Input can be read from file or can be hard coded/used.

You might also like