题目 1:Java Banking System
Implement a UML diagram for a simple banking system.
Consider the following domain model for a simple banking system:
Left-click to open the fully expressed UML diagram in a new tab.
Fundamentally, the system works like this:
- Each
Transaction
object is associated with aBank
. - A
Bank
has aLong
toAccount
map of client account numbers toAccount
objects. - Each
Account
has anAccountHolder
, an account number, a pin number, and a balance. - The
AccountHolder
class is abstract, so it’s implemented by thePerson
andCompany
classes. - The
Account
class is abstract, so it’s implemented by theCommercialAccount
andConsumerAccount
classes. - A
ConsumerAccount
has a singlePerson
as the owner, but aCommercialAccount
has aCompany
as its owner and maintains a list ofPerson
objects that are authorized users on theAccount
.
The Java project in the editor below contains the following:
- An incomplete skeleton implementation of the simple banking system diagrammed here that contains the necessary files and method declarations.
- A set of JUnit tests.
Complete the implementation so that the project passes all the unit tests.
- Passing tests are to provide feedback on basic code correctness, they don’t guarantee solution is complete
- Assume that the bank system is running in a distributed environment
题目 2:Velocity
Adyen merchants are targeted by fraudsters all the time. It is Adyen’s job to help our merchants fight fraud. Thus, we have in place Machine Learning and a Rules engine.
To accurately fight fraudsters it is not enough to only use payment information, some context is also required. Thus, we allow our merchants to specify rules based on card usage. A merchant can for instance configure a rule to block a payment if the card was seen more than 5 times in the last 10 minutes, or in the last 10 hours.
Remember that Adyen processes a lot of payments daily and risk assessment is essential to be performed for all of them, so the implementation must perform really well.
Implement the VelocityProvider
interface.
题目 3:Job History - #1
Adyen uses a "Job System" to execute various Jobs (Programs). These Jobs go through multiple stages to complete.
Different instances of the same Job may be running simultaneously. We keep track of the Job executions and their stages in a database.
IDs of Job Executions are incremental.
Write an SQL query that for each job_name
provides last (highest) execution_id
. Use standard SQL without proprietary extensions.
The result should have the following columns: job_name | last_execution_id
job_name
– the name of the Job (Program)last_execution_id
– the last (highest) execution_id for the particularjob_name
.
题目 4:Job History - #2
Adyen uses a "Job System" to execute various Jobs (Programs). These Jobs go through multiple stages to complete.
Different instances of the same Job may be running simultaneously. We keep track of the Job executions and their stages in a database.
IDs of Job Executions are incremental.
Return table matching job_name
, last_execution_id
of that job (highest execution_id
), and the timestamp of that execution’s last state change. Use standard SQL without proprietary extensions.
The result should have the following columns: job_name | last_execution_id | latest_timestamp
job_name
– the name of the Job (Program)last_execution_id
– the last (highest) execution_id for the particularjob_name
latest_timestamp
– the timestamp of last state change of thelast_execution_id
.
Feel free to use the solution of the previous question to solve this question.
题目 5:Job History - #3
Adyen uses a "Job System" to execute various Jobs (Programs). These Jobs go through multiple stages to complete.
Different instances of the same Job may be running simultaneously. We keep track of the Job executions and their stages in a database.
IDs of Job Executions are incremental.
Return table matching job_name
and the last status of the last (highest) execution_id
. Use standard SQL without proprietary extensions.
The result should have the following columns: job_name | status
job_name
– the name of the Job (Program)status
– the latest status of the last (highest)execution_id
for the particularjob_name
.
Feel free to use the solution of the previous question to solve this question.

我们长期稳定承接各大科技公司如Adyen、TikTok、Google、Amazon等的OA笔试代写服务,确保满分通过。如有需求,请随时联系我们。
We consistently provide professional online assessment services for major tech companies like TikTok, Google, and Amazon, guaranteeing perfect scores. Feel free to contact us if you're interested.
