Category: Sliding window system design problemThese are commonly asked system design questions from Rippling interviewsInput: Given input Output: Computed result
codingMediumVerified Question#2
2. [AI Enabled Coding] Card Game
Category: String coding problem# Question You are building a simplified card game where each player has a hand of cards and the higher-rated hand wins. Each hand contains exactly...Input: String Output: Computed result
codingHardVerified Question#3
3. [AI Enabled Coding] Design Logger
Category: Array coding problem# Question You need to design a logger library for a new application. The design should be able to allow us to easily add future loggers, like a db...Input: Array Output: Printed output
codingMediumVerified Question#4
4. [AI Enabled Coding] Food Delivery Company
Category: String coding problem# Question You are building a driver payment system for a food delivery company. The accounting team needs to track how much money is owed to drivers...Input: String Output: Integer
codingHardVerified Question#5
5. [AI Enabled Coding] Rule Evaluator
Category: String coding problem# Question You need to build a rule evaluation system for a corporate credit card platform. Managers should be able to create rules that enforce...Input: List Output: Computed result
technicalMediumVerified Question#6
6. How to pass AI Enabled Coding Rounds From FAANG Interviewer
Category: Algorithm coding problem# Tips For AI Coding Rounds AI coding rounds are not as different from regular coding rounds as you might think. The interviewer still needs to get...Input: Given input Output: Computed result
system designSeniorapi design#1
1. [OA] Service Health Monitor — Design a system to track the health of Rippling services
Rippling requires a system to continuously monitor the health status of its various services to swiftly address any outages or performance issues. Problem Statement: Design a ServiceHealthMonitor class that provides: - registerService(name: string): Register a new service for health monitoring. - reportHealth(name: string, status: string): Report the health status of the service (e.g., 'UP', 'DOWN'). - getHealthReport() -> Dict<string, string>: Retrieve the health status of all registered services. Example 1: Input: registerService('Billing Service') Output: Success message indicating the service has been registered. Explanation: The health monitor now tracks the billing service's status. Constraints: - Supports health statuses of up to 500 services. - Status updates must be captured within 100 milliseconds.
system designSeniorapi design#2
2. [OA] Distributed Config Manager — Design a system to manage configuration across Rippling services
Rippling's various microservices require a consistent and easily manageable configuration system to maintain operational consistency across different deployments. Problem Statement: You need to design a DistributedConfigManager class that offers the following functionalities: - getConfig(key: string) -> string: Retrieve the configuration for a specified key. - setConfig(key: string, value: string): Set a new value for a specified key. - listConfigs() -> List<string>: List all configuration keys available. Example 1: Input: setConfig('DATABASE_URL', 'mysql://localhost:3306') Output: Success message Explanation: The configuration value is set successfully. Constraints: - The system must handle at least 1000 configuration keys. - Retrieval and setting must occur in O(1) time.
codingHarddocker#3
3. [OA] Dockerfile Optimization — Improve the Dockerfile for Rippling’s microservices deployment
Rippling manages multiple microservices in containers. An optimized Dockerfile decreases image size and improves build times. Problem Statement: Revise an existing Dockerfile to ensure it follows best practices in minimizing layers and reducing the image size. Your Dockerfile should utilize multi-stage builds where applicable. Example 1: Input: Existing Dockerfile specifying base image node:14 with unnecessary layers. Output: Streamlined Dockerfile with multi-stage build implementation. Explanation: The revised Dockerfile should build the final image with only necessary runtime dependencies and exclude build-time dependencies. Constraints: - Final image size must not exceed 200MB. - Must support production and development environments.
codingSeniorci cd#4
4. [OA] CI/CD Pipeline Optimization — Implement a robust CI script for Rippling’s deployment processes
Rippling deploys new features frequently, and an efficient CI script ensures that code changes are pushed seamlessly. The goal is to minimize build times while maintaining reliability. Problem Statement: You are tasked to write a CI script in Python that automates the build and test cycle for a microservice-based application. The script should: - Check out code from a Git repository. - Run unit tests and integration tests. - Deploy the service if all tests pass. - Send notifications for failed deployments. Example 1: Input: Repository URL: https://github.com/example/repo, Branch: main Output: Success message if deployment succeeds Explanation: The script checks out the specified branch, runs the tests, and then proceeds with the deployment if tests pass. Constraints: - Maximum build time: 300 seconds - Repository size should not exceed 1GB. - Must handle at least 50 concurrent builds.