It was a very positive experience; the interviews were very pleasant. I underwent 4 interviews for a Full-stack Software Engineer position:
1- Screening interview: General questions, such as knowledge about the latest Microsoft news and whether I read about the team I was interviewing for.
2- Front-end interview: Basic Front-end questions, like how to center a div using CSS, fundamental JavaScript concepts (Closure, Hoisting, the difference between == and ===, the difference between data types [var, let, const]) + 2 technical questions. The first question involved code, and I had to guess the output. The second question required implementing the useMemo() React hook in JavaScript (using closure).
3- Backend interview: General questions about backend principles and in-depth inquiries about projects. They wanted to ensure I truly understood my work. Then, they gave me 2 technical questions: First, given two strings (string, substring), I needed to check if the string contained the substring. Second, the same question as the first, but I had to check if the string contains the substring even if it's in a different order.
4- Technical interview with the Hiring Manager: Similar to previous interviews, but in this one, the interviewer delved deeply into my previous role, asking about my exact responsibilities, how the team operated, how tasks were managed, and details like code testing before production deployment. They also asked about challenges in my previous position and how I overcame them. Then, they presented a system design question: Design a cache system that handles two requirements (maximum size N, and each item in the cache has a maximum time T before removal).
Overall, it was an excellent experience, and I am proud to be part of such a process.