ebay logo
Ebay· Software Engineer

eBay SWE Assessment (Industry Coding Assessment)

Posted
1 May 2026
439 reads

Summary

I took the eBay SWE Industry Coding Assessment on CodeSignal, which involved implementing a data storage system with CRUD operations, filtering, TTL, and point-in-time backups. I scored 510/600 but couldn't pass all test cases for the backup functionality.

How it went

I took the eBay SWE Industry Coding Assessment on CodeSignal. The problem was to implement a data storage system supporting basic operations, filtering, and point-in-time recovery (backups).

Level 1: Basic Storage (CRUD)

  • SET_OR_INC(key, field, value): Update string fields or increment integer fields.
  • GET(key, field): Retrieve a field’s value.
  • DELETE(key, field): Remove a field or entire key if no fields remain.

Level 2: Scanning & Filtering

  • FETCH(field, value): Return records matching a field-value pair, formatted as "field1(val1), field2(val2)", sorted alphabetically by key.

Level 3: Advanced Filtering or TTL

  • Either add TTL support to SET, where expired entries behave as deleted, or support multi-field/range filters like value > 100.

Level 4: Point-in-Time Snapshots

  • BACKUP(): Save current state and return a backup ID.
  • RESTORE(backupId): Revert to a previous state efficiently—deep copy may cause performance issues; better strategies involve versioned maps or Copy-on-Write.

The problem statement resembled what's described in sources like Gemini. I struggled with passing all test cases in Level 4 related to backup/restore performance and correctness. My total score was 510 out of 600.

Questions asked (1)

  1. 01

    Design Data Storage System with Backup Support

    Data Structures & Algorithms · Hard

    Implement a data storage system that supports:

    • SET_OR_INC(key, field, value): Sets or increments a field under a key.
    • GET(key, field): Retrieves a field value.
    • DELETE(key, field): Deletes a field or key.
    • FETCH(field, value): Returns keys whose specified field matches the given value, formatted as "field1(val1), field2(val2)", sorted by key.
    • TTL option: Fields can expire after being set.
    • BACKUP(): Captures current DB state and returns a unique backup ID.
    • RESTORE(backupId): Reverts the database to the saved state associated with the backup ID.

    Optimize for performance during BACKUP/RESTORE to avoid timeouts on large datasets.

Know someone preparing? Send it to them:WhatsAppLinkedInX

Interviewed at Ebay recently?

Write up your rounds while you still remember the questions. It helps the next person more than you would think.

Share your experience
Discussion 0

Questions for the author, or how your own interview compared.

Join the discussion

Sign in with Google to comment or ask the author a question.

No comments yet

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