Generic Information:
Please don’t try to solve the problem to make it just work. Instead follow best practices of OOAD and model the system following SOLID principles. Having automated Unit Tests would get you additional points. By the way please use an Object Oriented language like C#, Java or C++ to submit your answers.
Making assumptions about requirements and fill the assumptions that you made when you submit your solutions.
Question : Power Management Module for Electric Cars
Create a Power management module for Electric Cars:
As a developer of high level software that controls the Car, you are expected to create the Power Management module that can do the following:
Diagnostics Information:
Record the number of Battery Charge/Discharge cycles. A full Charge/Discharge cycle is when the battery is fully charged to 100% and Discharged to 0%. 60% to 90% charge is 30% discharging it from 90% to 20% is another 70%, yes this will be 100% battery cycle. You can find more about it with an animation at the end of the page in the following link: https://www.apple.com/batteries/why-lithium-ion/
Overall Capacity of the Battery in kW
Current Capacity of the Battery in kW
Learning Mode at Factory:
Based on 100km Drive in Factory defined path and record the kW used in that drive as a baseline for estimation. For simplicity just record the average kW/km.
The same number is estimated based on 1, 2, 3, 4 passengers in the Car and saved as baseline. (Assume the number of passengers can be obtained from the Platform team’s API)
While the user is driving:
Update the baseline numbers for every 100km of user driving the car. Use running average so as not to lose the user’s driving behavior.
Alert user if there is not enough battery to complete the trip.
APIs available for your consumption:
The team responsible for making the batteries have come up with an API interface for querying batteries that are added to the Cars. And it contains the following APIs:
# of Cells configured in the model
Capacity of Each Cell in kW
Temperature of the Battery
The team for platform has come up an API for:
No of passengers in the car.
The mapping team provide api for:
Distance to travel.
Please create dummy implementations for the above APIs to complete your work.


电子邮件地址不会被公开。 必填项已用*标注