stripe logo

Stripe Interviews

3 experiences117 reads7 questions0% success rate
Stripe SDE Intern Phone Screen
stripe logo
Stripe
sde internOngoing
November 14, 20259 reads

Summary

I had a phone screen interview for an SDE Intern position at Stripe, which involved two coding challenges focusing on data processing and tiered pricing logic.

Full Experience

I recently had a phone screen for an SDE Intern role at Stripe. The interview primarily focused on my coding skills, presenting me with two distinct problems. I found both problems to be quite straightforward and was able to articulate my approach clearly. The interview flow was smooth, covering the problem descriptions, my proposed solutions, and then coding them out.

Interview Questions (2)

Q1
Fixed Unit Shipping Fee
Data Structures & Algorithms

Each order contains a country, a product, and a quantity; each product has a fixed unit shipping fee. I was asked to compute the total shipping cost for all orders.

Q2
Tiered Decreasing Pricing
Data Structures & Algorithms

The unit price was no longer fixed; instead, it changed based on quantity tiers. For example: 1–10 units cost USD 1 per unit, and 11–20 units cost USD 0.8 per unit. I needed to calculate the total cost by summing across these pricing tiers.

stripe intern vo experience
stripe logo
Stripe
Software Engineer InternOngoing
November 6, 202569 reads

Summary

I had a virtual onsite interview experience at Stripe for an intern position, which involved three progressively complex coding problems focused on calculating shipping costs based on various pricing rules and edge cases.

Full Experience

Stripe Intern Virtual Onsite Experience

My virtual onsite interview experience at Stripe consisted of three distinct levels, each building upon the complexity of the previous one, all centered around a shipping cost calculation problem. It was a rigorous assessment of my coding ability, logic, and edge case handling.

The first stage was relatively straightforward, designed to test my basic programming and data parsing skills. It quickly ramped up, introducing more dynamic pricing structures and intricate rules.

Level 2 was clearly the logical core, where the problem became much more dynamic and required careful thought to manage incremental costs and various product brackets. The final level, Level 3, added another layer of complexity by introducing different calculation modes, pushing me to integrate distinct logic paths within the same solution.

Overall, it was a challenging but engaging experience that thoroughly tested my problem-solving capabilities.

Interview Questions (3)

Q1
Basic Shipping Cost Calculation
Data Structures & AlgorithmsEasy

The first problem involved calculating the total price based on an order object and a country-specific flat shipping table. I needed to compute the total price by summing each item’s unit price multiplied by its quantity, and then add a flat shipping fee based on the country. For example, in the U.S., if a mouse has a unit price of 550 and a laptop is 1000, the total shipping fee for the U.S. might be 16,000. Canada would have similar logic. The main tasks were handling JSON parsing and basic loop logic to aggregate the costs.

Q2
Incremental Shipping Cost Calculation
Data Structures & AlgorithmsMedium

Building upon Level 1, shipping costs were no longer a fixed price but dynamically varied based on quantity—an “incremental cost” model. Each product could have multiple cost brackets, defined by quantity ranges. My task was to determine which bracket the current item's quantity fell into, then multiply the corresponding unit price from that bracket by the quantity, and sum it up. The problem highlighted the need for clear logic and correct handling of edge cases, such as maxQuantity = null, which indicated no upper bound for a bracket. Correctly matching the rule and accumulating the price was critical.

Q3
Mixed Fixed and Incremental Shipping Cost Calculation
Data Structures & AlgorithmsHard

This stage introduced a new layer on top of Level 2: a 'type' concept with two calculation modes—'fixed' and 'incremental.' The 'incremental' mode functioned identically to Level 2. However, the 'fixed' mode meant that within a specific quantity bracket, the total price for that item was fixed and did not increase linearly with the quantity. For example, if I bought two laptops and they fell into a 'fixed' cost bracket of 1000, the total charge for those laptops would be 1000, not 2000. The primary challenge was integrating both these pricing logics ('fixed' and 'incremental') within the same calculation loop while ensuring correctness.

Stripe Phone Screen | Senior Software Engineer Interview
stripe logo
Stripe
Senior Software EngineerOngoing
October 9, 202539 reads

Summary

I had a phone screen interview with Stripe for a Senior Software Engineer role. The interview focused on a two-part problem involving shipping cost calculation, which I managed to solve within the given time. I'm uncertain about the outcome, but I'll wait and see.

Full Experience

I recently had a phone screen interview for a Senior Software Engineer position at Stripe. The interview presented a coding challenge in two parts, both revolving around calculating shipping costs based on varying parameters. I successfully solved the first part, which involved a basic calculation using fixed product costs per country, in about 20 minutes. The second part introduced more complexity, requiring me to handle quantity-based discounts where costs were defined in slabs. I managed to tackle this part as well before we ran out of time. The interviewer mentioned I needed to solve as many parts as possible within 45 minutes, which I did. However, I have a feeling I might not receive a callback, but I'm keeping my options open.

Interview Questions (2)

Q1
Calculate Shipping Cost - Basic
Data Structures & AlgorithmsMedium

You are given two JavaScript objects: order and shipping. You need to calculate the total shipping cost for the given country in the order object.

order = {
    "country": "US",
    "items": [
        {"product": "mouse", "quantity": 5},
        {"product": "laptop", "quantity": 2}
    ]
}

shipping = { "US": [ {"product": "mouse", "cost": 500}, {"product": "laptop", "cost": 1000} ], "CA": [ {"product": "mouse", "cost": 700}, {"product": "laptop", "cost": 1200} ] }

In this example, the total shipping cost would be 5 * 500 + 2 * 1000 = 4500.

Q2
Calculate Shipping Cost with Quantity Discounts
Data Structures & AlgorithmsMedium

Extend the previous problem. Now, if discounts are given for different quantities, how would you calculate the shipping cost? The shipping object has been modified to include quantity-based cost slabs.

shipping = {
    "CA": [
        {"product": "mouse", "cost": 500},
        {"product": "laptop", "cost": 1000}
    ],
    "US": [
        {"product": "mouse", 
         "cost": [{
                    minQuantity:0,
                    maxQuantity:2,
                    cost: 200
                    },
                  {
                    minQuantity:3,
                    maxQuantity:null,
                    cost: 700
                    }
                    ]
            },
        {"product": "laptop", 
            "cost": [{
                    minQuantity:0,
                    maxQuantity:null,
                    cost: 700
                    }
                    ]
                }
    ]
}

Using the original order (5 mice, 2 laptops in US), the shipping cost would be (3 * 200 + 2 * 700) + (2 * 700) = 600 + 1400 + 1400 = 3400. (Note: The provided example calculation 3 * 200 + 2 * 700 + 2 * 700 implicitly assumes 5 mice, where 3 fall into the minQuantity:3 slab and 2 into the minQuantity:0, maxQuantity:2 slab, which is a bit ambiguous; a more direct interpretation would be finding the *single* applicable slab for the *total* quantity of 5 mice, which is minQuantity:3, cost: 700, making it 5 * 700. However, following the example calculation 3 * 200 + 2 * 700 + 2 * 700, it implies a weighted average or a specific interpretation of how to apply multiple slabs for a single quantity. For clarity, I will assume finding the *single best matching slab* for the total quantity based on minQuantity being less than or equal to item quantity and maxQuantity being greater than or equal to item quantity, or null.)

Have a Stripe Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Stripe.