Level: Unknown Level
Round: Phone Screen · Type: Coding · Difficulty: 7/10 · Duration: 60 min · Interviewer: Neutral
Topics: System Design, API Design, Data Structures, Algorithms
Location: Remote
Interview date: 2026-01-15
I had a technical phone screen where I was asked to design and implement a system to evaluate expenses against a set of rules. The goal was to identify expenses and trips that violate the rules.
I was asked to design a system to process rules and mark expenses/trips that violate them. Here's the scenario:
My team is building a product that provides company-issued credit cards for employees to use for business expenses. The system allows setting policies to prevent employees from misusing the cards or exceeding spending limits. I needed to design the architecture to support this functionality.
Initially, the rules are basic:
Example expense data:
expenses: list[dict[str, str]] = [
{
\