I applied by sending an email to the address specified on the MDCS (Microsoft Development Center Serbia) website. About two weeks later, I received an email inviting me to a test organized at one of Belgrade's high schools, with a request to confirm my attendance.
The test was held at Mathematical Gymnasium, and there were over 100 people present by my estimate, mostly from Serbia, but also a few from neighboring countries. The test consisted of:
Attendees were allowed to get up from their seats whenever they liked, have some of the served food and drink, and even talk to each other in the hallways.
Around two weeks later, I was invited to a live interview at the MDCS offices in Belgrade. On the website, I read that there were supposed to be four one-hour interviews, but I only had three.
During the first interview, I was given a problem and discussed possible solutions until the optimal solution was found. After that, I was asked to write code for the described solution. After I finished writing the code, the interviewer told me he could see a bug. I am assuming now that the task was to write down test cases on the board, which I tried to do without writing anything down and without communicating my thought process because I could not find anything wrong with the code. After time was up, the interviewer pointed to a random part of the code and said the bug was there. I then described the proper purpose of that part of the code, to which he replied, "I guess I was wrong, there was no bug," and left. I am assuming that is how I failed the part of the interview concerned with test cases. The interviewer seemed satisfied with the course of the interview until the bug was mentioned.
After that came the second interviewer, who started with standard HR questions like, "Why did you decide to apply here? Why do you want to be a software engineer?" This was my first interview ever, and I thought those questions were a joke that no serious company would ever ask. Naturally, I had no good answers. Being mentally thrown off balance by these questions, I could not answer rather simple questions concerning the manipulation of lists, so this interview did not go well.
At this point, I realized I had failed and decided to just relax and have fun for the remaining interviews. Luckily, the next interviewer apparently had the same idea. He came in good spirits and presented several quite fun and not very difficult problems. After writing the code for the last of the problems, he thanked me for coming and concluded the interview.
I was told to fix the bug in the code without any bugs.
The following metrics were computed from 3 interview experiences for the Microsoft Software Development Engineer role in Belgrade, Serbia.
Microsoft's interview process for their Software Development Engineer roles in Belgrade, Serbia is fairly selective, failing a large portion of engineers who go through it.
Candidates reported having very good feelings for Microsoft's Software Development Engineer interview process in Belgrade, Serbia.