A consumer can schedule a request to https://myservice.com/api/items/_delete to be executed on Sunday at 1am. On Sunday at 1am the scheduling system must execute the HTTP request.
Requirements
The system must:
- Provide an interface for scheduling HTTP requests at a specified time.
- Execute an HTTP request at a specified time.
- Initial release expects 10 scheduling requests per minute.
FR -
- Provide an interface for scheduling HTTP requests at a specified time.
- Execute an HTTP request at a specified time.
- Initial release expects 10 scheduling requests per minute.
NFR
Scalling, availability, reliable - Only discussion
There are many follow up questions, few are below which I remember.
- How the back-end will interact with Front-end (GUI), json request & response body
- How will you handle different timezones?
- How users will know the GUI timezone and what would be the timezone in the backend system.
- How will you handle if the system crash and restart to avoid duplicate requests.
My note : I was able to explain the system design approach and answered all follow up questions but I realized it didn't meet the interviewer's expectation or approach he was looking for.
Location - US Remote
Level - P5