APT Portfolio Interview Experience – Junior/middle C++ developer
I was contacted by an external headhunter company (which specializes in trading recruiting) for the opportunity of junior/middle C++ developer in Amsterdam. First, we had a general conversation about the position, company, requirements, etc. After that, I’ve sent my CV and received a link to HackerRank test. There were 4 problems. I would say all of them medium-hard on leetcode. I remember only 2 of them:
- Network packets coming to the client, some of them might be out of order. You have to implement a function which accepts packets and write them to the std::cout in the correct order on the fly.
- Some problems for the disjoint set union. The solution is quite straightforward if you’re familiar with DSU.
I got a response quite quickly, and they invited me to the interview.
Interview with Senior Developer: 1-hour interviewed by a senior dev.
- A lot of questions about my experience. Focusing on my previous C++ projects, what optimizations did we do, what tools did we use, C++ features, etc.
- CPU architecture. Its main components and how they work – alu, cu, ram, virtual memory, tlb. How a multicore system share cache. What’s speculative execution and branch prediction.
- C++ questions: virtual functions, templates, SFINAE, template functions, enable_if.
No live coding part here.
Interview with Project LeadL: Questions about operating system – why we need kernel and user mode, why system calls are slow, what is interrupt, what happens during an interrupt.
Also a lot of questions about my experience.
Interview with CTO (final): Several questions about my motivation in this role, behavioural questions, again my experience. I didn’t remember well technical questions, some of them:
- If you would implement a driver for an external computing device, how would you implement data exchange (in case speed is the main priority)
- The naive implementation of memcpy. How would you optimize it?
void my_memcpy(char* from, char* to, int count) { for (int i = 0; i < count; i++) { to[i] = from[i]; } }
My answer: unwind loop and use SSE instructions. In the end, I asked a couple of questions about the company.
Results: After 3 days of waiting I contacted my headhunter from an external company, he said no decision yet, it should be next week. Next week I sent an email again, but didn’t get a response in 2 days and called him on mobile. He said the APT is having another candidate interview and I should wait more, “no worries, they were positive about you“. On 3rd week he was completely ignoring my emails. I emailed APT’s HR directly. Her words “no decision yet” started freaking me out. After more than a month of waiting, I texted HR again and she answered that unfortunately, they decided not to go with my candidacy. No feedback, no explanations, nothing. I asked for the feedback – what went well and what didn’t. They agree to compose it but didn’t do…
The entire process lasted for around 3 months. As a result, many hours were spent on it but no feedback received. Poor interview experience.
Contact Us