I really liked the Redmond campus. The fact that it's located in the suburbs is a big advantage; usually, you need to move to a city to work for a good company. They have good benefits, like a free transportation system, cheap employee restaurants, good health benefits, and good compensation. I really liked that they have private offices in many buildings across the campus; unfortunately, they are slowly moving towards open space now.
After my internship, I received a full-time offer from Microsoft. As a non-US citizen, I needed an H1B visa to work in the US.
After I finished my internship, I had to wait for around 10 months to finally find out that my petition was not selected in the H1B lottery. So there were no options for me to start working in the US in 2016.
Microsoft offered me a placement in Canada instead, with a completely new compensation. They also said I would be working remotely with a Redmond team. I didn't really like the perspective of remote work from Canada for around 2 years, so eventually, I declined the offer.
I was really surprised that they couldn't offer a position in Europe where they also have several development centers, e.g., Dublin. Another thing I did not like was the fact that it was nearly impossible to get a full-time offer for a different team than the one I interned with.
The team seemed rather uninteresting to me, and I figured I would get bored there pretty quickly as there probably would not be much opportunity for me to learn.
Overall, I enjoyed my time at Microsoft, but I really think they should do something about their hiring process for people from outside of the US.
The company is very bureaucratic in many aspects. Also, since Microsoft so heavily hires people from all over the world, the company should be more flexible in terms of teams and locations, as US work authorization gets more and more difficult to obtain.
Very straightforward, two back-to-back thirty-minute technical interviews that had a combination of LeetCode easy and medium questions, along with some behavioral questions that were sprinkled in there.
One OA, then a final round. The final round is two interviews, each 45 minutes long. Basically all technical. The first one was implementing Dijkstra's from scratch. The other one was a typical medium string question using two pointers.
Pretty nice overall process. It was very standard, and the process was quick after the OA and interviews. The interview consisted of a standard behavioral assessment and a pretty easy LeetCode medium implementation. I received the offer.
Very straightforward, two back-to-back thirty-minute technical interviews that had a combination of LeetCode easy and medium questions, along with some behavioral questions that were sprinkled in there.
One OA, then a final round. The final round is two interviews, each 45 minutes long. Basically all technical. The first one was implementing Dijkstra's from scratch. The other one was a typical medium string question using two pointers.
Pretty nice overall process. It was very standard, and the process was quick after the OA and interviews. The interview consisted of a standard behavioral assessment and a pretty easy LeetCode medium implementation. I received the offer.