- We're trying to create a simulation of an Air Conditioner and its remote.
- Create a program that prints "AC running at {$currentTemp} every {$interval} seconds" (bonus points if the embedded vars are configurable).
- Create a companion AC Remote program, which at random intervals, prints "Remote currently in IR range" or "Remote currently not in IR range"
- This AC Remote program also needs to receive a command from time to time, to increase or decrease the temperature.
- Both the AC and the Remote programs need to support a "current temperature" query.
- If the Remote is out of range, the temp increase will only be on the remote.
- The temperature will sync with the AC only when a command is issued to the remote AND it is in IR range.
- The "UI" and implementation details are completely up to the programmer - UI, Web or anything exotic as well, as long as Interviewers can run it somehow and observe outputs.
Things that will be tested by this exercise:
- Ability to envision a problem and structure a logical approach to solving it.
- Code hygiene and good habits (linting and unit tests).
- Ability around Web or Console UIs (most likely places for this to be implemented with).
- Architecture and usage of message passing servers, etc (based on their approach).