Ramp Online Assessment Questions

5+ real Ramp OA questions from candidate reports. Sourced from 1Point3Acres, Blind, Glassdoor, Reddit, and LeetCode. Browse by year to find the most recent data, or view the full OA question set filtered on the main company page.

Browse Ramp OA by Year

Recent Ramp OA Sample Questions

Ramp 2025 Online Coding Assessment for Applied AI Engineer Position

hard sliding window 2025 1p3a

This post was last edited by Anonymous on 2025-09-29 10:38. I applied for an Applied AI Engineer position at the end of September and immediately received an online assessment (OA) invitation. It was

View

Ramp Software Engineer Platform SWE Online Test Experience

easy graphs 2025 1p3a

This post was last edited by Anonymous on 2025-09-29 11:07. This is my third sharing this week. I'm asking for points to see my interview experience! This time, I applied for a Software Engineer/Platf

View

Ramp Software Engineer Intern Online Assessment Experience

hard sql 2025 1p3a

I think I got the online assessment (OA) for free by mass applying. Many people said they got 45 minutes, but mine was 90 minutes for the code signal 4 parts. It was progressive; you had to solve one

View

Bank Automation: Simulate ATM Transactions with Balance and Overdraft Rules

coding other interviewdb

## Round 1 - Coding / OA ## Problem Simulate a bank account system. Implement `deposit`, `withdraw`, and `transfer`. Withdrawals fail if the account balance would fall below zero. Transfers atomically move funds between two accounts — if the source lacks funds, the transfer fails entirely. ```python class BankAccount: def __init__(self, account_id: str, balance: float): ... def deposit(self, amount: float) -> float: # returns new balance ... def withdraw(self, amount: float) -> float: # raises InsufficientFundsError if fails ... class Bank: def __init__(self): ... def add_account(self, account: BankAccount) -> None: ... def transfer(self, from_id: str, to_id: str, amount: float) -> bool: ... def get_balance(self, account_id: str) -> float: ... ``` ## Example ``` bank = Bank() bank.add_account(BankAccount("ACC1", 500)) bank.add_account(BankAccount("ACC2", 100)) bank.transfer("ACC1", "ACC2", 200) -> True bank.get_balance("ACC1") -> 300 bank.get_balance("ACC2") -> 300 bank.transfer("ACC2", "ACC1", 500) -> False # insufficient ``` ## Follow-ups 1. How do you prevent race conditions if two threads transfer from the same account simultaneously? 2. How would you implement a transaction history log with timestamps? 3. What happens if `from_id` or `to_id` doesn't exist in the bank? 4. How would you add an overdraft limit so accounts can go negative up to a set threshold?

View

Snake Case to Camel Case: Convert Identifiers Between Naming Conventions

strings interviewdb

## Round 1 - Coding / OA ## Problem Write a function that converts a snake_case string to camelCase and another that goes the reverse direction. Handle leading/trailing underscores and consecutive underscores gracefully. ```python def snake_to_camel(s: str) -> str: ... def camel_to_snake(s: str) -> str: ... ``` ## Example ``` snake_to_camel("hello_world") -> "helloWorld" snake_to_camel("get_user_by_id") -> "getUserById" snake_to_camel("__private_var__") -> "__privateVar__" snake_to_camel("already") -> "already" camel_to_snake("helloWorld") -> "hello_world" camel_to_snake("getUserById") -> "get_user_by_id" camel_to_snake("HTMLParser") -> "html_parser" camel_to_snake("myURLParser") -> "my_url_parser" ``` ## Follow-ups 1. How do you handle acronyms like `HTMLParser` or `URLEncoder` in camel-to-snake conversion? 2. Extend your solution to also support PascalCase as a third convention. 3. How would you apply these conversions recursively to all keys in a nested JSON object? 4. What edge cases arise with empty strings, single characters, or strings that are already in the target format?

View

Most Common OA Topics

strings (1) sql (1) sliding window (1) graphs (1)

Ramp OA Format and Platform

The Ramp online assessment is delivered through a proctored online platform, most commonly HackerRank. Candidates receive the OA link by email after passing an initial resume review. The coding section typically contains 2 to 3 algorithmic problems with a 70 to 110 minute time limit.

Some Ramp teams include an additional work simulation section that tests judgment and decision-making rather than coding ability. This section is not present for all roles. Check the LeakCode question database filtered by role type to see what past candidates for your specific role reported.

FAQ

Does Ramp have an online assessment?

Yes. Ramp uses an OA as the first technical screen for most engineering and technical roles. It is typically sent after a resume review and before any human interviews. The format has remained consistent across recent hiring cycles.

How hard is the Ramp OA?

Based on candidate reports, Ramp OA problems range from LeetCode medium to hard. Expect at least one problem that requires an efficient algorithm (not brute force) to pass all test cases within the time limit.

Where do these OA questions come from?

All questions in the LeakCode database are sourced from actual candidate reports on 1Point3Acres, Blind, Glassdoor, Reddit, and LeetCode. They are not AI-generated. Each question links to its source where the original report is public.

Related: Ramp All Questions · All OA Questions · Browse Companies · Data Sources