Elimination Round
Given an array and an integer k, find the top k most frequently occurring elements. If two elements have the same frequency, the larger element comes first.
Questions about Java collections, PriorityQueue, HashMap, and related knowledge points.
Deep dive into projects mentioned in the resume.
Round 1
Given a string, split it into exactly three non-empty palindromic substrings. Need to first give an initial solution, then optimize the palindrome checking using Dynamic Programming.
Design a Healthcare Data Ingestion Pipeline that can efficiently handle millions of records. The discussion should include:
- Data ingestion
- Queue/message broker selection
- Storage strategy
- Processing pipeline
- Fault tolerance
- Scalability
- Monitoring and alerting
- Handling failed/unprocessed records
Round 2
Best Time to Buy and Sell Stock.
Add one to a number represented as digits.
- Constraint: cannot use ArrayList
- Follow-up: discussion on optimizing the solution and handling edge cases
Round 3 (HM Round)
System Design: design a Rate Limiter.
- Discuss different algorithms
- Discuss caching
- Discuss distributed implementation
- Discuss scalability and trade-offs
Resume discussion: went deep into project details. - Discussion on architecture decisions
- Discussion on Java internals and design choices
Round 4 (Behavioral)
The entire round was behavioral, and the interviewer expected answers in STAR format. Questions included:
- Describe a time when you could not meet a tight deadline.
- Tell me about a conflict within your team and how you handled it.
- Describe a difficult technical decision you made.
- How do you use AI in your daily work?
- What is your opinion on AI and how do you think it improves software engineering?
Discussion
Loading comments…