Oracle SMTS Interview Experience
sde 2Oracle interview | Fresher | Application Developer | IC-2 level
application developer ic-2Oracle Interview Experience
Oracle OCI | Interview Experience | Rejected
MTS IIOracle OCI | IC3 | Pre-screening round
SDE II7 more experiences below
Summary
I interviewed with Oracle for an SDE 2 role and successfully received an offer. The interview process included a screening round, two technical rounds, a behavioral round, and a system design round, covering DSA, Java/Spring Boot, SQL, JavaScript, and system design principles.
Full Experience
I recently had the opportunity to interview with Oracle for an SDE 2 position and was delighted to receive an offer. My interview journey spanned several rounds, each designed to evaluate different aspects of my technical prowess and behavioral aptitude.
Screening Round:
The initial screening round presented me with a LeetCode medium-level problem that required the use of a priority queue. This was followed by questions specifically targeting Java and Spring Boot frameworks.
Loop Interviews:
Round 1: Technical Round (1 hour)
This round was heavily focused on Data Structures and Algorithms. I encountered two DSA problems: one involved a hashmap, which was relatively easy, and another tree-based problem that bore a strong resemblance to LeetCode's "Binary Tree Maximum Path Sum". Additionally, the interviewer delved into JavaScript topics, specifically questioning my understanding of page rendering/loading optimizations and the event loop.
Round 2: Technical Round (~1 hour)
The second technical round featured a LeetCode medium-level graph problem. Further discussions ensued around Java/Spring Boot, and I was also asked to write SQL queries for two distinct problems.
Round 3: Behavioral Round (45 minutes)
This round was dedicated to assessing my behavioral skills. I was presented with various situation-based questions designed to understand my approach to teamwork, problem-solving, and conflict resolution.
Round 4: System Design Round (~1.5 hours)
The system design challenge was to "Design BookMyShow". The interviewer's primary interest was in my approach to handling concurrency. I was explicitly asked to focus on the concurrency aspects and to bypass the detailed design of services or APIs. We also discussed multithreading in depth, and there were questions related to the projects I had mentioned in my resume.
Ultimately, I was selected, and I'm very pleased with the outcome.
Interview Questions (2)
A tree-based problem similar to LeetCode's 'Binary Tree Maximum Path Sum', which typically involves finding the maximum sum of a path between any two nodes in a binary tree.
Design a system like BookMyShow, focusing specifically on handling concurrency. The interviewer requested to concentrate on concurrency aspects rather than designing services or APIs.
Summary
I recently interviewed for an Application Developer IC-2 role at Oracle as a fresher from NIT Warangal. The process involved three rounds covering puzzles, SQL, coding, DBMS, DSA, OOPs, and HR questions. I was ultimately waitlisted for the position.
Full Experience
Round-1
My first round consisted of various technical questions. I was asked two puzzles:
- A classic puzzle about splitting 10 coins (some heads, some tails) into two groups while blindfolded such that both groups have an equal number of heads.
- Another puzzle asked for the number of equilateral triangles that can be formed using 6 matchsticks.
Following the puzzles, there were two SQL questions:
- One involved joining tables and finding the Nth highest salary, with a follow-up to discuss different ways to achieve this.
- The second SQL question required converting percentages into grades from a table. I initially suggested using a CASE statement, but a follow-up asked for an alternative approach without CASE, which I proposed could be done by creating a lookup table for percentage ranges and grades, then joining.
I also had a coding question:
- Write code to validate if a date given in "DDMMYYYY" format is correct.
DBMS questions were next:
- I was asked to explain ACID properties with examples.
- Normalization and its use cases were also discussed.
The round concluded with questions about my internship experience, project, and the four pillars of OOPs concepts and their use cases in my project.
Round-2
The second round was focused on Data Structures and Algorithms, with four questions asked:
- I was given an array and needed to find a subarray such that its minimum size is 'm' and the sum of its elements is 'k'. A follow-up question delved into using Dynamic Programming for this.
- A word problem was presented that clearly indicated the use of Dijkstra's algorithm, followed by Bellman-Ford (with a reminder to consider constraints).
- The final DSA question involved a binary tree with a mirror placed at the bottom. I needed to return all leaf nodes that "lead to the root," essentially requiring me to treat the tree as a graph problem.
Round-3
The final round was an HR discussion:
- I was asked about my academic branch and my motivation to switch into the IT industry.
- My minor degree was also a topic of discussion.
- We had an in-depth conversation about my internship experience at LinkedIn and my project. The interviewer probed into alternative approaches for specific problems within my project, questioning why certain ideas might not work and testing my confidence in having explored various solutions.
- I was asked to explain the SOLID principles of OOPs.
- They inquired about my understanding of Oracle's operations and why I believed I would be a good fit for the Application Developer role.
- Another question was about how I managed to balance core academics, learn technical skills, and maintain a good CGPA simultaneously.
- Finally, I was given the opportunity to ask questions.
Interview Questions (17)
Given 10 coins, some heads and some tails. You are blindfolded and need to split them into two groups such that both groups have an equal number of heads (or tails).
Determine the number of equilateral triangles that can be formed using exactly 6 matchsticks.
Given employee salary data across multiple tables, join them and find the Nth highest salary. Discuss different approaches to solve this problem.
Given a table with percentages, convert them into corresponding grades. Initially, a CASE statement approach was discussed. A follow-up asked to achieve this without using a CASE statement, for example, by creating a separate grades lookup table and joining.
Write code to validate if a given string in 'DDMMYYYY' format represents a correct and valid date.
Explain the ACID properties (Atomicity, Consistency, Isolation, Durability) in DBMS with suitable examples.
Explain database normalization and its practical use cases.
Explain the four pillars of Object-Oriented Programming (Encapsulation, Inheritance, Polymorphism, Abstraction) and discuss their use cases, especially in the context of my projects.
Given an array, find a subarray with a minimum size 'm' such that the sum of its elements is 'k'. Discuss a Dynamic Programming approach as a follow-up.
Solve a word problem that requires the application of Dijkstra's algorithm, followed by Bellman-Ford algorithm, keeping in mind specific constraints.
Given a binary tree and a mirror placed at the bottom, return all leaf nodes that 'lead to the root' in this setup. The problem essentially involves treating the tree as a graph.
Discuss your academic branch and explain your motivation for transitioning into the IT industry.
Discuss details about your minor degree.
Discuss your internship experience at LinkedIn and your project in detail. Be prepared to explain alternative approaches to specific problems within your project, why certain approaches might not work, and demonstrate confidence in having explored various solutions.
Explain the SOLID principles of Object-Oriented Design.
Demonstrate your understanding of Oracle's business and explain why you believe you are a good fit for this specific role.
Describe how you managed to balance core academic studies with learning technical skills while maintaining a good CGPA.
Summary
I recently completed a 5-round interview process at Oracle, which assessed my skills in Data Structures & Algorithms, System Design, and behavioral competencies. The experience covered various technical challenges and discussions.
Full Experience
My interview journey at Oracle consisted of five distinct rounds.
The first round was a DSA Online/Technical Coding Round on HackerRank/CodePair. I was given two medium-level problems, which involved concepts like arrays, hashmaps, and sliding window. The emphasis was on writing clean, optimized code and clearly articulating my approach.
Following that, I had a second DSA Technical Coding Round. The questions in this round were slightly more challenging, focusing on binary search, heaps, and dynamic programming. There were also follow-up questions centered on optimizing for both time and space complexity.
The third round was another DSA Technical Coding Round, which delved into problem-solving combined with data structure design. For instance, I was asked questions related to designing systems like an LRU Cache or a custom stack. This round also involved handling edge cases and performing dry runs with test cases.
Next up was the System Design Round. As this was for an experienced role, the discussion was more focused on low-level design. We talked about designing scalable systems, such as a URL shortener, a notification service, or a booking system. Key areas of discussion included choosing appropriate databases, designing APIs, managing concurrency, and understanding various trade-offs.
Finally, the fifth round was a Managerial + HR Round. This round primarily involved discussions about my previous projects, the challenges I've encountered, and my experiences working in team scenarios. I also faced a few behavioral questions, such as 'Tell me about a time you disagreed with your manager?' and 'How do you handle deadlines and pressure?'. There were also some light technical questions to gauge my overall understanding.
Interview Questions (7)
Design and implement a Least Recently Used (LRU) cache. The problem also included some edge case handling and test case dry runs.
Design and implement a custom stack. This involved problem-solving and data structure design, including edge case handling and test case dry runs.
Design a scalable system like a URL shortener. Focus on aspects such as database choice, APIs, concurrency, and trade-offs.
Design a scalable system like a notification service. Topics included database choice, APIs, concurrency, and trade-offs.
Design a scalable booking system. Topics included database choice, APIs, concurrency, and trade-offs.
Tell me about a time you disagreed with your manager.
How do you handle deadlines and pressure?
Summary
I interviewed for a Senior Member of Technical Staff (SMTS) role at Oracle OCI across multiple rounds, which included coding, system design, and behavioral questions. Although I performed well in most rounds, a challenging system design question in the final round led to my rejection for SMTS, though I was offered a Member of Technical Staff (MTS) role, which I declined.
Full Experience
I recently interviewed for the SMTS (Senior Member of Technical Staff) position at Oracle OCI. My current experience stands at 4.2 years at Informatica, a product-based company, with a compensation of around 32-34LPA CTC.
Interview Process
Screening Round
This round involved a coding question similar to 'Merge K sorted lists'. I was expected to provide a dry run and working code. We also discussed my projects, Apache Spark vs. Flink, and the concept of statelessness in REST APIs. I successfully cleared this round.
Loop Round 1 (Taken by SMTS)
In this coding round, I was asked to convert a prefix expression to a postfix expression (e.g., +ab to ab+). The second coding question was about designing an LRU Cache, including discussions on data structure choices, achieving constant-time operations, and making it thread-safe. I performed well and received a 'Strong Hire' rating.
Loop Round 2 (Bartender Round - Taken by PMTS)
This round focused heavily on my projects, with an in-depth discussion about the choices I made during development. I also faced questions about managing difficult stakeholders and several other behavioral scenarios. I received a 'Strong Hire' rating for this round as well.
Loop Round 3 (Taken by Hiring Manager)
This round was centered on High-Level Design (HLD). The problem involved designing a Concurrent Job Orchestrator that supports highly concurrent job executions, priority, license handling, and autoscalability. There were also some tricky behavioral questions. I was rated 'Hire/Strong Hire'.
Loop Round 4 (Taken by PMTS)
The final loop round began with an in-depth discussion about my projects, focusing specifically on the design decisions and reasoning behind using Apache Spark. The remaining 30 minutes were dedicated to a system design question:
Content Management System: A large multinational food company wanted a system to display in-store menu items for each of their locations. The system needed central management, the ability to show scheduled promotions, allow different prices per menu item at each location, and support breakfast, lunch, and dinner options.
I got really nervous during this design question and struggled to complete a comprehensive design within the 20-minute timeframe. This round did not go well, and I received a 'No Hire' rating.
Outcome
The recruiter eventually reached out. Due to my performance in the last round, the team could not offer me the SMTS position. Instead, they offered an MTS role, which I ultimately rejected.
Interview Questions (10)
A coding question similar to merging K sorted lists. Dry run and working code were expected.
Discussion about my projects, including a comparison between Apache Spark and Flink.
Conceptual question about statelessness in REST APIs.
Given a Prefix expression (e.g., +ab), convert it to a Postfix expression (ab+). Dry run and working code were expected.
Design an LRU Cache. Discussions involved data structure choices, achieving constant-time operations, and how to make the cache thread-safe (including suitable thread-safe data structures).
Detailed discussion about my projects and the rationale behind all choices made during development.
A behavioral question on how to manage difficult stakeholders, along with several other behavioral scenarios.
High-Level Design (HLD) for a Concurrent Job Orchestrator. The system needed to support highly concurrent job executions, prioritize tasks, handle licensing, and ensure autoscalability.
In-depth discussion about my projects, focusing specifically on the design decisions and reasonings related to Apache Spark, as my project included it.
Design a Content Management System (CMS) for a large multinational food company. The system must display in-store menu items for each location, be managed centrally, support scheduled promotions, allow different pricing for menu items at each location, and offer breakfast, lunch, and dinner options.
Summary
I completed a pre-screening round for an IC3 role at Oracle OCI, which focused on a data structures and algorithm problem involving processing a stock stream. I am currently awaiting the outcome, as the portal status remains 'Interview and Selection'.
Full Experience
In mid-September, I participated in a pre-screening round for an IC3 position at Oracle OCI. The interview primarily revolved around a single, complex data structures and algorithms problem. I am currently awaiting further communication regarding my application, and the status on the recruitment portal remains 'Interview and Selection'.
Interview Questions (1)
You are given a stream of Stocks with data points like (Stock_Name, Price, Time). Implement a function that will return the top K most expensive stocks observed within the last T minutes. Both K and T are not fixed and can vary with each function call. A key constraint is that if the same stock appears multiple times in the stream, its old price is invalidated, and only the latest price should be considered for the top K calculation.
Summary
I recently experienced an interview process with Oracle Health, which included multiple rounds covering data structures, algorithms, system design, and behavioral questions.
Full Experience
My interview journey with Oracle Health commenced with a screening round focused on Data Structures and Algorithms. I was given two DSA problems, one of which was the classic Coin Change problem, and the other was related to counting sort. After successfully clearing the screening, I moved on to Round 1.
Round 1 was a mixed bag, testing both my Java knowledge and problem-solving skills. We discussed the differences between Java's abstract classes and interfaces, a fundamental concept. Following that, I tackled the LeetCode Median of Two Sorted Arrays problem. The interviewer also delved into my understanding of microservices, their advantages, REST APIs, and specific CRUD operations using an employee records example. We touched upon various types of pagination and the distinction between forbidden and unauthorized status codes. Finally, I was asked about the Java Stream API and how to extract the first 3 minimum and 3 maximum elements using it.
Round 2 was dedicated to High-Level Design (HLD). My task was to design a Metric and Logging Platform, which involved outlining the architecture and key components.
The third round was a "Bartender" round, which was essentially a behavioral interview. I was asked to share experiences about my most challenging project, a time when I took a risk and failed, how I handled negative feedback from a manager, an instance where I went beyond my role definition for a customer, and a situation where I set a personal goal and achieved it.
Finally, Round 4 was with the Hiring Manager, primarily focusing on a detailed discussion about my previous projects and a high-level system design question related to a Hospital Management System.
Interview Questions (17)
Explain the key differences between abstract classes and interfaces in Java, including their use cases, multiple inheritance, and method implementations.
Explain what microservices architecture is and detail its advantages over monolithic architectures.
Explain what REST APIs are, their principles, and common use cases.
Describe the typical CRUD (Create, Read, Update, Delete) operations using REST APIs, providing a concrete example with employee records.
Discuss different types of pagination strategies used in web development and data retrieval.
Explain the distinction and appropriate use cases for HTTP status codes 401 Unauthorized and 403 Forbidden.
Explain the purpose and core concepts of the Java Stream API.
Demonstrate how to retrieve the first 3 minimum and 3 maximum elements from a collection using the Java Stream API.
Design a scalable and reliable high-level architecture for a metric and logging platform.
Describe your most challenging project, the obstacles you faced, and how you overcame them.
Share an experience where you took a significant risk that ultimately did not succeed. What did you learn from it?
Describe a situation where you received negative feedback from your manager and how you responded to it.
Share an instance where you went outside of your defined role to meet a customer's requirement or solve a customer's problem.
Describe a time when you set a significant goal for yourself and what steps you took to achieve it.
Design a high-level system for a Hospital Management System, outlining its key features and architectural considerations.
Summary
I recently had a screening round for an IC3 position at Oracle, which involved a profile discussion followed by two Data Structures and Algorithms questions.
Full Experience
My screening round for an IC3 role at Oracle began with a thirty-minute discussion about my professional profile. Following that, I was presented with two Data Structures and Algorithms problems. The first question was about merging overlapping intervals, and the second involved finding the longest non-repeating substring within a given string.
Interview Questions (2)
Given an array of intervals intervals[i] = [starti, endi], merge all overlapping intervals, and return an array of the non-overlapping intervals that cover all the intervals in the input.
For example, given [[1,3],[2,6],[8,10],[15,18]], the output should be [[1,6],[8,10],[15,18]].
Given a string s, find the length of the longest substring without repeating characters.
For example, if s = "abcabcbb", the answer is 3 (for "abc"). If s = "bbbbb", the answer is 1 (for "b").
Summary
I recently had a screening round interview for the SMTS (IC3) role on the Workflow Team at Oracle OCI, which included an introduction, a behavioral question about my most challenging project, and a coding problem to design a video buffer data structure.
Full Experience
Hi Fam, I'm currently an SSE at Walmart with 6.3 years of experience. I recently appeared for a screening round for the SMTS (IC3) role on the Workflow Team at Oracle OCI. This round was taken by a fellow SMTS. The first 20 minutes were dedicated to an introduction and a discussion where I described the most challenging project I've worked on. Following that, I had a 40-minute coding session where I was given a problem to design a video buffer data structure. I'm currently waiting for further loop rounds to be scheduled.
Interview Questions (2)
Describe the most challenging project that you have worked on.
You're working on a video streaming project and you've been asked to design a video buffer data structure to store a limited number of items. The data structure should support four operations: 'add', 'delete', 'getFirst', and 'getEnd'.
- The 'add' operation should add an item, return True if it succeeds.
- The 'delete' operation should delete the oldest element, return True if it succeeds.
- The 'getFirst' operation should retrieve the oldest item in the data structure.
- The 'getEnd' operation should retrieve the newest item in the data structure.
Constraint: Not allowed to use Java Collections Framework.
Summary
I recently interviewed for a Staff Member of Technical Staff (SMTS) position (IC3) at Oracle OCI within their KMS team, undergoing a screening round that included both coding and theoretical questions. The outcome is currently ongoing.
Full Experience
I recently went through a screening round for an SMTS role (IC3) on the KMS team, which is part of the Security Products Group at Oracle OCI. The KMS team is identified as a Tier-0 Service. The interview was conducted by a fellow SMTS. The round focused on two coding problems followed by theoretical discussions for the remaining 15 minutes.
Interview Questions (5)
I was asked to solve the standard LeetCode problem, Jump Game 1.
Given an array, I needed to perform K operations. In each operation, I had to find the maximum element in the array and reduce it to half its value (floor). The goal was to find the sum of all elements in the array after K operations.
I was asked to explain how to scale a system's throughput from 1,000 transactions per second (TPS) to 1,000,000 TPS.
I had to explain the process and considerations involved in taking a system from development to production.
I was asked to discuss the differences and use cases between the Spring Framework and Spring Boot.
Summary
I participated in a Blitz Hiring event at Oracle. The initial coding round featured a unique problem about constructing word squares, followed by interviews on resume, system design, and behavioral questions.
Full Experience
I attended the Oracle Blitz Hiring event. The first part was a coding round where I was presented with a challenging problem. This coding challenge focused on creating word squares from a given set of four-letter words. Following the coding assessment, I proceeded to three additional interview rounds. These subsequent interviews primarily delved into my resume, system design capabilities, and questions related to Oracle's Leadership Principles (OHAI LP).
Interview Questions (1)
Let's define a thing called a word square. A word square consists of four 4-letter words (named top, bottom, left, and right) arranged into a square such that the corner characters are shared. Words go left-to-right or top-to-bottom, and not the other ways. Write a function that takes a set of 4-letter strings as input and prints all word squares that you can make using the words in the input set. A word cannot be used more than once in a word square.
For example:
top
A C I D
T A
O R right
M A R K
bot
Summary
I attended a screening round for an SSE role at Oracle, which involved a coding question, a system design problem, and an LLD discussion. I believe my performance was affected by lack of sleep, potentially leading to a rejection or ghosting.
Full Experience
My Oracle screening round for the SSE role consisted of three distinct parts. The first part involved an easy-medium coding question centered around a Priority Queue. The second part was a System Design challenge to generate Unique IDs. Finally, the third part focused on the Low-Level Design (LLD) of a Singleton class.
I must admit, I felt quite jittery before and during the interview, likely due to insufficient sleep the night prior. This impacted my performance, particularly in Part 1 where I took too long to solve the problem. Additionally, I believe I overlooked a crucial detail in the LLD of the Singleton class, which may have led to my potential rejection or ghosting.
Interview Questions (2)
Design a system that can generate unique identifiers efficiently and at scale.
Discuss or implement the Low-Level Design (LLD) of a Singleton class, including considerations for thread-safety and different implementation approaches.
Preparation Tips
My main tip is to ensure you get sufficient sleep the night before your interview. My lack of sleep made me feel jittery, which negatively impacted my performance and potentially led to me overlooking critical details in some parts of the interview.
Summary
I interviewed for a Senior Software Developer, IC3 role at Oracle Health in August 2025. Despite clearing most technical rounds and presenting viable solutions, I was ultimately rejected, with feedback that seemed to contradict the interview process itself, possibly due to a misalignment with my C++ background or role expectations.
Full Experience
Pre-screening Round
My interview journey with Oracle Health began in August 2025. After a recruiter reached out via email, we had a video conference where she detailed the Senior Software Developer profile, emphasizing it would be primarily backend work with some frontend.
This round covered various technical topics:
- Differences between exceptions and errors in Java.
- How to create an immutable class.
- Concepts related to deadlock.
- All SOLID principles with illustrative examples.
- Factory and Abstract Factory design patterns.
- Encapsulation versus Abstraction.
- Questions on Actuator and Dispatcher Servlet, which I admittedly didn't know.
- Discussion about my projects. I clarified that my professional experience was mainly in C++ but that I used Java extensively for DSA.
I left this round not expecting to proceed further, mainly due to my C++ background and my inability to answer the Spring Boot questions.
Loop Round 1 - Hiring Manager Round
This round started with introductions and a discussion about my current role. Surprisingly, the hiring manager mentioned they were looking for a frontend developer, which directly contradicted the recruiter's information about a backend-focused role. Despite this, the interview continued.
We discussed API query parameters, path variables, and request bodies. The main focus was a system design question for a BookMyShow-like service. The interviewer was primarily interested in requirements and API design, specifically asking for API request types, request bodies, and response bodies. We skipped database schema and estimations due to time constraints, and I concluded by creating an HLD diagram. The interviewer was friendly throughout.
Loop Round 2 - DSA
After a brief project discussion, I was asked to convert a number to a Roman numeral. My initial solution used a direct mapping for all combinations (e.g., 1000, 900, 500, 400). The interviewer then challenged me to use only base mappings (1000, 500, etc.) and make the solution "extensible." I provided a hardcoded solution for this, which wasn't satisfactory. He then hinted at a pattern where for 'even' values (like 1000), the next subtraction rule might be at index +2, and for 'odd' values (like 500), at index +1. I coded this, but I argued that this pattern itself wasn't truly "extensible" for Roman numerals, as they are fixed, and this arbitrary pattern wasn't a universal rule. I felt I had provided a correct solution, even if not meeting his specific "extensible" criteria for an inherently non-extensible system.
Loop Round 3 - Bartender Round
This round began with the interviewer introducing himself, followed by questions about my current work and projects, focusing on a specific feature I implemented. He tried to delve quite deeply into the feature, which I felt was beyond the scope of this round, especially since my C++ protocol development work was hard for him to grasp. Despite my use of analogies, I doubt he fully understood. We also discussed disagreements with seniors. The interviewer was neutral, neither friendly nor rude.
Loop Round 4 - DSA
This round involved a mix of DSA and core Java concepts:
- I had to implement a producer-consumer problem using two threads to count and print odd and even numbers alternately, using
wait/notify. - Questions on
Cloneable,Serializable, and thetransientkeyword. - Implementing an immutable class and the use of the
finalkeyword. - Creating a thread-safe singleton class.
- A DSA question to find a cycle in a linked list. I offered both the slow/fast pointer and HashSet approaches. He requested another approach, but I couldn't recall one.
- Another DSA question was about the sum of values of all leaf nodes in a binary tree. I provided a recursive solution, and when he clarified he wanted only the sum of leaf nodes at the deepest level, I quickly adapted my code. I performed dry runs for both DSA problems.
This interview went very well, and I felt I answered about 90% of the questions correctly. I couldn't answer some specific questions like the drawbacks of Cloning or the multiton pattern.
Verdict: Not Selected
The recruiter later provided feedback, which was quite conflicting:
- The hiring manager claimed I failed to implement the DB schema in the system design round, which was baffling because she explicitly told me to skip it and focus on API design.
- She also stated I couldn't make the system design, which I strongly disagree with. I provided a design, asked clarifying questions, and offered options when she gave no input, always confirming my choices.
- Another piece of feedback claimed I couldn't come up with a solution for one of the DSA rounds. This is also untrue; I provided correct solutions, even if one wasn't "extensible" in the way the interviewer preferred for an inappropriate problem context.
In conclusion, I'd advise caution with overly "friendly" interviewers. I suspect my rejection was more likely due to my C++ background or the initial confusion about the role's frontend/backend requirements, leading the hiring manager to fabricate feedback. This kind of experience can be quite disheartening for job seekers.
Interview Questions (15)
Explain the differences between exceptions and errors in Java, and how they are typically handled.
Describe the principles and steps to create an immutable class in Java. Provide a code example.
Explain what a deadlock is in concurrent programming, its necessary conditions, and common strategies for prevention or detection and recovery.
Elaborate on each of the five SOLID principles of object-oriented design and illustrate them with practical examples.
Differentiate between the Factory Method and Abstract Factory design patterns. Explain their use cases and provide examples for each.
Compare and contrast encapsulation and abstraction in object-oriented programming, highlighting their distinct purposes and how they are implemented.
Explain the roles and functionalities of Spring Boot Actuator and the Dispatcher Servlet in a Spring application context.
Design a system similar to BookMyShow for ticket booking. Focus on defining core requirements, API design (including request types, request bodies, and response bodies). You may skip detailed database schema and capacity estimations. Finally, provide a High-Level Design (HLD) diagram.
Convert an integer to its Roman numeral representation. The interviewer was particularly interested in an 'extensible' solution, suggesting that mappings should primarily be for base values (e.g., 1000, 500, 100) and that combinations (e.g., 900, 400) should be derived through a pattern, such as 'for even indexes, subtraction is at +2, and for odd, at +1'.
Implement a producer-consumer problem using two threads. One thread should produce odd numbers, and the other even numbers, ensuring they are printed alternately. Use Java's concurrency primitives like wait() and notify() for synchronization.
Explain the purpose and usage of the Cloneable and Serializable interfaces, and the transient keyword in Java. Discuss their implications and potential pitfalls.
Demonstrate how to implement an immutable class in Java. Discuss the various applications and implications of the final keyword when used with variables, methods, and classes.
Implement a thread-safe Singleton design pattern in Java, explaining the considerations for ensuring thread safety.
Given the head of a singly linked list, determine if it contains a cycle. Implement multiple approaches if possible.
Given the root of a binary tree, calculate the sum of values of all leaf nodes that are located at the deepest level of the tree.