Cracking Microsoft’s Dynamic Programming Challenge: A Software Engineer’s Journey

Microsoft | Software Engineer | Interview Experience

Interview Date: Not specified
Result: Not specified
Difficulty: Not specified

Interview Process

During my interview with Microsoft, I was asked to solve a problem using dynamic programming. The question was to find the maximum number of coins that can be collected from a pile of coins arranged in increasing order. Initially, I had a tough time understanding the problem statement, but after a few clarifications from the interviewer, I was able to break down the problem effectively.

The interview lasted for about 45 minutes, during which I had to explain my thought process and the code I was writing in real-time. My interviewer was supportive and guided me through some of the edge cases that I had missed initially. Throughout the interview, I was also asked behavioral questions where I had to describe situations from my past experiences.

Technical Questions

  1. Maximum Coins (Dynamic Programming)
  2. Tree Distance Sum Problem (Graph, DFS)

Tips & Insights

I felt more confident about my coding skills based on my performance, and I am hopeful about the results as I feel I performed well overall!