Microsoft | SDE2 | Sep 2019 [Offer]
Anonymous User
3349

YOE: 3
I got an OCR via the career fair

Round 1:

Got called on-site for a specific instead of general grad event.

Round 2:

  • Following is the question - it was originally in C# but you could use any language
class Process {
	String name; //unique 
	String id;
}

class Service {
	String name;
	String id;
	boolean isActive;
}

class Host {
	String processId;
	String serviceId;
}

class Main {
	List<Process> processes;
	List<Service> services;
	List<Host> hosts;

	// Define the following method's contract and implement the code
	public ??? getAllActiveServicesUnderAProcess(String processId) {
		
	}
}

This was followed by many discussions about desgin choices, why a particular map/list was created and how can the performance be measured/trade-offs.

Round 3:

  • Inorder predecessor for a given key in BST.
  • Follow-up: key may not belong to the tree. No additional space needed for both parts.
  • Threads, Processes, synchronisation, how to implement semaphores, Implement Interlocking - other general discussions about thread practices.

Round 4 (1.5 hours):

  • Describe and discuss in depth, a past project
  • Given n and k - print all permutations of [1...n] of length k.
    e.g. if n = 3 and k =2 - you print [1,1],[1,2],[1,3],[2,1],[2,2],[2,3],[3,1],[3,2],[3,3]
    Give backtrack, iterative, memory efficient and time efficient solutions.
  • https://leetcode.com/problems/implement-strstr/ come up with a good approach to do this
  • Complexities and codes for each of the above

Round 5:

  • Mianly a behavioral round, team description, aspirations etc.

Outcome:
I was offered SDE2/level 61.
The only sad part being, I did not get a chance to interact with multiple teams like other grad poisitions would allow.

Comments (3)