Walmart Interview Experience for Java Developer

Round 1:

Asked us to write working code in JAVA in 90 mins for this question. Didn’t clear this round, but felt that this question was important thereby sharing it.

Events:



  • 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

Implement any 2 API’s:

  1. User API to create, update or cancel their events. Create/Update operation should be successful only in case of no conflicts of resources
  2. Given a user, provide an API to fetch list of event/meetings for the given date range.
  3. Given a Meeting ID, provide an API to give details of invitees with their responses i.e.. ACCEPT, DECLINE etc..
  4. API to find available rooms in specific building at particular time-slot

Expectations:

  1. Code quality should be production ready for merge and deployment
  2. Guidelines have the highest weightage than finishing more api’s
  3. Code should be demo able. create the sample data yourself in a file, test case or main driver program itself(no external data store). Don’t spend time parsing the inputs.
  4. Code should be readable, modular(no monoliths), testable, extensible with proper naming conventions
  5. Code should handle edge cases properly and fail gracefully

Guidelines:

  • Define a detailed object model for entities required by system
  • Make proper use of inheritance, Abstraction, interfaces, exception handling
  • Have proper commenting in code and should follow best coding practices
  • Use design patterns like Builder, Factory, Visitor etc wherever applicable
  • Justify your coding choices i.e.. why did you choose to define a separate function for a feature or why did you not define a constructor for initialising class
  • Define Enums, Singleton classes wherever applicable
  • Separation of concern is addressed
  • Implement unit test cases for key sections of his/her code
  • Use Java 8/7 features like functional interfaces, Auto Closable resources etc..

 

Write your Interview Experience or mail it to contribute@geeksforgeeks.org



My Personal Notes arrow_drop_up

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :
Practice Tags :


1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.