The question that is asked is written below:
Calendar Application
Build a Calendar application. It should support the following functionalities:-
Ability to Create, update, delete an Event
An event would typically consist of {start, end, location, owner. user-list, title}
Events can either be like meetings (with a dedicated location and appropriate guest-list) or as well be like holidays, birthdays, reminders etc.
An event once created, can be either accepted or rejected by the constituent users - if neither it should be in neutral state.
Get Calendar for a user Ui.
Get Event details.
For a given set of users (U1...Un) identify a common free slot of time
Expectations
Code should be demo-able (very important). either by using a main driver program or test cases
Create the sample data yourself. You can put it into a file. test case or main driver program itself
Avoid writing monolithic code
Code should be readable, modular testable, extensive with proper naming conventions. It should be easy to add/remove functionality without rewriting entire codebase
Code should handle edge cases properly and fail gracefully.
Don't use any external data store, all the data should be loaded in the application itself.
Don't spend a lot of time parsing the input.
Guidelines
Please discuss the solution with an interviewer
Input can be read from file or can be hard coded/used
Please do not access Internet for anything EXCEPT syntax
You are free to use the language of your choice.