WayFair Technical Assessment - Round1 - Screening

wayfair logo
wayfair
September 29, 202512 reads

Summary

I participated in a technical assessment at WayFair for a screening round. The assessment involved four distinct system design and database scaling questions.

Full Experience

I recently completed a technical assessment for WayFair's screening round. The assessment covered several system design and database-focused questions, pushing me to think about scalability and consistency in real-world application scenarios.

Interview Questions (4)

Q1
Real-time Group Chat App Design
System Design

We are building a real time group chat app that consists of a backend server and a frontend web app. Our MVP needs to support multiple users joining a group. When a user is part of a group, that user should be able to send a message to all other users in the group and read all messages posted in the group.

How would you design this group chat application, specifically what protocol(s) could be used to communicate between our server and client web app?

Q2
Facebook Friend Count Scaling
System Design

We are working on a clone of Facebook. We want to add a numeric count to every post showing how many friends the post's author has at the time of viewing the post, like this:

Marie McWilliams (105 friends)

I had a great day today, feeling good!

Our database has two tables:

USER

'user_id' (primary key)

'name'

'created_date'

USER_RELATIONSHIP

'friendship_id' (primary key, unique to each relationship)

'user1_id' (indexed)

'user2_id' (indexed)

'start_date'

Focusing on the database, how would you implement the friend-count feature? Note we will soon be more popular than Facebook, so the solution needs to scale.

Q3
Google Docs Collaborative Editor - Load Balancing Performance
System Design

We are working on a clone of Google Docs that allows users to collaborate on documents. Many users can work on the same document at the same time.

We have 100 instances of our service running on 100 different machines. Each document needs to be managed exclusively by one instance while it is in use, but one instance can handle multiple documents at once. We have a simple load-balancing system. Because each document has a random numeric ID found in the URL, we use the value of (id % num_instances) to route traffic. For example, with 100 jobs, traffic for document # 314814196 is routed to the instance with index 96.

How will this system perform as the usage grows?

Q4
Consistency Model Selection for Various Applications
System Design

Which consistency model is more appropriate for each of these applications: strong consistency, or eventual consistency? Why? (Select the best answer that applies for each question).

An API call that needs to respond within 20 milliseconds, used by a web service to retrieve metadata about a piece of streaming media. A web analytics platform recording every single click on a web page. A banking system that makes deposits and payments to checking accounts.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!