Skip to content

Commit 2ed6bb8

Browse files
bank-account: split description into instructions and introduction
1 parent 3d9837e commit 2ed6bb8

File tree

3 files changed

+27
-12
lines changed

3 files changed

+27
-12
lines changed

exercises/bank-account/description.md

Lines changed: 0 additions & 12 deletions
This file was deleted.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Instructions
2+
3+
Your task is to simulate a bank supporting opening/closing accounts, withdrawals, and deposits of money.
4+
5+
As bank accounts can be accessed in many different ways (internet, mobile phones, automatic charges), make sure that your bank accounts can safely be accessed from multiple threads/processes (terminology depends on your programming language) in parallel.
6+
7+
It should be possible to close an account; operations against a closed account must fail.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Introduction
2+
3+
After years of filling out forms and waiting, you've finally acquired your banking license.
4+
This means you are now officially eligible to open your own bank, hurray!
5+
6+
Your first priority is to get the IT systems up and running.
7+
After a day of hard work, you can already open and close accounts, as well as handle withdrawals and deposits.
8+
9+
Since you couldn't be bothered writing tests, you invite some friends to help test the system.
10+
However, after just five minutes, one of your friends claims they've lost money!
11+
While you're confident your code is bug-free, you start looking through the logs to investigate.
12+
13+
Ah yes, just as you suspected, your friend is at fault!
14+
They shared their test credentials with another friend, and together they conspired to make deposits and withdrawals from the same account _in parallel_.
15+
Who would do such a thing?
16+
17+
While you argue that it's physically _impossible_ for someone to access their account in parallel, your friend smugly notifies you that the banking rules _require_ you to support this.
18+
Thus, no parallel banking support, no go-live signal.
19+
Sighing, you create a mental note to work on this tomorrow.
20+
This will set your launch date back at _least_ one more day, but well...

0 commit comments

Comments
 (0)