I was contacted by a recruiter, while not looking for a job, I am more or less happy with my current position. I was always fascinated with Tesla and work of Elon Musk, so I thought I'd explore it. To note I have over 20 years experience in the industry, and consider myself very senior level, programming in C++ and system level. I work in self-driving car industry, specializing in camera and imaging. I follow and know the work of Tesla at advanced level.
I haven't done a job interview for about 3 years.
After a couple of phone calls with the recruiter I was setup with a phone interview, I thought it'd be a less formal phone screen, however a day before I was sent a codepad link for a coding challenge I was supposed to complete during the interview slot (45 minutes ). In my years I've done a lot of those coding challenges from both sides of the interview process, so I was not very worried.
Additionally the recruiter sent me a link with another challenge, which was supposed to be much harder, it was said once I open the link I'd be timed for 5 hours and will need to submit responses within this limit. I didn't open the second link since I didn't have time at that moment before the phone screen happened.
During the phone interview, I was asked to describe myself which I did for about 20-25 minutes, talking mostly myself, the other guy didn't stop me or asked a lot of question. I thought it was fine. Then we proceeded to the coding challenge. He copied the sample code into the codepad so I can see it now. The code was a piece in C++ that created a tree like structure, and the task was to implement a print function to output a value from each node of the tree in a certain way. I took about 3-5 minutes to examine the code so I could understand it completely (it was about 2.5 pages I think). Then I started to write the code. My original thought was that I could employ a single node pointer to walk through the tree, however I quickly realized this would not work. I was commenting out loud my thought process. I discuss with the interviewed that we'd need to copy part or the whole tree structure in different order to succeed, he said it may be fine, but we'd want to save memory, so full tree copy would not be advisable. I took about 3-5 minutes pause and tried to think about how to approach the solution, after that I quickly drafted a code that used 2 vectors to traverse through the tree "current" and "next" level. We continued to talk and I said it should probably work, the guy said let's run it. This first run produced a endless loop, and I quickly realized a mistake, where I forgot to clear one of the vectors. I quickly corrected the problem, and second run produced correct output. Overall I think I took about 15 minutes to solve the challenge, at which point we were left with about 5 minutes of time and the guy asked me if I had any questions for him. I asked to describe the company, and culture, etc, which he did. Then he said he had to go and we ended the call. This was on Friday.
Then I wanted to complete the other 5 question challenge over the weekend, however due to family matters I couldn't find this window. Finally I tried to do it during the next week, but at this point I discovered that link was no longer valid. I wrote to the recruiter about it and received no answer during the next few days.
At this point I have to conclude I failed the coding part, so they just terminated the process. Thinking about it I'd have to assume the interviewer was looking for me to implement the solution in a more classic way using a standard queue instead of 2 vectors. Yes, it would be a more standard computer science approach, but it didn't particularly come to me at the time, and thinking about my code I find it was as efficient as the classic approach. I conclude here that the guy didn't allow that flexibility in the interview process - he wanted to see a solution exactly as he was expecting, without any analysis. I think it is a bad approach, we should have looked at the code and discussed, and he could point out it to me. But he just said it is fine and we finished.
I am not happy that there was no feedback from Tesla about it. I don't like when companies do it this way, I think they should respect the time candidates spend and drop a quick note.