Christmas sale is live!

Avail Now

Wayfair Interview Questions

Prepare for success with our curated collection of interview questions. Designed to help students practice and build confidence, these questions cover a range of topics and real-world scenarios to get you ready for your next interview.
Q1: Event Management System (OOP + Lists)

Design classes to manage events and related reports. Implement Person, EventInfo, and EventManager with methods for registration and attendance tracking.


Example:
John registers and attends Event1, Jane registers for Event1 and Event2.
Output should show event, registration, and attendance counts by year.

Given a binary maze where each cell is either blocked (1) or open (0), find the minimum moves from (0,0) to (n-1,m-1) when you can jump up to K steps in any direction without obstacles.
Example:

Maze = [[0,0,0,0],

        [0,1,1,0]]

K = 3

Output: 2

 Given a dictionary of words and a list of queries, return all words from the dictionary that are anagrams of each query.

 

Example:

Dictionary: [“duel”, “speed”, “dule”, “cars”]

Queries: [“spede”, “deul”]

Output: [[“speed”], [“duel”, “dule”]]

Given two arrays: tasks[] (memory required) and types[] (task types). Two tasks of the same type can run together if total memory ≤ maxMemory. Each task takes 1 time unit.

 

Example:

Tasks = [1,4,5,2,3]

Types = [1,2,1,3,4]

maxMemory = 6

Output: 4

Given IP address ranges:

Zone1: 0.0.0.0 – 127.255.255.255

Zone2: 128.0.0.0 – 191.255.255.255

Zone3: 192.0.0.0 – 223.255.255.255

Zone4: 224.0.0.0 – 255.255.255.255

 

Determine which zone each IP belongs to. Return -1 if invalid.


Example:

Input: [“0.0.0.123″,”129.234.233.24″,”256.256.2.1”]

Output: [1,2,-1]

Given user click logs for two days, find customers who visited on both days and clicked on at least two unique products.

 

Example:

Day1 = [User1->A, User2->B]

Day2 = [User1->C, User2->B]

Output: [User1]

Given an array and a target difference, count how many pairs have that difference.

 

Example:

Input: [1,2,3,4,5], target=2

Output: 3

Find the subsequence of length 3 such that a < b > c and the sum is minimum.


Example:

Input: [2,1,3,4,1]

Output: [1,3,1]

Find number of arrays of length n with elements ≤ m such that total cost of swaps during search equals given totalCost.


Example:
Input: n=3, m=4, totalCost=2 → Output: 6

Implement serialization and deserialization methods for a binary tree.

 

Example:
Input: [1,2,3,null,null,4,5] → Output: same after deserialize.

Given categories in a tree and coupons attached to categories, return the nearest applicable coupon for any given sub-category.


Example:
Category tree → Electronics → Mobiles; Coupon applies at Electronics.

From multiple coupons with timestamps, return the latest valid coupon for a given category

Implement a JavaScript timer that starts on page load and resets when a button is clicked.

Build a React review page with sorting (Latest, Most Liked) and filtering using Context + Reducer.

In a React app, delay saving to store until Save is clicked instead of each keystroke to improve performance.

Given a string, encode consecutive repeated characters with counts.


Example:
Input: “aabbc”“a2b2c1”.

Find the Eulerian or Hamiltonian path for a given graph representation.

Find the subarray with maximum product and handle negative values properly.


Example:
Input: [-2,3,-4] → Output: 24

Q1. Event Management System

Design classes implementing interfaces IPerson, IEventInfo, and IEventManager. Manage events, registration, and attendance reports.

Design classes for Orders, Products, and Cart. Include functionalities like adding/removing items and calculating total cart value.

Design a system with bikes, stations, and rentals. Include APIs for availability, booking, and return.

Design a parking lot with classes for Vehicle, Ticket, Slot, Payment. Add pricing and parking strategy patterns.

Design Cargo and Package classes with cost calculation and weight-based categorization.

Boxes of different sizes (small, medium, large) — implement methods to insert smaller boxes inside larger ones and print hierarchy.

Design system for multiple hotels with provider integration, search APIs, and booking workflow.

Design scalable logging system for clients to push logs and monitor them with filtering and search capabilities.

Design task scheduler that respects task type and max memory constraints, optimizing parallel execution.

Design system with items of different sizes, vehicles (small/big), to minimize number of trips.

Design class hierarchy and service to fetch nearest valid coupon for a given category node.

Design complete review filtering backend with APIs, data model, and extensibility considerations.

Q1. Music Recognition System (Shazam-like)

Design a system for music fingerprinting and recognition. Include song ingestion, fingerprinting, search, caching, and scalability.

Architect a global hotel reservation system with providers, caching, search ranking, and failure recovery.

Design scalable product details architecture — discuss frontend-backend flow, data caching, and component communication.

Design distributed log ingestion and monitoring platform. Focus on indexing, scaling, storage, and alerting.

Real-time messaging system with scalability, persistence, and delivery guarantees.

Real-time fleet tracking system with device ingestion, geolocation APIs, and analytics dashboard.

Design a trending product recommendation system with event stream ingestion, ranking, and caching.

Extend the parking lot design to multi-city, multi-level management with sensors, payments, and distributed DB.

Design order and warehouse management system to manage stock updates, order routing, and scaling.

Architect a search/filter backend with elastic indexing, caching, query optimization, and ranking logic.

WhatsApp Icon

Hi Instagram Fam!
Get a FREE Cheat Sheet on System Design.

Hi LinkedIn Fam!
Get a FREE Cheat Sheet on System Design

Loved Our YouTube Videos? Get a FREE Cheat Sheet on System Design.