How to Tackle a Problem You’ve Never Seen Before
Learn tips to prepare you for the unknown.
We’ll cover the following
In an interview, it’s not uncommon to encounter a problem you haven’t seen before.
Even a well-prepared candidate can get stumped because they are unfamiliar with the specifics of the system they’ve been asked to design. For example, being asked about the architecture of a company such as Stripe can be quite challenging when you’re unfamiliar with what services Stripe offers or with the complexities of payment gateway systems.
Let’s go over two tips to help you pass this type of obstacle.
Relate the unknown to the known
Let’s say that you are asked about how to design Ticketmaster in your interview, and you are unfamiliar with that product. Maybe you don’t spend much time going to concerts and therefore haven’t used Ticketmaster. You may be a bit lost if you’re asked to design Ticketmaster’s cart and checkout service.
To start taking steps forward, try relating the unknowns of your new problem to your existing knowledge. For instance, you can relate using Ticketmaster to the time you spend shopping on Amazon. Based on your knowledge of how the checkout process looks on sites with a similar goal, you can figure out the design of an unfamiliar product.
If you’re unclear on the details of a system, don’t be afraid to ask your interviewer to clarify any missing information. The hiring committee is much more focused on how you articulate your design solution than whether or not you know the specific inner workings of a particular service. As long as you can be honest about what you don’t know and think critically through the problem, you can move forward.

Pinpoint the system’s distinct problem
Understanding the distinct problem that every system aims to solve is key to figuring out how an unfamiliar system operates. If you’ve never seen the problem before, you may not know all the requirements for the service you’ve been asked to design.
Each system’s functional requirements work together to complete a unique task at a large scale. The more functional requirements of the system you can pin down, the more likely you can decipher the end goal of the system.
You should definitely be asking questions to help clarify requirements. This is true for any System Design problem—and it’s especially important for one you’re unfamiliar with!
The questions you could ask to clarify the unknown functional requirements could be as simple as this:
“I’m unfamiliar with Stripe; what services do they provide?”
“What does Stripe’s system need to accomplish?”
“What are the key features of the system?”
“What are the customer’s expectations and goals?”
“What are the system’s main constraints?”
Once you have a strong understanding of the functional requirements, the next phase is to explain how these requirements perform the task at a large scale, which is what our RESHADED approach walks you through.