Ramp Software Engineer Interview Experience — Four Onsite Rounds, No Offer

Company: Ramp

Role: Software Engineer

Round: Onsite

Seniority: General

Outcome: Rejected

**1. Coding** (I'm posting the full original question) Given a list of flights: ``` [ { "departure_airport": "SFO", "departure_time": "2021-10-26T16:15:00Z", "arrival_airport": "JFK", "arrival_time": "2021-10-26T21:34:00Z", "user_id": 1 }, { "departure_airport": "JFK", "departure_time": "2021-10-29T18:31:00Z", "arrival_airport": "MIA", "arrival_time": "2021-10-29T21:36:00Z", "user_id": 1 }, { "departure_airport": "MIA", "departure_time": "2021-11-15T15:10:00Z", "arrival_airport": "MSY", "arrival_time": "2021-11-15T18:21:00Z", "user_id": 1 }, { "departure_airport": "SFO", "departure_time": "2021-10-28T11:47:00Z", "arrival_airport": "SEA", "arrival_time": "2021-10-28T14:02:00Z", "user_id": 2 }, { "departure_airport": "SEA", "departure_time": "2021-11-04T03:47:00Z", "arrival_airport": "JFK", "arrival_time": "2021-11-04T09:12:00Z", "user_id": 2 } ] ``` Part 1: `get_user_with_most_flights()` Part 2: `get_user_location(time)` The problem itself wasn't hard — a classic binary search question. But I had to figure out on my own how to import the file (the file and the test weren't even in the same folder), and I wasn't that familiar with writing tests in pytest, so I spent some time exploring. In the end I didn't get it bug-free, which is probably the main reason I failed this round — kind of a shame. **2. AI Coding** The AI coding round was a multi-source data reconciliation problem — I had to define the matching logic myself and align on it with the interviewer. It's a pretty classic reconcile-style problem, worth researching on your own. The recruiter's guidance had already strongly hinted at the question, so I looked into it beforehand. Even so, I still wasn't totally sure how the interviewer was evaluating my level of AI usage during the interview. **3. Architecture** The recruiter's guidance explicitly said this round isn't a typical system design round — it's actually a project deep dive. So I prepared a project and walked through it reasonably well. But near the end the interviewer spent the last twenty minutes asking a system design question, which the recruiter never mentioned would be part of this round — pretty unexpected. The question was how to aggregate the number of visits to your website over the past 1 minute. **4. Behavior** Very typical. Asked what project I was most proud of and why. I've forgotten the rest.

Ramp Software Engineer Interview Experience — Four Onsite Rounds, No Offer

Ramp·Software Engineer·Jan 2026
OnsiteRejectedhard

1. Coding (I'm posting the full original question)

Given a list of flights:

[
  {
    "departure_airport": "SFO",
    "departure_time": "2021-10-26T16:15:00Z",
    "arrival_airport": "JFK",
    "arrival_time": "2021-10-26T21:34:00Z",
    "user_id": 1
  },
  {
    "departure_airport": "JFK",
    "departure_time": "2021-10-29T18:31:00Z",
    "arrival_airport": "MIA",
    "arrival_time": "2021-10-29T21:36:00Z",
    "user_id": 1
  },
  {
    "departure_airport": "MIA",
    "departure_time": "2021-11-15T15:10:00Z",
    "arrival_airport": "MSY",
    "arrival_time": "2021-11-15T18:21:00Z",
    "user_id": 1
  },
  {
    "departure_airport": "SFO",
    "departure_time": "2021-10-28T11:47:00Z",
    "arrival_airport": "SEA",
    "arrival_time": "2021-10-28T14:02:00Z",
    "user_id": 2
  },
  {
    "departure_airport": "SEA",
    "departure_time": "2021-11-04T03:47:00Z",
    "arrival_airport": "JFK",
    "arrival_time": "2021-11-04T09:12:00Z",
    "user_id": 2
  }
]

Part 1: get_user_with_most_flights()
Part 2: get_user_location(time)

The problem itself wasn't hard — a classic binary search question. But I had to figure out on my own how to import the file (the file and the test weren't even in the same folder), and I wasn't that familiar with writing tests in pytest, so I spent some time exploring. In the end I didn't get it bug-free, which is probably the main reason I failed this round — kind of a shame.

2. AI Coding

The AI coding round was a multi-source data reconciliation problem — I had to define the matching logic myself and align on it with the interviewer. It's a pretty classic reconcile-style problem, worth researching on your own.

The recruiter's guidance had already strongly hinted at the question, so I looked into it beforehand. Even so, I still wasn't totally sure how the interviewer was evaluating my level of AI usage during the interview.

3. Architecture

The recruiter's guidance explicitly said this round isn't a typical system design round — it's actually a project deep dive.

So I prepared a project and walked through it reasonably well. But near the end the interviewer spent the last twenty minutes asking a system design question, which the recruiter never mentioned would be part of this round — pretty unexpected. The question was how to aggregate the number of visits to your website over the past 1 minute.

4. Behavior

Very typical. Asked what project I was most proud of and why. I've forgotten the rest.

Curated and edited by PracHub

Practice the questions from this interview

Ramp Software Engineer Interview Experience — Four Onsite Rounds, No Offer | Ramp Interview Experience