The first interview was with one of their HR staff, Eva. Despite being unwell, she was warm and the interview went smoothly.
Afterward, they sent me a task. It involved implementing a solution for a complex TSP problem using several microservices.
Following is their response:
Positive
1) The solution is complete in terms of the functionality and features it implements.
2) The parts that are tested cover sad-flows as well as some happy-flows.
Points of improvement
1) The code contains a lot of duplication for the different implemented cases. A cleaner solution would have been to put common code in an abstract class and use it as much as possible.
2) The implementation of the different methods in helpers.py do not re-use logic but instead re-implement the distance calculation, and also contain bugs in them (time = distance / speed, not speed / distance).
3) The messaging service is implemented in an async way, but the API is not. Making both sync or async looks like a more logical step.
4) The code uses typing and good formatting habits in some places, but skips it in some places where typing would make the code a lot easier to understand.
Overall, they rejected me due to the issues mentioned in the improvement section. Although the API section was optional and I completed it, they did not take it into consideration.