eBay | CodeSignal | OA | Industry Coding Assessment

ebay logo
ebay
Ongoing
October 26, 202574 reads

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)

Q1
Banking System - Basic Operations
Data Structures & AlgorithmsMedium

Implement the core functionalities of a banking system including account creation, deposits, and transfers.
boolean createAccount(String accountId, int timestamp) - Create new accounts
Optional<Integer> deposit(String accountId, int timestamp, int amount) - Deposit money into accounts
Optional<Integer> transfer(String fromId, String toId, int timestamp, int amount) - Transfer money between accounts

Q2
Banking System - Top Spenders
Data Structures & AlgorithmsMedium

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)

Q3
Banking System - Scheduled Payments & Cashback
Data Structures & AlgorithmsHard

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 cashback
String getPaymentStatus(String accountId, int timestamp, String paymentId) - Check if payment is scheduled, processed, or failed
void processScheduledPayments(int currentTimestamp) - Execute scheduled payments and apply cashback

Q4
Banking System - Account Merging
Data Structures & AlgorithmsHard

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

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!