Open In App

Microsoft Interview Experience for Site Reliability Engineering for Internship

Improve
Improve
Like Article
Like
Save
Share
Report

Recently, I went through an interview for the role of Site Reliability Engineering Intern at Microsoft. It was a fairly new role for me and I was not prepared for this one. Microsoft visited our campus and I was shortlisted to give the Online Assessment Round along with a lot of other people.

Online Assessment Round: DIFFICULTY: Easy – Medium. This round was based on Codility and had two questions. The questions were fairly simple but we were told to be vigilant about the edge cases etc. as we were only allowed to submit once and the verdict was not known.

  • Given a string, find the length of the largest substring with unique characters.
  • You are given two arrays A and B, you have to construct an Array C, where C[i] can be A[i] or B[i]. What is the minimum possible MEX that you can achieve for C?

Now the first question is very easy and most people did it correctly, though it had some interesting edge cases. The second question is tricky and most people got it wrong. I was able to solve both of these (at least that’s what I think :p).

Result: 17 people were shortlisted for the interview round.

Interview Round 1 :DIFFICULTY: Medium. This interview was scheduled 2 days after the online assessment and was held at 9 am. We were told by the recruiter that it will consist of Problem Solving Questions along with Computer Science Fundamentals. I was given only one Problem, though some of the other candidates were asked about theoretical subjects. The round started with my basic introduction then we moved to the coding question.

You are given an array A, A[i] is the number of steps you can go forward from i. Is it possible to reach the end of the array?
Follow Up: What is the minimum number of steps you would require to reach the end?

I was sure I could solve this using recursion, so I told him that approach and he was quite satisfied. I was about to tell him the dynamic programming optimization, but he stopped me and asked about the time complexity of this approach first. I said it would be exponential. He asked me to derive the exact time complexity and tell him how I did it. I used the Recursive Tree Method and calculated it.

At this point, he was pretty much impressed and the only job was to code the recursive solution. I did code it and he asked a few follow-ups like what happens when you do INT_MAX + 1 and why. Can you give the binary logic for this? I was comfortable with these questions.

In the end, I was going to memoize my code, but he was in a hurry and he was satisfied with this so he told me not to.

Result: Shortlisted. 10 people were shortlisted for the next round.

Interview Round 2 : DIFFICULTY: Easy – Medium. This round was taken by some senior employee of Microsoft (not sure about his designation). We were told this round would test our potential and passion for the SRE role as I had no prior experience with SRE, it was mostly potential that was tested.

The round started without any introduction, I was asked about my voluntary experiences. There was a discussion on the projects I had on my resume, we went through the codebase. Later, I was told that there is a coding question here as well.

You are given a string, which looks like 2[A3[B]C], you have to expand this to ABBBCABBBC.

Now, this question might be easy, I am unsure of the difficulty, but I had not seen a similar question before, so I took a minute or two to think, and then came up with a solution using a stack. I told him the approach and he was satisfied and asked me to code it. I coded the solution, it worked perfectly. There were a few behavioral questions, I asked a few questions to him about the job profile and the interview was over.

Final Verdict: Selected along with 2 other people.
 


Last Updated : 05 Apr, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads