Round 0(Codility Round):
- Given buckets of size 1..N, find the minimum number of buckets required to fill K liters of water.
- Given a string, find the minimum number of substrings that it needs to be split so that there won’t be any duplicate character in each of the substrings.
Round 1:
- Some questions on current work.
- Find K most frequently used elements in an array(did it using hashmap + maxHeap, asked if there is any data structure, then he suggested treeMap would do that)
- Sort array with only 0s,1s,2s(explained counter approach, asked to do it without any extra space, told some approach similar to quicksort using 2 partitions)
https://www.geeksforgeeks.org/problems/sort-an-array-of-0s-1s-and-2s4231/1 - Count number of islands in a 2d matrix. (told approach, he asked if its some traversal. Then he asked if it’s a bfs or dfs)
https://www.geeksforgeeks.org/problems/find-the-number-of-islands/1
Round 2:
- Expression evaluation 2a[3b] = 2a [bbb] -> abbb abbb
- Suggest words with a given prefix.(explained Trie based approach)
- Bfs vs dfs
Round 3:
- Design an intelligent elevator system for a very secure building with multiple constraints like max_capacity for floor & lift, it should be easily extendable if a new lift or new lobby or new floor gets added. (classes created: lift, liftlobby, floor, floormonitor, user, building. Wrote it in a way that it’ll be easy to scale when new lift/building or new lift lobby or new floor comes)
Round 4(Techno – Managerial):
- How did previous rounds go? (Explained where I went wrong in previous rounds)
- He gave an explanation about MS & Azure team’s work culture.
- How do you make sure that your service won’t have any issues after sending it live?
- How will you test your features?
- Design a system that blocks unsafe websites from browsing. High level, network protocol, low-level class design for Server. he also asked how about synchronization of deleteword & checkisSafe word.
Result: Offer rolledout.