I was given a take-home test with a 3-hour time limit, which I finished without any issues. After that, I was invited to a live coding round. The interviewer was a “Staff” iOS Engineer with way less experience than me.
During the interview, I finished all the tasks super quickly..so quickly that I even pointed out and explained problems in their setup before the interviewer mentioned them as part of the next task. I wrapped everything up with at least 30 minutes to spare. The last task was to write a unit test, which I completed too. But for some reason, the test didn’t call the mocked object (SUT). The interviewer couldn’t figure out the issue either but just acted like they knew and ended the session without saying much.The next day, I got a rejection email and feedback I got said I didn’t complete the unit test. After looking into it myself, I realised the problem was with how they initialised a object in their AppDelegate, which caused side effects that interfered with the mock object in my test. It wasn’t my fault! their code was the issue.
Considering I finished all the other tasks so quickly, spotted extra issues in their system, and wrote a correct unit test despite the problem, it’s ridiculous that this was the reason for rejection. Honestly, it felt like the unit test was just an excuse to fail someone, no matter how well they performed. This was hands-down one of the most disappointing and unfair interview experiences I’ve had.