PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/Software Engineering Fundamentals/Amazon

Design a basic credit card system

Last updated: Apr 12, 2026

Quick Overview

This question evaluates object-oriented design and domain modeling skills, including class responsibilities, relationships, state management, transaction recording, and validation logic within a credit card domain.

  • medium
  • Amazon
  • Software Engineering Fundamentals
  • Software Engineer

Design a basic credit card system

Company: Amazon

Role: Software Engineer

Category: Software Engineering Fundamentals

Difficulty: medium

Interview Round: Technical Screen

Design an object-oriented credit card system for a retail bank. Focus on clean class design rather than distributed infrastructure. At a minimum, the system should support: - customers owning one or more credit cards - each card being linked to an account with a credit limit and available credit - recording purchases, payments, refunds, and declined transactions - tracking current balance and available credit - generating a monthly statement summary Explain the core classes, their relationships, and the main methods you would expose. Also discuss how you would handle validation, such as insufficient available credit, invalid card status, or overpayment.

Quick Answer: This question evaluates object-oriented design and domain modeling skills, including class responsibilities, relationships, state management, transaction recording, and validation logic within a credit card domain.

Related Interview Questions

  • Debug Watch List Movie Operations - Amazon (medium)
  • Design an advertiser metrics tracking platform - Amazon (medium)
  • Implement Review Content Moderation - Amazon (medium)
  • Validate AI-Generated Code Safely - Amazon (medium)
  • Fix the Password Reset Workflow - Amazon (medium)
Amazon logo
Amazon
Oct 31, 2025, 12:00 AM
Software Engineer
Technical Screen
Software Engineering Fundamentals
1
0
Loading...

Design an object-oriented credit card system for a retail bank. Focus on clean class design rather than distributed infrastructure.

At a minimum, the system should support:

  • customers owning one or more credit cards
  • each card being linked to an account with a credit limit and available credit
  • recording purchases, payments, refunds, and declined transactions
  • tracking current balance and available credit
  • generating a monthly statement summary

Explain the core classes, their relationships, and the main methods you would expose. Also discuss how you would handle validation, such as insufficient available credit, invalid card status, or overpayment.

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More Software Engineering Fundamentals•More Amazon•More Software Engineer•Amazon Software Engineer•Amazon Software Engineering Fundamentals•Software Engineer Software Engineering Fundamentals
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.