A recruiter reached me via LinkedIn and scheduled a face-to-face interview two days later in a hotel.
Had five rounds of technical discussion, each lasting one hour. They mentioned there might be one more round, possibly technical.
A week later, they scheduled a video call with a director, which was actually audio-only with screen sharing. We discussed some design-level ideas, and then the director asked a technical question.
I was having trouble setting up the video call because I was using a Mac (I hope you understand, as the video call tool was developed by Microsoft).
Imagine there are n cities (say c1, c2, ..., cn) connected circularly, and each of them has a petrol bunk (say p1, p2, ..., pn). The distances between each city are d1, d2, ..., dn. One unit of petrol is used to travel one unit of distance. You can start from any city so that you can go through all of them and reach the starting location (city) again. Find from where we need to begin the navigation.
FOR EXAMPLE:
c1 -> c2 -> c3 -> c1
p1 has 2 liters
p2 has 10 liters
p3 has 4 liters
The distance between each city:
c1 <-> c2: 3
c2 <-> c3: 2
c3 <-> c1: 8
Here, we need to start at c2 in order to come back to the same place.
Explain the logic to find whether you can come back to the same location. Find where to start. Write a program for this. Write test cases for this.
You are converting one string (s1) into another (s2) by changing characters in s1. You can add, delete, or replace characters in s1 to get s2. The cost of any of these operations for a character is 1. Find the minimum cost to convert s1 into s2. Write a program and test cases for this.
For example: Convert "Hi" into "Hey". This would require a minimum cost of two.
s1.s1.
Now we have s2.Write a program to iterate through a 2D grid in a spiral way. Since I can't attach images here, I'll explain it using an array. Imagine you have an n x m matrix of bytes. You need to iterate through it in a spiral way. This means iterating through the first row (left to right), then iterating through the rightmost column (top to bottom), then iterating through the bottommost row (right to left) until you reach the center of the matrix. Hope that is clear now.
You have a singly linked list where every node in the list has a field "random" which points to another node in the same list. Write a function to clone this list (create a new copy of it). Do not use extra space (just pointer variables are fine).
Some other standard questions:
print(node *head, int x, int y);
It should print all numbers within the range x and y.The following metrics were computed from 1 interview experience for the Microsoft Software Development Engineer I role in Hyderābād, Telangana.
Microsoft's interview process for their Software Development Engineer I roles in Hyderābād, Telangana is extremely selective, failing the vast majority of engineers.
Candidates reported having mixed feelings for Microsoft's Software Development Engineer I interview process in Hyderābād, Telangana.