I applied through Microsoft's website. It took seven weeks before a recruiter reached out to me to schedule the first interview, which was a one-hour webcam-on, live-coding technical interview.
The interview featured two generic LeetCode-type questions. I declined to answer the first and attempted the second, but ran out of time. There was a hard stop for the interviewer.
The interviewer was friendly and very smart, as you might expect from an engineer at Microsoft.
This interview affirmed that larger tech companies still do not hire for the role they post (this one was looking for someone with game development experience) and that a couple of months of practicing/memorizing LeetCode questions daily is still the best way to impress and get a job at larger tech companies.
The outdated arguments for using LeetCode-based interviews – "but we want to see how you think" and "but if you can answer these questions, then you can definitely solve the problems you'll encounter at work" – are still a metastasizing cancer to the tech industry.
This comes from my opinion that the overwhelming majority of engineers don't use LeetCode-level solutions in any part of their daily work and never will. I think it goes unsaid, but it's unrealistic to expect someone looking for full-time work to spew out a solution to some made-up 2D array traversal question and provide optimizations to it in real-time while being watched and judged, especially in under an hour.
In every other industry besides software engineering, if I want to hire someone for a job, I'd ask them to show why they think they can do the job.
As a crude example, if I wanted to hire someone to build me a bridge, I'd start by asking them to show me past bridges they've built and talk about them. I'd ask them to show me some systems that made up past bridges and how they worked together. I'd ask them to talk about how they might build the bridge that I'm interested in and why their past experiences lead them to believe they'd be successful in my project.
I wouldn't ask them, "How much concrete is necessary to provide stability for my made-up scenario of some monkey bars at a children's jungle gym if the earth was theoretically tilted at an angle of 27.9847 degrees relative to the plane of its orbit, and the input parameters of [max kids on the monkey bars at once = n] where [each kid is an average of K pounds] and the [average force exerted by each kid is 27 Newtons] were taken into consideration."
Why do we do this for software engineers?
There's no shortage of talented software engineers, as these companies would lead you to believe. There's a fundamental misunderstanding of how to test for talented software engineers.
Something about a 2D array traversal.
Some generic LeetCode question I've already forgotten.
The following metrics were computed from 72 interview experiences for the Microsoft Software Engineer II role in United States.
Microsoft's interview process for their Software Engineer II roles in the United States is fairly selective, failing a large portion of engineers who go through it.
Candidates reported having very good feelings for Microsoft's Software Engineer II interview process in United States.