ORACLE IC2 (Applications Engineer) Interview Experience
Summary
I interviewed for the IC2 Applications Engineer role at Oracle and received an offer. The process involved a HackerRank online assessment, an onsite technical round, and a hiring manager discussion, covering data structures, algorithms, system design, and SQL.
Full Experience
My interview journey for the Applications Engineer IC2 position at Oracle began with a HackerRank Online Assessment. This round, lasting about an hour, included one medium difficulty DSA problem, several questions on trees, and some aptitude questions.
The second round was an onsite interview at Oracle's Bangalore office, which lasted approximately two hours. This round started with an in-depth discussion about my projects and previous experience. The interviewer then delved into a variety of technical questions, including the famous LeetCode problem 'Binary Tree Cameras,' how to implement authentication between two microservices, tricky SQL questions, understanding the 'merge' statement, database triggers, explaining sharding and partitioning, locking in SQL, and the 'with' clause. Since I mentioned JavaScript in my experience, there was also a JavaScript-based question. A medium-difficulty puzzle from GeeksforGeeks was also part of this round. Additionally, there were standard Spring Boot questions, covering different types of annotations, and questions about Tomcat and JVM.
Finally, I had the third round, which was with the Hiring Manager, conducted via a Zoom call for about an hour. This round focused heavily on project-based discussions. Questions related to Kafka and Redis were asked because I had mentioned them on my resume. There were also questions on basic encryption/decryption techniques and the differences between SSL and TLS. This round involved more project-related grilling. I was ultimately SELECTED for the role.
Interview Questions (11)
Binary Tree Cameras
Given a binary tree, we install cameras on some nodes of the tree. Each camera can monitor itself, its parent, and its immediate children. Return the minimum number of cameras needed to monitor all nodes of the tree.
Microservice Authentication
Explain and describe how to implement authentication between two microservices.
SQL MERGE Statement
What is the MERGE statement in SQL and how is it used?
Database Trigger
What is a database trigger and what are its applications?
Database Sharding vs. Partitioning
Explain the concepts of sharding and partitioning in databases, including their differences and use cases.
SQL Locking
Explain different types of locking mechanisms in SQL databases.
SQL WITH Clause (CTE)
What is the WITH clause (Common Table Expression) in SQL and how is it used?
What is Tomcat?
Explain what Apache Tomcat is and its role in web application deployment.
What is JVM?
Explain what the Java Virtual Machine (JVM) is and its key components.
Basic Encryption/Decryption
Explain basic encryption and decryption techniques.
SSL vs TLS
Explain the differences between SSL and TLS protocols.