PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Meta

Design a scalable banking system

Last updated: Mar 29, 2026

Quick Overview

This question evaluates expertise in designing scalable, reliable financial systems, testing competencies in distributed system architecture, transactional guarantees (ACID), double-entry data modeling, concurrency control, durability, security, and operational concerns such as monitoring and rate limiting.

  • hard
  • Meta
  • System Design
  • Software Engineer

Design a scalable banking system

Company: Meta

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Technical Screen

Design a banking system that supports account creation, balance inquiry, deposit, withdrawal, and atomic transfers between accounts (including cross-currency). Specify APIs, data model (e.g., double-entry ledger), and transaction flow to guarantee ACID properties for transfers, idempotent retries, concurrency control, and overdraft prevention. Describe how you ensure durability, auditability, reconciliations, and consistency across services. Discuss scaling (sharding/partitioning), failure handling (sagas vs. distributed transactions), security (authentication, authorization, encryption, PCI considerations), rate limiting, and monitoring.

Quick Answer: This question evaluates expertise in designing scalable, reliable financial systems, testing competencies in distributed system architecture, transactional guarantees (ACID), double-entry data modeling, concurrency control, durability, security, and operational concerns such as monitoring and rate limiting.

Related Interview Questions

  • Design Top-K, Crawler, and Chess Systems - Meta (hard)
  • Design Search And Web Crawling Systems - Meta (medium)
  • Design an Instagram-Style Social Feed - Meta (medium)
  • Design an Online Game Leaderboard - Meta (hard)
  • Design an On-Demand Delivery Platform - Meta (medium)
Meta logo
Meta
Sep 6, 2025, 12:00 AM
Software Engineer
Technical Screen
System Design
2
0

System Design: Core Banking Platform

Problem

Design a banking system that supports:

  • Account creation
  • Balance inquiry
  • Deposit and withdrawal
  • Atomic transfers between accounts, including cross-currency

Specify:

  • External APIs (with idempotency)
  • Data model (double-entry ledger)
  • Transaction flows guaranteeing ACID, overdraft prevention, and concurrency control
  • Durability, auditability, reconciliation, and cross-service consistency
  • Scaling strategy (sharding/partitioning)
  • Failure handling (sagas vs. distributed transactions)
  • Security (authentication, authorization, encryption, PCI considerations)
  • Rate limiting and monitoring

Assume you are designing for a high-traffic consumer banking workload with mobile/web clients and internal services. You may introduce minimal context (e.g., a base reporting currency) where needed.

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Meta•More Software Engineer•Meta Software Engineer•Meta System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,000+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.