← Oracle Interview Insights

Oracle·Software Engineer·Onsite - System Design / Architecture·Senior

Senior
May 2026

Summary

Oracle system design round for a software engineer role, focused entirely on designing a video upload and semantic search service. It was a dense 45-60 minute session covering everything from chunked uploads to vector stores, and I felt like I was constantly one step behind the scope of what they wanted.

Questions Asked (4)

Q1

Design a video upload and semantic search service that handles user-uploaded videos and supports searching over their content.

System DesignTechnical Trade-offs
Author's notes

This is one of those questions that sounds manageable until you realize they want the full stack: upload pipeline, transcoding, transcription, embeddings, vector retrieval, ranking.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and scale, then design the upload pipeline (storage, transcoding, metadata) and the semantic search pipeline (feature extraction, indexing, querying). Focus on the trade-offs between accuracy, latency, and cost, and how to handle large-scale video data.

Pro tip: Emphasize asynchronous processing and decoupling of upload from indexing to ensure a responsive user experience, and discuss how you would handle failures and retries in the pipeline.

1. Clarify Requirements and Scale

Ask about expected video volume, size, search latency, accuracy needs, and budget constraints to scope the design appropriately.

2. Design Upload and Storage Pipeline

Outline how videos are uploaded (e.g., chunked, resumable), stored (object storage), and processed (transcoding, thumbnail generation) asynchronously.

3. Design Semantic Indexing Pipeline

Describe extracting features (visual, audio, text) using ML models, generating embeddings, and storing them in a vector database for similarity search.

4. Design Search and Retrieval

Explain how a user query is converted to an embedding, used to search the vector index, and how results are ranked and returned with relevant video segments.

5. Address Trade-offs and Scalability

Discuss trade-offs (e.g., model accuracy vs. cost, indexing latency vs. freshness) and how to scale components (sharding, caching, CDN).

Key Points to Mention

  • Use of object storage (e.g., S3) for raw videos and CDN for delivery
  • Asynchronous processing with message queues (e.g., Kafka) for transcoding and indexing
  • Vector databases (e.g., FAISS, Pinecone) for efficient similarity search
  • Multimodal feature extraction (visual, audio, text) using pre-trained models
  • Trade-offs between search accuracy, latency, and cost
  • Handling failures, retries, and ensuring eventual consistency

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q2

Walk through the video upload path. How do you handle large files, encoding, and async processing?

System DesignAPI & Integrations
Author's notes

Talked through chunked uploads, pre-signed URLs for direct-to-object-storage, then an async pipeline for transcoding.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by outlining the end-to-end flow from client upload to final playback, emphasizing scalability and fault tolerance. Then dive into specific strategies for large files (e.g., chunked uploads, resumability), encoding (e.g., distributed transcoding, adaptive bitrate), and async processing (e.g., message queues, worker pools). Conclude with how you ensure reliability and monitor the pipeline.

Pro tip: Mention using pre-signed URLs for direct-to-storage uploads to offload your servers, and highlight idempotency in async workers to handle retries gracefully.

1. Client Upload Initiation

Describe how the client requests an upload session, receives pre-signed URLs or chunk endpoints, and uploads directly to object storage (e.g., S3) to avoid server bottlenecks.

2. Chunked & Resumable Upload

Explain splitting large files into chunks, uploading them in parallel, and supporting resumability via checksums or upload IDs to handle network failures.

3. Post-Upload Processing Trigger

Once upload completes, an event (e.g., S3 event notification) enqueues a message to a queue (e.g., Kafka, SQS) to kick off asynchronous processing.

4. Distributed Encoding Pipeline

Workers pick up jobs, transcode video into multiple formats/resolutions using tools like FFmpeg, and store outputs; use parallel processing and auto-scaling to handle load.

5. Status Tracking & Delivery

Update job status in a database, notify the client via webhooks or polling, and serve the encoded video via CDN with adaptive bitrate streaming.

Key Points to Mention

  • Chunked uploads with resumability and parallelization to handle large files efficiently.
  • Pre-signed URLs for direct-to-storage uploads, reducing server load and improving scalability.
  • Asynchronous processing using message queues (e.g., Kafka, SQS) and worker pools for decoupling.
  • Distributed encoding with FFmpeg, auto-scaling workers, and multiple output formats for adaptive streaming.
  • Idempotency and retry mechanisms in workers to ensure exactly-once processing.
  • Monitoring, logging, and alerting for pipeline health and failure recovery.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q3

