Design
Deck of Cards / Blackjack
Design a generic deck of cards library and use it to implement a Blackjack game with dealer logic.
01 - Why interviewers ask this
It tests whether you can build a reusable, generic Deck/Card abstraction that multiple card games (Blackjack, Poker, etc.) can sit on top of — a good proxy for how you think about reusability.
02 - Where this system exists in the real world
You interact with this design every day.
Digital card games (Blackjack, Poker, Solitaire)
Casino simulation and RNG-fairness systems
Card-based tabletop game engines
03 - What you'll master
Solve this once. Know it forever.
Model a generic, reusable Deck/Card abstraction
Implement shuffling and dealing correctly
Layer game-specific rules (Blackjack) on generic primitives
04 - What you'll design
7 functional · 3 non-functional requirements.
Represent a standard 52-card deck with suits and ranks
6 more requirements inside
Sign in to unlock the full brief and start designing
05 - Companies that ask this
You may face this exact question in your next interview.
Ready?
Open the canvas.
Design it yourself.
See all requirements, use staged hints, run your code, and compare with community discussions - all on the same canvas.
Start Solving