PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/J.P. Morgan

Design a course registration system

Last updated: Mar 29, 2026

Quick Overview

This question evaluates a candidate's ability to design scalable, strongly-consistent, and concurrent systems, testing skills in distributed systems, data modeling, API design, concurrency control, fair waitlisting, scheduling/conflict resolution, and observability within the System Design domain.

  • easy
  • J.P. Morgan
  • System Design
  • Software Engineer

Design a course registration system

Company: J.P. Morgan

Role: Software Engineer

Category: System Design

Difficulty: easy

Interview Round: Onsite

## System Design: Course registration () Design an online course registration system for a university. ### Core user stories 1. Students can: - search/browse courses by term, department, instructor, time slot - view course details (capacity, remaining seats, prerequisites, schedule) - enroll and drop courses - join a waitlist if a course is full 2. Admin/Registrar can: - create/update course offerings each term (capacity, schedule, instructor) - set rules (prerequisites, enrollment windows, max credits) ### Key requirements - **High concurrency** during peak registration (e.g., first 10 minutes of enrollment window). - No overselling seats: enrollment must not exceed capacity. - Waitlist should be fair (e.g., FIFO or priority rules). - Students should not enroll in conflicting time slots. - Auditing: track who enrolled/dropped and when. ### Non-functional requirements - Strong consistency for seat counts during enrollment. - Availability is important; graceful degradation for search/browse is acceptable. - Observability: metrics and alerts for registration failures/latency. Deliver: - High-level architecture - Data model - APIs - Concurrency/control strategy for seat allocation + waitlist - Scaling and failure handling

Quick Answer: This question evaluates a candidate's ability to design scalable, strongly-consistent, and concurrent systems, testing skills in distributed systems, data modeling, API design, concurrency control, fair waitlisting, scheduling/conflict resolution, and observability within the System Design domain.

Related Interview Questions

  • Design a URL shortener - J.P. Morgan (easy)
  • Improve shopping cart latency and stock notifications - J.P. Morgan (easy)
  • Design a cloud-based global property rental platform - J.P. Morgan (medium)
  • Design a URL shortener - J.P. Morgan (medium)
J.P. Morgan logo
J.P. Morgan
Jan 22, 2026, 12:00 AM
Software Engineer
Onsite
System Design
7
0
Loading...

System Design: Course registration ()

Design an online course registration system for a university.

Core user stories

  1. Students can:
    • search/browse courses by term, department, instructor, time slot
    • view course details (capacity, remaining seats, prerequisites, schedule)
    • enroll and drop courses
    • join a waitlist if a course is full
  2. Admin/Registrar can:
    • create/update course offerings each term (capacity, schedule, instructor)
    • set rules (prerequisites, enrollment windows, max credits)

Key requirements

  • High concurrency during peak registration (e.g., first 10 minutes of enrollment window).
  • No overselling seats: enrollment must not exceed capacity.
  • Waitlist should be fair (e.g., FIFO or priority rules).
  • Students should not enroll in conflicting time slots.
  • Auditing: track who enrolled/dropped and when.

Non-functional requirements

  • Strong consistency for seat counts during enrollment.
  • Availability is important; graceful degradation for search/browse is acceptable.
  • Observability: metrics and alerts for registration failures/latency.

Deliver:

  • High-level architecture
  • Data model
  • APIs
  • Concurrency/control strategy for seat allocation + waitlist
  • Scaling and failure handling

Solution

Show

Submit Your Answer

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More J.P. Morgan•More Software Engineer•J.P. Morgan Software Engineer•J.P. Morgan System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,500+ 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.