How would you build the indexing pipeline to support semantic search over video content?

System DesignData ModelingTechnical Trade-offs
Author's notes

This is where I felt most underprepared.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements like scale, latency, and modalities, then outline a multi-stage pipeline: ingestion, feature extraction (visual, audio, text), embedding generation, indexing, and serving. Emphasize trade-offs between accuracy and cost, and how you'd handle updates and deletions.

Pro tip: Mention that you'd decouple the pipeline into asynchronous stages using a message queue to handle backpressure and allow independent scaling, which is crucial for video processing at scale.

1. Clarify Requirements

Ask about scale (number of videos, query QPS), latency requirements, supported modalities (visual, audio, text), and update frequency. This shapes the entire design.

2. Design Ingestion and Preprocessing

Outline how videos are ingested (batch or streaming), stored in object storage, and preprocessed (e.g., frame extraction, audio separation, transcription). Use a distributed queue to manage load.

3. Feature Extraction and Embedding

Describe extracting features from each modality (e.g., CNN for frames, ASR for audio, OCR for text) and generating embeddings using models like CLIP or fine-tuned transformers. Consider multi-modal fusion.

4. Indexing and Storage

Choose an appropriate vector index (e.g., FAISS, HNSW) and store embeddings with metadata in a scalable database. Discuss sharding, replication, and handling updates/deletes.

5. Serving and Query Processing

Explain how queries are embedded and used to retrieve nearest neighbors, with re-ranking if needed. Address latency, caching, and monitoring.

Key Points to Mention

  • Trade-offs between embedding model size, accuracy, and inference cost
  • Handling multi-modal data (visual, audio, text) and fusion strategies
  • Scalability and fault tolerance via distributed processing (e.g., Spark, Kafka)
  • Index update strategies for new and deleted videos (e.g., incremental indexing)
  • Latency optimization techniques (e.g., approximate nearest neighbor, caching)
  • Evaluation metrics for semantic search (e.g., recall@k, mAP)

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q4

Describe the search path from a user query to returned video results.

System DesignTechnical Trade-offs
Author's notes

Ran out of steam a bit here since it was late in the interview.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the scope and assumptions (e.g., scale, latency, consistency) to show you think before designing. Then walk through the end-to-end search path from query parsing to result ranking, highlighting key components and trade-offs at each stage. Finally, discuss how you would optimize and monitor the system, tying back to Oracle's focus on scalability and reliability.

Pro tip: Emphasize trade-offs like latency vs. freshness and recall vs. precision, and mention how you'd use A/B testing and metrics to validate decisions. This shows you think like a senior engineer who balances business and technical needs.

1. Clarify Requirements and Assumptions

Ask about scale (QPS, data size), latency SLA, consistency needs, and result freshness. State your assumptions to frame the design.

2. High-Level Architecture

Outline the main components: query parser, index, retrieval, ranking, and result serving. Explain how they interact in a typical search flow.

3. Deep Dive into Critical Stages

Detail query understanding (tokenization, stemming, intent), retrieval (inverted index, ANN), and ranking (ML models, business rules). Mention caching and sharding.

4. Trade-offs and Optimizations

Discuss trade-offs like index size vs. speed, batch vs. real-time indexing, and how to handle failures and scale horizontally.

5. Monitoring and Iteration

Explain how you'd measure success (CTR, latency, recall) and iterate using A/B tests and logging.

Key Points to Mention

  • Query parsing and understanding: tokenization, stemming, spell correction, and intent detection.
  • Indexing strategies: inverted index, forward index, and approximate nearest neighbor (ANN) for vector search.
  • Retrieval and ranking: candidate generation, scoring with machine learning models, and business rules.
  • Caching layers: query cache, result cache, and CDN for hot content.
  • Scalability: sharding, replication, and distributed search (e.g., Elasticsearch, Solr).
  • Trade-offs: latency vs. freshness, recall vs. precision, and cost vs. performance.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.