Coding interview questionMedium
Uber

Currency Conversion from Exchange Rates

Given a list of direct exchange rates, find the conversion rate between any two currencies, including pairs that have no direct rate.

1. Problem Statement

You are building a currency exchange system. You receive a list of direct exchange rates, each described as (from_currency, to_currency, rate), meaning 1 unit of from_currency buys `rate` units of to_currency. Design and implement a system that: 1. Ingests the list of exchange rates. 2. Answers queries: given a source currency and a target currency, return the effective conversion rate (or indicate that conversion is not possible). Assume inverse rates are implied: if A→B = r, then B→A = 1/r. Assume every provided rate is positive. If the same directed pair appears multiple times, the last provided rate replaces earlier ones, and the final rate table is internally consistent, so every way of converting through other currencies gives the same effective rate. Return 1.0 for a known currency converted to itself, and -1.0 when either currency is unknown or the conversion is not possible. Start with any clarifying questions.

2. Live Coding Format

Work in the provided coding workspace while explaining your decisions to the live interviewer. Validation may use inline tests, examples, comments, or a verbal walkthrough.

3. Key Focus Areas

  • 1
    Problem clarification and contract
  • 2
    Data modeling for the rate table
  • 3
    Correct conversions without a direct rate
  • 4
    Edge cases: unknown currencies, self-conversion, impossible conversions
  • 5
    Complexity, numeric precision and follow-up

4. What Strong Candidates Should Demonstrate

  • Clarify the rate contract: inverse rates, repeated pairs, self-conversion and unknown currencies.
  • Answer conversions between currencies that have no direct rate, and justify the cost of each query.
  • Handle duplicate-rate ingestion, disconnected currencies, and self-conversions deterministically.
  • Discuss the floating-point precision of the converted rates.

Want interactive feedback?

Practice this problem in the live coding workspace while the interviewer probes your clarification, implementation, trade-offs, and validation.

Continue to Dashboard

Core Concepts

Hidden because they name the technique, which a real interviewer would not tell you.

Show core concepts
GraphsBFS / DFSHash MapsNumerical Reasoning

Continue preparing

Build a complete software engineer mock interview plan

Related Coding / DSA

Cheapest Route Within a Stop Limit

Given one-way routes between cities each with a cost, find the cheapest total cost from a source city to a destination city using at most k intermediate stops.

Related Coding / DSA

Minimum Coins to Reach an Amount

Given a set of coin denominations and a target amount, find the minimum number of coins (with unlimited supply of each denomination) needed to make exactly that amount, or report it is impossible.

Related Coding / DSA

Minimum Time for Contamination to Spread

Given a grid where each cell is empty, clean, or already contaminated, find the minimum time for all clean cells to become contaminated, spreading one step per unit time to adjacent cells, or report it is impossible.