androidinterview.com

Low Level Design (LLD) Interview Questions

18 questions

Machines & State Systems

  • Design a Parking Lot

    Easy

    An interview sized parking lot with spot assignment, tickets and exit fees, explained simply in Java and Kotlin.

  • Design a Lift System

    Medium

    A small lift scheduler for interviews, with floor requests, direction and a simple step simulation in Java and Kotlin.

  • Design an ATM

    Medium

    A small ATM interview solution focused on authentication, withdrawal and known failure recovery in Java and Kotlin.

  • Design a Vending Machine

    Easy

    A simple interview vending machine with selection, payment, purchase and cancellation in Java and Kotlin.

Games

  • Design Snake and Ladder

    Easy

    A small Snake and Ladder interview implementation with turns, jumps and exact finish rules in Java and Kotlin.

  • Design Tic Tac Toe

    Easy

    An interview sized Tic Tac Toe game with simple win checks, turn validation and draw detection in Java and Kotlin.

  • Design Ludo

    Medium

    A compact Ludo interview model with token positions, legal moves, capture and exact home rules in Java and Kotlin.

  • Design a Chess Game

    Medium

    A focused chess interview solution explaining movement, king safety and game status with Java and Kotlin code.

Booking & Marketplace

  • Design a Movie Ticket Booking System

    Medium

    A compact cinema booking interview solution with seat holds, expiry, confirmation and cancellation in Java and Kotlin.

  • Design a Food Ordering and Delivery Service

    Hard

    An interview sized food order with checkout validation, a fixed total and valid status changes in Java and Kotlin.

  • Design Booking.com

    Hard

    A simple hotel booking interview solution that reserves every night together and prevents overbooking in Java and Kotlin.

  • Design Uber

    Hard

    A simple ride matching interview solution with driver assignment and trip states in Java and Kotlin.

  • Design Splitwise

    Medium

    A small Splitwise interview solution for equal expenses, balances and settlement using integer money amounts.

Android Components From Scratch

Build a small version of a familiar Android component. Start with its main behavior, explain who owns its state, and add extra features when asked.

  • Implement your own LiveData

    Medium

    Build a small LiveData for an interview, with lifecycle aware observers, latest value delivery and short Java and Kotlin implementations.

  • Implement your own ViewModel

    Medium

    A small ViewModel store for interviews, with instance reuse, rotation ownership and cleanup in Java and Kotlin.

  • Implement an Event Bus

    Easy

    A small event bus for interviews, with subscribe, publish and unsubscribe in Java and Kotlin.

  • Implement a Dependency Injection Container

    Medium

    An interview sized dependency injection container with factories, shared instances and cycle detection in Java and Kotlin.

Utility & Platform Services

  • Design a Rate Limiter

    Medium

    Explain and implement one token bucket rate limiter for an interview, with a worked example and compact Java and Kotlin code.