PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/Software Engineering Fundamentals/Tradedesk

Design a Recipe Manager

Last updated: May 23, 2026

Quick Overview

Evaluates API and in-memory data structure design, search and sorting semantics, user-associated operations, versioning/audit history, data normalization, and edge-case handling within the Software Engineering Fundamentals domain.

  • Tradedesk
  • Software Engineering Fundamentals
  • Software Engineer

Design a Recipe Manager

Company: Tradedesk

Role: Software Engineer

Category: Software Engineering Fundamentals

Interview Round: Take-home Project

Design an in-memory recipe manager with four levels of functionality. No UI is required; focus on clean APIs, data structures, and edge-case handling. ### Level 1: Basic recipe management Support creating, reading, updating, and deleting recipes. Each recipe contains: - `name` - unique string identifier - `ingredients` - list of ingredient names - `steps` - ordered list of instructions ### Level 2: Search by ingredient Add a query that returns all active recipes containing a given ingredient. ### Level 3: Users and sorting Introduce a `User` concept. - Every create, update, or delete operation must be associated with a user. - A recipe should record which user most recently modified it. - Support listing recipes sorted by a caller-specified key, such as recipe name or number of ingredients, in ascending or descending order. ### Level 4: Version history Add version control for recipes. - Every create and update must generate an immutable version snapshot. - Each version should record the recipe content, version number, timestamp, and editing user. - Support listing all versions of a recipe. - Support searching version history, at minimum by recipe name and editor. - Historical versions must remain accessible even if the active recipe is later deleted. Describe the class design, core APIs, data structures, and how you would handle corner cases such as duplicate recipe names, ingredient normalization, and deletes with version history.

Quick Answer: Evaluates API and in-memory data structure design, search and sorting semantics, user-associated operations, versioning/audit history, data normalization, and edge-case handling within the Software Engineering Fundamentals domain.

Tradedesk logo
Tradedesk
Feb 7, 2026, 12:00 AM
Software Engineer
Take-home Project
Software Engineering Fundamentals
5
0

Design an in-memory recipe manager with four levels of functionality. No UI is required; focus on clean APIs, data structures, and edge-case handling.

Level 1: Basic recipe management

Support creating, reading, updating, and deleting recipes.

Each recipe contains:

  • name - unique string identifier
  • ingredients - list of ingredient names
  • steps - ordered list of instructions

Level 2: Search by ingredient

Add a query that returns all active recipes containing a given ingredient.

Level 3: Users and sorting

Introduce a User concept.

  • Every create, update, or delete operation must be associated with a user.
  • A recipe should record which user most recently modified it.
  • Support listing recipes sorted by a caller-specified key, such as recipe name or number of ingredients, in ascending or descending order.

Level 4: Version history

Add version control for recipes.

  • Every create and update must generate an immutable version snapshot.
  • Each version should record the recipe content, version number, timestamp, and editing user.
  • Support listing all versions of a recipe.
  • Support searching version history, at minimum by recipe name and editor.
  • Historical versions must remain accessible even if the active recipe is later deleted.

Describe the class design, core APIs, data structures, and how you would handle corner cases such as duplicate recipe names, ingredient normalization, and deletes with version history.

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More Software Engineering Fundamentals•More Tradedesk•More Software Engineer•Tradedesk Software Engineer•Tradedesk Software Engineering Fundamentals•Software Engineer Software Engineering Fundamentals
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.