SDE
Anonymous
5 hrs ago
## Background
It started with a **LinkedIn** message — a Microsoft recruiter asking if I'd be open to interviewing. I was serving my notice period, so it felt worth exploring.
I finished my B.Tech in Computer Science in 2021, then joined a networking/telecom company as a Software Engineer working mostly in C/C++, with some Python, Bash and YANG. After about two and a half years I was ready for a change.
## Round-by-round
*(Five rounds in total.)*
### Round 1 — Online coding
A test link from the recruiter. The problems sat in the easy-to-medium range. Clearing it led to a call to move forward.
### Round 2 — Technical (1 hour)
After introductions, straight into problem solving:
- Reverse a **linked list in groups of size K**, each set reversed in place.
- Find the element in an array appearing more than n/2 times.
### Round 3 — Low-level design (1 hour)
Design a **logging framework** from scratch: multiple log levels (debug, info, error), different appenders attachable per level, and support for changing the log level or adding appenders dynamically at runtime.
### Round 4 — High-level design (1 hour)
Designing a well-known arcade-style game from a system/architecture standpoint, plus a transaction design for an e-commerce scenario.
### Round 5 — Hiring manager (1 hour)
Technical and non-technical:
- A **word chaining** problem — whether a set of words can be linked in sequence, where a word chains to the next only if its last three characters exactly match the first three of the following word.
- The rest went in depth on specific projects from my previous role.
## Verdict
HR called four days after the final round. **Selected.**
Sign in to join the discussion.
Sign in to commentNo comments yet — be the first to respond.