Round 1
Questions: Design and implement an LRU Cache with the following operations:
get(key)
: Retrieve the value of the key if it exists in the cache.put(key, value)
: Insert or update the value of the key. If the cache reaches its capacity, it should invalidate the least recently used item.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 2
Questions:
Implement an agent in Java that calls an API every 10 seconds to fetch the memory utilization for serviceB. Assume an API call systemB()
is provided, which returns the metric.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 3
Questions: When searching for products, even if there's no direct match for an input string, we still want to show relevant results. In situations where customers accidentally omit spaces between words (e.g., "thisisawesome"), develop an algorithm that finds potential word boundaries and outputs the corrected string (e.g., "This is awesome").
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 4
Questions: You own a service with a few (say, 5) customer-facing APIs, and you want to know the latency of each API. You aim to determine the P50, P90, P99, and P100 latency percentiles. Design a metrics collection and aggregation service that is highly reliable, scalable, and has low end-to-end latency.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.