As you move up in ranks, the pay disparity between Microsoft and its competitors (Google, Amazon, Facebook) starts to grow, with Microsoft developers making substantially less than their counterparts. For some, this is okay if they value lifestyle more than career progression. For others, it's common to jump ship to another company.
As with any other big company, there's layers and layers of bureaucracy. For most mature teams, all work will be carefully planned months in advance, specced, discussed in multiple team meetings, with dedicated PMs and testers. In the beginning this is good because it teaches the absolute best, gold standard way to develop large software. After a while, it can become very dull and repetitive though.
The annual review system, which invariably involves peer feedback and encourages backstabbing peers, can be maddening. Even after spending several years here, most people will find it's hard to break off of the railroaded promotion system and really shine as a superstar, just due to the seniority-based culture and siloed nature of the work (you don't have the expertise to move into a management role or more technical area that's already being done by someone more senior, but by never doing that role you'll never build expertise).
Also your experience is hugely, hugely team dependent. Local team culture matters way more than anything that happens at top management level. Two employees at two different teams can have drastically different lives. Maybe the things I list as pros are actually cons in your team, and vice versa. Unfortunately there's no real way to tell what it'll be like working on a team until you actually start working there. You can gauge the number of young vs old developers to get a sense of the culture though.
Despite this Microsoft is still a fantastic company, no regrets after having worked here for 6 years. The opportunity to work alongside world-class engineers to ship code that all modern versions of Windows use has been a privilege.