Software Engineer 2 UI Interview at Microsoft
Overview
Microsoft, a global technology leader with a significant presence in Bangalore through its India Development Center (IDC), hires Software Engineers II for frontend engineering roles. The position focuses on building user interfaces and web applications using modern JavaScript frameworks and technologies. Candidates typically need strong fundamentals in JavaScript, React, web performance, and data structures and algorithms.
The candidate had approximately 4 years of experience and secured the role through Instahyre, a popular job portal in India, after having their profile actively listed for opportunities.
Interview Process
The interview process at Microsoft for a Software Engineer II frontend role consisted of six distinct rounds spanning approximately 6.5 hours:
| Round | Type | Duration | |-------|------|----------| | 1 | Machine Coding | 2 hours | | 2 | JavaScript Deep Dive | 1 hour | | 3 | System Design (HLD + LLD) | 1 hour | | 4 | Problem Solving (PSDS) | 1 hour | | 5 | Manager Round (Bar Raiser) | 1 hour | | 6 | HR Round | 30 minutes |
Microsoft does not assign levels based solely on years of experience. Candidates with 4 years of experience have been offered L62, while those with 8 years have received L61. The level ultimately depends on interview performance.
Technical Rounds
Round 1: Machine Coding (2 Hours)
The first technical round evaluated practical coding abilities through a hands-on problem-solving task. Candidates were expected to build functional components such as:
- Email Client (like MS Outlook)
- Chat Interface (like MS Teams)
- Notification Interface
Key expectations and evaluation criteria:
- Clarify requirements first: Do not jump to writing code without thoroughly understanding the question. Ask clarifying questions about jargons or ambiguous terms.
- Semantic HTML: Write proper HTML with appropriate tags—avoid making everything a
div. Semantic markup demonstrates frontend fundamentals. - Choose the right DOM manipulation approach: Understand trade-offs. Using
document.createElement()for complex DOM trees can be time-consuming. - Modern CSS: Be proficient with flexbox and grid for creating responsive layouts.
- Use modern JavaScript: Implement ES6+ and ES2020 concepts where appropriate.
- Incremental development: Build the application step-by-step and ensure the final code is functional.
Original Source
This experience was originally published on dev.to. Support the author by visiting the original post.
Read on dev.to