Addepar Software Engineer Interview Experience — Table Transactions with Commit and Rollback

Addepar·Software Engineer·Aug 2026
Technical Screenmedium

Coding / OOD + Data Structure

The interview used a simplified table:

rowName -> columnName -> value

I needed to implement:

createRow(String rowName)
deleteRow(String rowName)
updateCell(String rowName, String columnName, String newVal)
findAndReplace(String findString, String replaceString)
showTable()
beginTransaction()
commitTransaction()
rollbackTransaction()

The inputs for the basic operations were simply the parameters in each method signature. showTable() printed the current table. There were no especially complicated return-value requirements.

The table could be modified only after a transaction had begun.

The transaction behavior was similar to a database:

  • beginTransaction() starts a transaction.
  • commitTransaction() saves the changes.
  • rollbackTransaction() restores the state from before beginTransaction().

Rollback needed to handle create, delete, and update operations correctly. For example, a row created during the transaction had to be deleted after rollback, while an existing row had to be restored to its state before the transaction.

The problem did not require nested transactions or concurrent transactions. The focus was transaction state management and rollback.

Published

Curated and edited by PracHub

Practice the questions from this interview

Discussion

Sign in to join the discussion. The author is notified of every comment.

Loading comments…

Interview at a glance

Company
Addepar
Role
Software Engineer
Rounds
Technical Screen
Difficulty
medium
Interview date
Aug 2026
Questions from this interview
1 question

Real Addepar interview experiences

First-hand reports from Addepar candidates — the rounds, the questions they were asked, and how it went.

All 6 Addepar interview experiences