MICROSOFT | SSE | Bangalore
Status: SDE2, 5+ yoe
Position: SSE at Microsoft
Location: Bangalore, India
Date: Oct 22, 2021Codality Test ->
3 Questions - All EASY
'aaabbb' = true
'abb' = true
'abab' = false
'bbb' = trueAll questions were easy.
F2F-1
Q1. Given a list of numbers and a m, jump to mth position starting from index 0 and remove the next element from the list. Do this until there is only one element left in the list.
Eg. List -> [1, 3, 5, 4, 2] and m = 2, Output -> [2]
[1, 3, 5, 4, 2] -> [1, 3, 5, 2] -> [1, 5, 2] -> [5, 2] -> [2]Every time you jump m postions from current position, you need to remove next element.
Since you are starting from index 0,
3 will be remove as you jump to 5 (at index 2) -> [1, 3, 5, 2]
From 5, you jump to 1, so 3 will be removed -> [1, 5, 2]
From 1, you jump to 2, so 1 will be removed -> [5, 2]
From 2, you jump to 2 again, so 5 will be removed -> [2]Solution I proposed ->
-> Created a circular doubly linked list. Iterate and remove m elements.
-> Optimaization -> Reduced the number of iteration, if m > list size -
for this case, to iterate to next element, we need to do listsize % m.
Since list size is changing everytime we remove an element, we need to do this everytime, when we remove an element.F2F-2
Q1. They gave one piece of code and ask to do a code review.
Q2. Implement Tiny URL - HLD discussion only | LLD implementation with OOO in mind.
F2F-3
Q1. Discussion on previous projects. Mostly focused on scalability, availability and fault tolerance.
Q2. Given list of connected triangles, return the boundary edges.
Eg -> 
Input -> [[P1(0,0), P2(0,1), P3(1, 0)], [...], ..]For simplicity, we removed the cordinates then the input will be ->
Input -> [[P1, P2, P3], [...], ..]Key to solve this question ->
Boundary Edge will be the edge which is a part of only 1 triangle
So create a Map<Edge, NumberOfTimes> and
parse the list of triangles. Make count of number of times you encounter an edge.
If at last the edge count is 1, then this is a boundary edge.Hiring Manager -
Q1. Discussion mostly on previous projects.
Q2. BT questions
Q3. 'Tell me about a time you' questions
Got Offer for SDE2. Will share the compensation soon.
PS ->
Updated the F2F-1 with the solution I proposed.
Compensation - https://leetcode.com/discuss/compensation/1561991/Microsoft-Azure-or-SSE-or-Bangalore-or-Nov-2021