It was an assignment, not an interview. They asked me to implement two rather easy assignments in two weeks. I implemented the first one in C++ using valarray(obviously the best choice for both speed and efficiency in fast mathematics) in TDD fashion using GTest(no error is possible) and the second one in python with a semi-:KMeans clustering algorithm with acceptable efficiency and speed(enough points in less than 0.4 seconds). I sent back the solutions in two days!!
I received no answers for more than 2 weeks, so I sent a follow-up email and received a very vague, unclear, Irrelevant answer:
"We have received many applications for this position and I am very sorry to tell you that we cannot shortlist your application at this point. Please accept my apologies for not giving you more favorable news.
We appreciate your engagement, however, we have to focus on candidates with a deeper knowledge in C++ development, python, and map creation and hence yield higher performance during an early stage. "
Is it so hard to send such a nonsense answer in just two or three days?! ( I am sure the solution was good enough for them to see my depth of C++ knowledge, besides, the assignment did not involve any python and/or map creation related questions at all, even though I implemented a semi k-means clustering algorithm using python to show my python abilities) Is it so hard to be at least clear and honest about your problem with the applicant(nationality, etc.)?! or do you just need your questions to be answered to get new ideas?
Interview questions [1]
Question 1
No1:
We kindly ask you to write two classes in C++ and send your code to us. One class shall be a matrix class and one shall be a vector class.
Matrices and vectors shall be able to be multiplied.
Addition and scalar multiplication shall be supported as well.
No linear algebra functions are sought for (e.g. inverse, linear solving, svd etc.).
The focus is on correctness, efficiency, and a clean and convincing software design - show us your C++ skills ;-)
No 2:
You are given a gray scale image which represent the oil distribution in a certain area (pixel value 0: 0 liters of oil, pixel value 255: 255 liters of oil).
You can place 64 "drills" in this area. Each drill will extract the oil in a circular area of radius 25 pixels.
Please try to find the optimal distribution for the drills, for each of the three images in this archive. Provide your solution as three text files with drill center coordinates, like the example file "drilling_plan_example.txt".
You can check out the program "evaluate_plan.py" in this archive. It will be used used to evaluate your solution.
I applied online. The process took 4 months. I interviewed at Atlatec in Sept 2020
Interview
Two rounds of programming challenges were presented, followed by an virtual face-to-face interview where they mostly went over your solutions to the two problems. The whole process was very slow, but their HR did a good job making you feel like you were being treated fairly by their review process.
Interview questions [1]
Question 1
Write a vector and matrix class in C++ that supports vector/matrix multiplication, addition, and scalar multiplication.