Ramp logo

Ramp Software Engineer System Design Questions

7 practice questions for Ramp Software Engineer interviews

Ramp software engineer interviews cover algorithms, data structures, system design, and coding problems drawn from real interview rounds.

Software Engineer Backend Engineer Frontend Engineer Full Stack Engineer Mobile Engineer Data Engineer Data Scientist ML Engineer DevOps Engineer DevOps Engineer Product Manager SRE Security Engineer Engineering Manager Data Analyst UX/UI Designer QA Engineer

No verified questions yet for Ramp.

system design Medium database #1

1. Design DatabaseManager — a class to manage a simple database with basic operations

Background: Ramp's financial services require efficient data handling and management to track transactions and user data effectively. This class will help manage a database's basic functionalities like adding, removing, and handling ownership of records.
Requirements:
1. The DatabaseManager class should allow for adding new records.
2. It must support removing existing records by ID.
3. Implement a method to add ownership to specific records for users.
4. Create a method to retrieve a record by its ID.
5. Records should be stored in memory for quick access.
Class API:
  • add_record(record: Dict[str, Any]) -> None - Adds a new record.

  • remove_record(record_id: str) -> None - Removes a record by its unique ID.

  • add_ownership(record_id: str, owner_id: str) -> None - Assigns ownership to a user.

  • get_record(record_id: str) -> Optional[Dict[str, Any]] - Retrieves a record by its ID.

Example 1:
  • Input: add_record({'id': '1', 'name': 'Transaction1'}) → Output: None → Explanation: A new record with ID '1' is added.

  • Input: get_record('1') → Output: {'id': '1', 'name': 'Transaction1'} → Explanation: Successfully retrieves the record.

Example 2:
  • Input: remove_record('1') → Output: None → Explanation: The record with ID '1' is deleted.

  • Input: get_record('1') → Output: None → Explanation: The record is no longer found.

Constraints:
  • Maximum of 1000 records can be stored at once.

  • Each record will have a unique ID.

  • Ownership can only be assigned if the record exists.

Related Ramp Software Engineer interview prep

Start practicing Ramp questions

Sign up for free to access walkthroughs, AI-generated questions, and more.

Get Started Free