PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/MongoDB

Design a scalable resume search system

Last updated: Jun 1, 2026

Quick Overview

This question evaluates a candidate's competence in large-scale system architecture, data modeling, full-text search and indexing, asynchronous processing pipelines, storage and consistency trade-offs, API design, and security/privacy for handling uploaded documents.

  • hard
  • MongoDB
  • System Design
  • Software Engineer

Design a scalable resume search system

Company: MongoDB

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Technical Screen

Design a resume search platform for a recruiting company with these requirements: ( 1) Applicants upload resumes (PDF/Word). ( 2) A Resume Server parses resumes into structured metadata, generates thumbnails/resized previews, and stores both metadata and files. ( 3) Recruiters search and view matching resumes. Specify: • High-level architecture and components (applicant/recruiter interfaces, resume server services, data stores). • Data model for resume metadata and file references; discuss schema fields (name, contact, skills, education, experience, locations, uploaded_at) and versioning. • Storage choices for blobs versus metadata (e.g., object storage + document/relational DB) and trade-offs (consistency, transactions, cost). • Asynchronous processing pipeline for parse/resize using a queue and horizontally scalable workers; address idempotency and retries. • Public APIs for upload, search with multiple filters (skills, location, experience, education), and get-by-id; outline request/response shapes and pagination. • Search strategy and indexing with a dedicated search engine; propose mappings/fields, ranking signals, and example queries (term, text, range filters). • Scalability plan: sharding/partitioning, back-pressure, rate limiting, caching/CDN for previews, and data lifecycle policies. • Security and privacy: HTTPS, authentication, RBAC for applicants vs recruiters, signed URLs for file access, PII handling, audit logs. • Observability and reliability: metrics, logs, traces, SLOs, failure handling, dead-letter queues. • Evolution: relevance tuning, typo tolerance, synonym handling, multi-tenant isolation, and cost optimization. Provide capacity estimates (daily uploads, QPS, data size) and justify design choices with trade-offs.

Quick Answer: This question evaluates a candidate's competence in large-scale system architecture, data modeling, full-text search and indexing, asynchronous processing pipelines, storage and consistency trade-offs, API design, and security/privacy for handling uploaded documents.

MongoDB logo
MongoDB
Jul 15, 2025, 12:00 AM
Software Engineer
Technical Screen
System Design
7
0

System Design: Resume Search Platform

Context

A recruiting company needs a platform where applicants can upload resumes and recruiters can search, filter, and view matching candidates. Build a scalable, secure system with robust search and asynchronous processing.

Requirements

  1. Applicant uploads
    • Accept PDF/Word resumes via web/mobile.
  2. Resume Server
    • Parse resumes into structured metadata.
    • Generate thumbnails and resized previews.
    • Store both metadata and files.
  3. Recruiter search and view
    • Provide search UI and APIs to retrieve matching resumes.
  4. Specify in your design
    • High-level architecture and components (applicant/recruiter interfaces, resume server services, data stores).
    • Data model for resume metadata and file references; include schema fields such as name, contact, skills, education, experience, locations, uploaded_at, and versioning strategy.
    • Storage choices for blobs vs metadata (e.g., object storage + document/relational DB) and trade-offs (consistency, transactions, cost).
    • Asynchronous processing pipeline for parse/resize using a queue and horizontally scalable workers; address idempotency and retries.
    • Public APIs for upload, search with multiple filters (skills, location, experience, education), and get-by-id; outline request/response shapes and pagination.
    • Search strategy and indexing with a dedicated search engine; propose mappings/fields, ranking signals, and example queries (term, text, range filters).
    • Scalability plan: sharding/partitioning, back-pressure, rate limiting, caching/CDN for previews, and data lifecycle policies.
    • Security and privacy: HTTPS, authentication, RBAC for applicants vs recruiters, signed URLs for file access, PII handling, audit logs.
    • Observability and reliability: metrics, logs, traces, SLOs, failure handling, dead-letter queues.
    • Evolution: relevance tuning, typo tolerance, synonym handling, multi-tenant isolation, and cost optimization.
  5. Capacity estimates
    • Propose reasonable daily uploads, QPS, and data size, and justify design choices with trade-offs.

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More MongoDB•More Software Engineer•MongoDB Software Engineer•MongoDB System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,000+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.