Oracle OCI | SMTS (IC3) | OpenSearch | TPS
Summary
I recently had a screening round for an SMTS (IC3) role with the OpenSearch Team at Oracle OCI. The interview involved a system design whiteboard challenge, several technical questions covering APIs, data structures, and system concepts, and a discussion about my projects.
Full Experience
Hi Fam, I'm currently an SSE at Walmart with 6 years of experience. I recently appeared for a screening round for the OpenSearch Team at Oracle OCI for an SMTS (IC3) role.
The screening round was taken by the Hiring Manager. It consisted of three main parts:
1. Design Whiteboard (25 min)
The MVP requirement was to allow multiple users to edit texts concurrently. The design also needed to be flexible enough to include shapes in future phases.
2. Technical Questions
I was asked several technical questions covering various concepts:
- What is Stateful and Stateless APIs?
- What is reflection?
- I was quizzed around different HTTP error codes: 4xx, 5xx, 2xx.
- What is a multidimensional array? What are its real-life applications?
- What is a hashtable? How is it different from a HashMap? What are its real-life applications?
- What is a linked list? How is it different from an array? What are the real-life applications of a linked list? I also discussed time complexities for linked list traversal, etc.
- What is a circuit breaker? I had to explain its concept.
- How do you reverse a linked list?
3. Project-level discussion (15 min)
The discussion revolved around questions on Elasticsearch and streaming pipelines, based on my past projects.
Overall, it was a comprehensive screening round covering system design, core technical knowledge, and project-specific expertise.
Interview Questions (9)
Design Concurrent Text and Shape Editor
Design a system that allows multiple users to concurrently edit texts. The design should also be extensible to include shapes in future phases.
Stateful vs. Stateless APIs
Explain the concepts of Stateful and Stateless APIs.
Explain Reflection
Explain what reflection is in programming.
HTTP Error Codes (2xx, 4xx, 5xx)
Explain different HTTP error codes, specifically 2xx, 4xx, and 5xx series.
Multidimensional Arrays and Applications
What is a multidimensional array? Provide real-life applications.
Hashtable vs. HashMap and Applications
What is a hashtable? How does it differ from a HashMap? Provide real-life applications for both.
Linked List vs. Array, Applications, and Complexities
What is a linked list? How is it different from an array? Provide real-life applications of linked lists and discuss time complexities for operations like traversal.
Explain Circuit Breaker Pattern
Explain the Circuit Breaker design pattern.
Reverse a Linked List
Explain or demonstrate how to reverse a linked list.