Role - Java Backend developer
Experience - 3 years 10 months
Location - New Delhi
Round 1 -
- Find the maximum length of a subarray with equal number of 0s and 1s
- Design a data structure which can push a new element, pop the element at the top and also delete any random element - all in O(1) time complexity
- Find the 2nd highest salary amongst all employess in an office. Follow up - What if the salaries are not unique.
Verdict - Strong Positive
Round 2 -
- Project discussion and follow-up questions
- What steps will you take if your crawling request is blocked?
- Coding question - https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/description/
- Difference between HashMap and Concurrent HashMap, what is race condition
- What kind of database locks do you know?
- Difference between .equals() and ==
- What is garbage collection in Java and how is it achieved?
- Discuss where have you used Kafka in your projects.
Verdict - Strong Positive
Round 3 -
- Project discussion and follow-up questions
- Some threads are performing a concurrent action on a HashMap, what issues will arise and how will you handle it?
- Explain the logic to perform some kind of operation by 2 threads, working alternatively (implement multi-threading)
- Is the sleep command in thread static or non-static? Why?
- Default gc in latest Java versions
- Difference between atomic and volatile and also tell if they use locks or not
- Discuss about the features and recent updates in latest Java versions
- Discuss about acid properties in MySQL
- How to optimize a given SQL query with a WHERE Clause
- Discuss the usage of Kafka in your projects
- Discuss the low level design of a distributed pub-sub model (a customized Kafka queue system)
Verdict - Negative as I couldn't answer 1-2 questions
Overall - Rejected as each round was eliminatory