Microsoft | Sr SDE | Bangalore | Mar 2022
Anonymous User
2730

Online Codility Test (1 hour):
Q1: Similar to https://leetcode.com/problems/maximum-sum-of-two-non-overlapping-subarrays/
Q2: Similar to https://leetcode.com/problems/distribute-coins-in-binary-tree/

Coding, Problem Solving(1 hour)
Q1: Don't remember but it was LC medium, required prefix-sum
Q2: Similar to https://leetcode.com/problems/number-of-islands/
Q3: https://leetcode.com/problems/implement-queue-using-stacks/

Focus on -
- executable code
- explain time & space complexity
- edge cases

Low level design( LLD) (1 hour)

  • Design discussion on one of my projects
  • Questions on locking, synchronization etc.
  • There is an existing implementation like this -
    class SytemCallback{
            //  func to be invoked after delay seconds by this function
    		void registerCallback(int delay, Callback func);
    }
    This method can be called only once. If a callback is already registered and its timer is still running, this method can't be called or it will throw error.
    Given the system to be single threaded, create a wrapper on top of this class such that multiple functions can be registered and called.
    You are allowed to create only one instance of this SystemCallback.
    Later on he extended the problem by saying that what if we can add one more function to SytemCallback, what it could be and how would it change my solution.
  • An entity design question on product catalogue

High Level Design (HLD) (1.5 hour)

  • Explain one of the recent design problems that you have worked on in past 1 year
  • Questions on scaling Sql vs NoSql databases
  • Design a user registration, login, logout system. Focus was on -
    • security aspect
    • otp generation, notifications
    • third party integrations
    • failure handlings
    • scaling requirement
    • detect bots etc.
Time management is crucial. I sometime got stuck in one aspect of the problem.  
Though the last design question didn't involved lots of system,  but the interviewer kept adding new features during discussion.
While I personally avoid taking specific tech choice name  like i would rather just say messaging queue than kafka. 
But in this case interviewer wanted me to list different choices I was aware of and what would I choose.

Techno Managerial round (1 hour)

  • General questions like why looking out, etc.
  • Technical Questions based on resume
  • Design a system to track active users and its activity
    • Focus on scaling aspect
    • Anamoly detection based on user activity
  • General Scenario based questions
Technical Questions was more focused on design aspects. In most of the discussions interviewer was deep diving into the keywords I was using to explain the projects.
Comments (8)