After applying via their careers page, I was contacted by one of the recruiters, and we scheduled a screening call. It went well, and they also scheduled the first round of the technical interview.
The communication was smooth and clear. We also had some follow-ups directly via LinkedIn.
After that, the process was taken over by somebody else, and it just became too complex and non-transparent. There was one person scheduling the next round of interviews, another person who was supposed to be my dedicated recruiter, and, in the end, yet another interested party.
When I was asked to provide my availability, I did, and I also asked clarifying questions about the interview, etc., but they were never answered.
Altogether, I had four technical interviews. All were basically the same apart from the technical task itself: talking about myself, my achievements, and so on. I didn't get much information about the job itself; I just had a very basic idea from the job description. I had to ask several questions to get a sense of what it was about. Honestly, I was a bit tired of talking about the same things over and over, and I just wanted it to be over.
I somehow thought the hiring manager was my possible future manager, but I found out during the 3rd interview with him that he was just a hiring manager. The person from my 2nd round was the actual manager looking for someone to join his team. I wish someone had told me that earlier so I could have asked some management-related questions.
Asking questions was a topic in itself. In the 1st round, I had time to ask them only after the allocated time was up, but at least the interviewer was willing to stay longer and answer anything for me. Unfortunately, I couldn't stay longer as I had other commitments.
In the 3rd round with that hiring manager, I felt that my questions were actually bothering him. He wasn't very pleasant, and from his tone, I felt he was not willing to continue the interview and seemed like he had something better to do. At least, I think I got most of the crucial questions about the job answered in the last round.
It all took around 1.5 months. After a week without any response, I thought I had been ghosted, as others have pointed out here, but then, after 11 days, I got an automatic rejection email.
I was not bothered about not being accepted (as I also was not very convinced that I wanted to join them), but I was bothered that I didn't get any feedback. The next day, I received another automated email asking me to provide feedback about my experience with them. I replied to that email, added my recruiter, and asked for feedback. I got a reply that yet another person could give me that, and they cc'd her. A few days passed, and I heard nothing from her, so I asked a second time. Then, she finally replied but wanted to meet. So, we agreed on a date and met.
At first, it looked like she wanted me to apply for other jobs, but after that, she read feedback from all four interviewers. After hearing all that feedback, I thought: I'd hire myself. There was so much positive information—how they liked me, my attitude, my way of thinking, how I approached the tasks, and so on—with only a few small things that could have been better.
I actually got 3 "yes" votes and 1 "no" from that not-so-pleasant hiring manager. The very reason I didn't get an offer was that I apparently don't meet their Senior level standards, which is at Microsoft level 63. Rather, they rated me as level 62, which doesn't have any title but is something between SDE II and Senior.
I'm not mad nor disappointed; I am happy that I got that feedback eventually.
Pseudo-implement a method that returns a list of recommended books based on the likes given by my friends. This was intended to be part of a social media platform. The implementation itself was quite easy, but there were ongoing discussions about its complexity, potential pitfalls, ways to improve it, and how to handle errors.
Your colleague has an interface with 10 methods and a single implementation, in which 2 of those methods are left empty because they aren't needed or whatever. The question is: what would you suggest to him?
A greenfield system design discussion about creating a tiny URL service. We discussed how to store the URLs, how to split the system into multiple components, and the key considerations to be aware of.
You have two classes, and you always want to create class A when you create class B. The discussion that followed felt very weird, to say the least. At times, it was hard to understand what the interviewer was asking, and he also seemed a bit lost. For example, he didn’t seem to fully understand what static fields are or how they work. I don’t know—maybe it was because it was already the 3rd interview, and I was tired of it all, but it felt like we were both somewhere else, talking about completely different things.
The following metrics were computed from 6 interview experiences for the Microsoft Senior Software Engineer role in Prague, Czech Republic.
Microsoft's interview process for their Senior Software Engineer roles in Prague, Czech Republic is fairly selective, failing a large portion of engineers who go through it.
Candidates reported having very good feelings for Microsoft's Senior Software Engineer interview process in Prague, Czech Republic.