I’d received a call from recruiter on Linkedin. My preferred language was Java.
Coderpad Round1 (1 hour, 2 questions):
https://www.geeksforgeeks.org/minimum-length-subarray-sum-greater-given-value/): I took around 50 mins for fixing edge case in O(n) solution. So interviewer didn’t give second question as rest of the time went into test cases writing.
Coderpad Round2 (1 hour, 2 questions):
https://www.geeksforgeeks.org/given-a-string-find-its-first-non-repeating-character/) (Allowed complexity: Time: O(n), Space: O(n))
Face to Face round (30 mins):
- Introduction, Project introduction, He noted highlighted points from intro.
- In CV, you have written that you improved slow loading of application. how did you do that?
- How will you improve it for a mobile application?
- How to improve API response time / optimise the APIs ?
- How to make database queries faster or optimise the queries?
- How do you choose sharding key ? What are the factors considered for sharding the table into multiple shards ?
- Difference between Horizontal Sharding vs Horizontal Partitioning?
- What is horizontal Partitioning ?
- Difference between partitioning and sharding?
- How will you design Amazon’s database architecture in terms of sharding and partitioning ? How will you make sure locking while writing in a heavily read extensive environment ? — I explained Master slave, master master slave with multiple shards but He wasn’t satisfied.
- Asked for which version of java are you comfortable with ? I replied java 8.
- What is lambda ? How does it improve/help in implementation ?
- What difference does lambda make in memory and processing from JVM perspective?
- What is functional interface ? Some examples of functional interface?
- Difference between Synchronized Hashmap, ConcurrentHashmap, Hashmap?
- In last, Asked a DS question: Given a string in format aabbbcccaaa, encode this in shorter format i.e. a2b3c3a3