Status: 4th year of bachelor studies in Software Engineering
Position: Software Engineer Internship
Location: Belgrade, Serbia
Date: August 2020
1st Round:
Sending CV and documents. I was invited for second round which was Online Assesment ( Online coding test ).
2nd Round (Online coding test):
Test had 4 programming tasks and 3 hours to solve them. It was unmonitored, but solve them by yourself, because you won't be able to solve next round if you cheat here.
I dont remember all the questions but they were 2 medium and 2 easy questions. I solved all of them, i think optimally and was invited for 3rd round which was onsite interviews.
3rd Round (Onsite hr-technical interview - last round):
I had 3 interviews in a row, 45 minutes each. They were virtual because of Covid-19, normally they are in their headquarters. Interviews were held in English.
First interview (Senior developer at Havoc department):
I was comfortable during interview, and firstly we talked about my CV, hobbies, etc... Overall it was behavioural part. The next part was technical task, I was asked to write smart memory allocation and deallocation. It was really suprising and I was asked to write code in C++ since I needed pointers. I wasn't quite comfortable writing in C++ since I practiced everything in Java and Java is my main language. However I wrote half-code, half-pseudo, and didnt manage to finish task. Overall it was Ok, I can tell that technical part was bit tricky. I got small feedback that my idea was good and would probably manage to finish it if I had more time :).
Second interview ( Senior software developer working with SQL Databases ):
Second interview was slightly less comfortable. We spent a lot less time on talking about CV, since it was mainly covered with first interviewer. 10 minutes after behavioral part Interviewer gave me technical question. After I solved it almost optimally, he asked me to make it simpler. After I made it simpler he asked me to cover all edge cases ( in my case those were dividing by zero, etc..). So on we got arround 5 minutes left and he changed question constraints, and ask me to do the same task differently. I managed to came up with and idea, but not full solution. We ran out of time so interview ended here.
Third interview ( Senior developer at Havoc department) :
Third interview was all technical without behavioural part. I was asked mainly questions about linked lists. Also interviewer asked me to code it in C++ :(. I've done 3 or 4 different tasks with interviewer hints, which was overall maybe little slower then they were expecting. Overall we had good communication and I thought I did it well.
I practiced arround 100 leetcode questions ( 30 easy, 60 medium , 10 hard),therefor felt comfortable while working on tasks. I got rejected after 7 days of waiting. Overall it was good expirience and I think reason for rejection was bad knowledge of syntax C++ and maybe slower solving of tasks with bigger amount of hints.
Be the best version of yourself, communicate with interviewers and smile. Always develop yourself and don't be down if you get rejected. Good luck!