Search Large Vehicle Records with Bounded Memory

Read the full interview experience this question came from →

Quick Overview

Design range search over petabytes of large vehicle records with one-year retention, selective indexes, bounded-memory execution, and stable result delivery.

Search Large Vehicle Records with Bounded Memory

Company: Nuro

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

Design an internal search tool over petabytes of vehicle data retained for one year. Users issue range queries over selected data attributes and can limit the number of rows returned. Individual rows are large, and the system cannot load the full dataset or all matching rows into memory. Focus on storage, indexing, query execution, and result delivery. Data ingestion is outside this task. Clarify the range dimensions, result order, and maximum-row handling needed by your design. ### What a Strong Answer Covers - Storage layouts and indexes that reduce scanning for the intended range predicates. - Query execution and result delivery with bounded memory, including when a single row is very large. - Stable limits or pagination and the interaction between query views and one-year retention. - The difference between limiting returned rows and limiting the work needed to find them. ### Follow-up Questions - How would you return one matching row if its payload is larger than a query worker's memory allowance? - What happens if data expires while a user is paging through a result?

Overview: Design range search over petabytes of large vehicle records with one-year retention, selective indexes, bounded-memory execution, and stable result delivery.

Read the full Nuro Software Engineer interview experience this question came from

|Home/System Design/Nuro
Nuro logo
Nuro
Aug 31, 2026
hardSoftware EngineerOnsiteSystem Design
1
0

Design an internal search tool over petabytes of vehicle data retained for one year. Users issue range queries over selected data attributes and can limit the number of rows returned. Individual rows are large, and the system cannot load the full dataset or all matching rows into memory.

Focus on storage, indexing, query execution, and result delivery. Data ingestion is outside this task. Clarify the range dimensions, result order, and maximum-row handling needed by your design.

What a Strong Answer Covers Guidance

  • Storage layouts and indexes that reduce scanning for the intended range predicates.
  • Query execution and result delivery with bounded memory, including when a single row is very large.
  • Stable limits or pagination and the interaction between query views and one-year retention.
  • The difference between limiting returned rows and limiting the work needed to find them.

Follow-up Questions Guidance

  • How would you return one matching row if its payload is larger than a query worker's memory allowance?
  • What happens if data expires while a user is paging through a result?

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...