I applied through a recruiter. The process took 1 day. I interviewed at Microsoft (Hyderābād) in Feb 2012
Interview
I had a one-on-one interview last week. The interview started on time and a very senior engineer spoke with me. We started with my experience and then he asked me to code this problem:
Find the probability of legal moves made by a knight in a NxN matrix in m steps.
I had heard this problem for the first time and I decided to give my best shot at it. I started thinking aloud and was exploring if I can use combinatorial maths to solve the problem. Later on I tried to find a pattern but that didnt succeed either. Then I moved on to applying dynamic programming technique by which time interviewer interrupted and told me to use something simpler and start from a specific point in matrix (btw, I have figured out a generic algo using dynamic programming now). Then I took a step back and modeled the problem using a tree (and coordinate geometry) where each node specifies a position in matrix . Also, each node would know if its a "legal" node or not based on its coordinates. Using DFS, we can calculate the number of legal moves and divide by the total number of legal moves. The complexity of this algo was exponential but it worked :-)
After figuring out the algo, I was asked to write a working code and I was already running out of time. I quickly wrote the classes and the main method. For brevity of time, I cut out the input validations and just wrote the meat of the logic. Interviewer asked me if I can think of any optimizations. I had many ideas floating in my head but they were very fluid. After all, it wasn't an easy problem and as far as I am concerned, it could be a Master's thesis problem as I was hearing this problem for the first time :-)
Interviewer was very polite and I enjoyed speaking with him. But I got a decline from Microsoft :-( I am not sure what the reason could be but I am just wondering that are there no marks for original thinking on the feet, even if the solution wasn't the most optimal? I can bet that if someone even in microsoft is asked to work on complex problems, it might take a few hours, if not days. And even if he is given the most optimal solution on a paper, implementing that in code within an hour would be a challenge. Maybe its sour grapes, but I think there is something lacking in interview process -shouldn't original thinking be given more weightage than getting the right solution? And how can one guage in interview that a person has R&D mindset or not? For the last 2 days I have been thinking about the problem and yesterday I discovered a technique using dynamic programming which is more generic and very optimal. Can the interview process which runs for a few hours capture this? If Microsoft expects people (who are hearing about a problem the first time) to do R&D, design and code in one hour, without any bugs, then all the professors in MIT should be churning out research papers at the rate of one paper per hour :-)
Thanks for going through my rant....
Interview questions [1]
Question 1
Probability of a knight making a valid move on NxN matrix in m steps.
I applied through a staffing agency. The process took 4 weeks. I interviewed at Microsoft (Seattle, WA) in July 2022
Interview
I did an interview for a Senior SDE at a hiring event. The process consisted of an online assessment followed by a day of onsite interviews. 4 rounds covering algorithms and design. The questions were fairly easy and I did very well in all the rounds. Cannot disclose due to NDA. I was expecting an offer and to my surprise got a generated auto response indicating a reject after a day. I had constant communication with the recruiter during the whole process and after the reject there was zero response from the recruiter regarding feedback. I honestly believe that the interview was just for headcount since I could not think of one reason why I could be rejected. I also saw the position that I applied for indicated "applications are not accepted" even before the interview.
I applied through an employee referral. The process took 1 day. I interviewed at Microsoft (Bengaluru) in Feb 2019
Interview
I was asked at 8:30 for a hiring event. Had the first round from 8:45am, it was about Data Structure and problem solving. I solved the problems and further variants, thought it went excellent. Then had to wait almost an hour before the second interviewer came. He himself said he wasn't prepared and it was a last minute. Then he proceeded to ask a math related coding question. I couldn't remember the property so I needed help, then it turned out the actual algorithm/coding needed was almost trivial. Again I waited an hour without any information and then called up the recruiter and was asked to go for lunch. After lunch, I had a Systems Design round. We started from generic problem to more designs. I thought it went well. The interviewer did say the they didn't have feedback from 2nd round yet, only 1st round. After this, I waited a few rounds and was told the feedback wasn't positive and I am pretty sure it was the feedback from 2nd round and I just had to waste a few hours more due to lack of coordination on the recruiters' part.
I should mention that the interviewees were polite and nice to talk to.
Interview questions [1]
Question 1
Common algorithm questions, distributed cache design.
I applied online. The process took 1 week. I interviewed at Microsoft (Herzliya) in June 2018
Interview
It was defined as a technical interview. It was face-to-face in Microsoft offices in Herzliya (Israel) and took 1,5 hours. I was interviewed by Principal Software Engineer of the group. After a small talk he explained what the group does, what the position's expectations and asked to describe my recent work. We got through my current and previous work places and talk about projects and technologies. After that I was asked two technical questions and the interview ended. During the interview I got positive feedback on all my answers and was told that my experience, specialization and the knowledge fits the group and the position.
On the next day I got a rejection letter. It seem like the whole process had nothing to do with hiring a person, but to present that interviews for the position are being held. It left me frustrated and willing never deal with Microsoft again, at least not in Israel
Interview questions [2]
Question 1
Given two one directional linked list find if they merge and the node where they merge. Write a pseudo-code. Make solution with O(1) in space and O(n) in time where n is longest list length.
Given a string with single digit numbers and four simple arithmetic operations in a form of string that recorded in postfix (reverse Pascal) notation, perform the operation and validate the recording. Write pseudo-code that returns result or informs about malformed recording.