Round 1
Questions: Aim is to get the count of users who have had the least number of logins in the past 24 hours.
Possible solution - All the operations are required to be done in O(1). Using a Map<user, loginCount> and a doubly linked list (count, list of users) would be a good approach here.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 2
Questions:
- Tell me about a time when you had to go against the norm and push for a change. Give an example where you persisted.
- Tell me about a time where you had to show bias for action in a tight deadline scenario.
System Design: Design a logging system.
- There are a lot of applications. Each application has multiple servers from where logs are getting generated.
- Store the logs - search past 30 days - rest have it persisted.
- 1-2 minutes lag.
- Different types of logs - info, debug, error.
- Search based on - date, date range, application, log type, message text.
Non-functional requirements - stress upon durability of the system and handling failure cases, data estimates.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 3
Questions: Leadership principle questions: Experience working on a complex project, drilled down on details. When you exceeded customer expectations.
Code a rate limiter. What are the design considerations in terms of handling multithreaded versus single application?
Implement an LRU Cache.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 4
Questions: Asked my experience working for an innovative project that I started or became part of. Also, when I had to deep dive into an issue to resolve it.
There was a question about finding the number of ancestors of a person. Also, info about ancestors from oldest to newest.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.