Oracle - Server DBA
Interview Process
Technical Round
July 10, 2025Question: Search in a Rotated Sorted Array Given a sorted array that has been rotated at an unknown pivot, I had to find the index of a target element in O(log n) time. For example:
Input: nums = [4,5,6,7,0,1,2], target = 0
Output: 4
I first explained the modified binary search approach, identifying which half of the array is sorted in each iteration and adjusting the search boundaries accordingly.
I handled edge cases like:
Array with a single element.
Target not present.
Fully sorted without rotation.
Wrote the code and did a dry run for multiple scenarios.
After completing the coding, the interviewer switched to resume-based deep questions:
Detailed discussion on my Machine Learning and Generative AI projects, including data preprocessing steps, choice of algorithms, and evaluation metrics.
Questions on my Linux file descriptors and system calls project — asked how file I/O works at the OS level.
Behavioral questions like:
A time when a project didn’t go as planned — what did you do?
How do you approach optimizing code for both runtime and memory efficiency?
Technical Round
July 10, 2025Round 2 – Database Design This round was a system design interview focused on databases.
Task: Design a Database for a Restaurant Management System Requirements included:
Table reservations (handling concurrent booking requests).
Menu management (items, categories, prices).
Order tracking (order details, status updates).
Billing and payment records.
Staff management (roles, schedules).
I began by identifying entities: Customer, Table, Reservation, MenuItem, Order, OrderItem, Bill, Staff. Then I drew an ER diagram and explained relationships:
One-to-many: Customer → Reservation.
Many-to-many: Order ↔ MenuItem via OrderItem.
One-to-one: Order → Bill.
Follow-up questions included:
How would you prevent two users from booking the same table simultaneously? → Explained database transactions and row-level locking.
How would you scale for multiple branches of the restaurant? → Talked about sharding, read replicas, and separating menu service from reservation service.
How to handle cancellations and refunds? → Discussed using a status field in Reservation and Bill tables.
I also highlighted the use of indexes on frequently queried columns and discussed how to maintain consistency in a concurrent environment.
Detailed Experience & Tips
The interview tested problem-solving, deep technical understanding of past work, and database/system design skills. The DSA round checked my grasp of binary search logic under modified conditions, while the second round was about structuring and scaling a real-world database system.