All FDE interview questions

Question 1Coding

Here's a CSV export from a customer. Write a script that cleans it and loads it into our API.

Very close to real FDE work. They watch how you handle bad rows and failures.

Asked for in 81% of live FDE postings
“Engineering background. You're a genuine builder. Proficient in Python and at least one of TypeScript/JavaScript, Java, or Go; comfortable across data plumbing, APIs, and a bit of front-end when a demo needs it.”
Forward Deployed Engineer · NinjaTech AI
They scoreHandles messy input calmlyNever loses a row silentlyReports what happened

The answerFour steps

  1. 1

    Read with a proper CSV parser; check the header first

    Say it like this

    “I open it with Python's csv module, not a split on commas, and check the header before reading any rows. Excel exports often start with a BOM, so I read with utf-8-sig.”

    Why it scores

    Real parser and a header check. Quoted commas and BOMs break naive scripts.

  2. 2

    Validate each row and collect errors, not crash on the first one

    Say it like this

    “Each row goes through a validate function that returns a clean record or a list of errors: missing email, bad date, duplicate ID. Bad rows go to an errors file with their line number, and the script keeps going.”

    Why it scores

    Collects errors instead of crashing. The customer gets a fix list, not a stack trace.

  3. 3

    Send in batches with retries and a clear report at the end

    Say it like this

    “Then I post in batches of 100, retry 429s and 5xx errors with backoff, and finish with a summary: 18,000 read, 17,640 loaded, 360 rejected, and where to find them.”

    Why it scores

    Batches, retries and a final count. Sounds like someone who has loaded real data.

  4. 4

    Write one or two quick tests for the parsing

    Say it like this

    “Last, two quick pytest cases: a row with a comma inside quotes, and one with a missing field.”

    Why it scores

    Tests aimed at the edge cases that actually break parsing.

StrongAll together

About a minute, out loud. The marked parts are the four steps; hover one to find it above.

Say it's 18,000 tenants from a property manager's Excel export. I open it with Python's csv module, not a split on commas, and check the header before reading any rows. Excel exports often start with a BOM, so I read with utf-8-sig.1 Each row goes through a validate function that returns a clean record or a list of errors: missing email, bad date, duplicate ID. Bad rows go to an errors file with their line number, and the script keeps going.2 Then I post in batches of 100, retry 429s and 5xx errors with backoff, and finish with a summary: 18,000 read, 17,640 loaded, 360 rejected, and where to find them.3 Last, two quick pytest cases: a row with a comma inside quotes, and one with a missing field.4

WeakThe answer that fails

Sounds fine. Common. Scores low.

“I'd load it with pandas, drop the rows with nulls, then loop through and POST each row to the API. If something fails, I'd log the error and fix it.”

Interviewer's note

Silently drops data, one request per row, no report. The customer can't tell what loaded and what didn't.

PracticeTwo minutes, then they push back

Your turn

Here's a CSV export from a customer. Write a script that cleans it and loads it into our API.

Answer like you're in the room: about two minutes, no notes. Say it out loud, even alone. It feels different from thinking it. Then check your answer against what interviewers score.