eBay | CodeSignal | OA | Industry Coding Assessment
Summary
I recently completed an Online Assessment for eBay on CodeSignal, which involved implementing a complete banking system across several levels.
Full Experience
Hi Fam, I recently appeared for the eBay Industry Coding Assessment (OA) on CodeSignal. This assessment was quite different from the general coding assessments which usually have four random Data Structures questions. In this ICA, I was given a project codebase and my task was to implement several interfaces, classes, and methods to pass the test cases for each level of a banking system.
Interview Questions (4)
Implement the core functionalities of a banking system including account creation, deposits, and transfers.boolean createAccount(String accountId, int timestamp) - Create new accountsOptional<Integer> deposit(String accountId, int timestamp, int amount) - Deposit money into accountsOptional<Integer> transfer(String fromId, String toId, int timestamp, int amount) - Transfer money between accounts
Implement a function to retrieve the top N accounts based on their outgoing transactions.List<String> topSpenders(int timestamp, int n) - Returns top N accounts based on outgoing transactions, sorted by amount (descending) and then by account ID (ascending)
Implement functionalities for scheduling payments, checking their status, and processing them with cashback.void schedulePayment(String accountId, String targetAccId, int timestamp, int amount, double cashbackPercentage) - Schedule payments with cashbackString getPaymentStatus(String accountId, int timestamp, String paymentId) - Check if payment is scheduled, processed, or failedvoid processScheduledPayments(int currentTimestamp) - Execute scheduled payments and apply cashback
Implement a function to merge two existing accounts, combining their balances and updating all associated transaction histories.void mergeAccounts(String accountId1, String accountId2) - Merge two accounts, combining balances and updating all transaction histories