No More Leetcode: The Stripe Interview Experience
In light of the recent layoffs, which I think Stripe handled well (CEO’s note to employees), I wanted to share my interview experience with them.

I applied online directly on their jobs site. The next day, a recruiter reached out to me and said they wanted to chat.
Overall, the process was this:
- Recruiter Screen
- Technical phone screen
- Onsite
- Offer (+ negotiation)
Recruiter Screen
I gave a quick introduction about who I was and what I was looking for, and the recruiter told me about the team and what sort of projects I’d be working on there. Typical stuff.
Technical Phone Screen
For my technical phone screen, we did a programming question. The recruiter emphasized it’d be a “pair programming” session, where it should feel like the interviewer and I were collaborating on a problem — for the most part, this was true. The interviewer gave me a hint when I was deciding which approach to take to solve the problem, and we had a pleasant discussion about tradeoffs I was making in the solution I decided to implement.
No obscure algorithmic tricks were involved, just your simple data structures and computer science fundamentals. I won’t share the question but it had to do with parsing some input format and then performing some straightforward operations on them. The interviewer emphasized “getting the problem done” over efficiency and wanted this to simulate a “real-world” problem I might run into at work as much as possible.
We finished with 10 minutes to spare so I asked the interviewer about their experience at Stripe, then we ended the interview.
A few days later, I got the good news — I was moving onto the onsite.
Onsite
The onsite was five rounds:
- Debugging
- Experience & Goals
- (Lunch, which I won’t count as a round)
- Coding / Programming Exercise
- Integration
- System Design
I did my onsite in their office in San Francisco.
Debugging
The interviewer asked me to download a particular revision of an open-source repo for a fairly popular library. Then, they asked me to run a test, which was failing, and asked me to fix it!
I didn’t actually find a fix for the bug in this interview! However, I verbalized my thought process as much as I could, used Python’s debugger (pdb) as much as I could, and traced through the code fairly quickly to find where the issue was coming from. In the last five minutes of the interview, the interviewer ended up telling me how to fix it, but at least I had found where the problem was.
After the interviewer left, I felt pretty nervous, because I felt this was a binary yes or no outcome — did I find the bug or not? Thankfully, it wasn’t a reason to fail me, as I later found out.
Experience & Goals
My next interview was with my potential manager. These were your typical questions, like:
- “What did you work on at
?” - “Tell me about a time you disagreed with a teammate, and how did you resolve it?”
- “Walk me through a technically challenging problem you had to solve recently.”
I thought the discussion here went reasonably well, and went off to my lunch break. Stripe has a team of in-house chefs and the food was delicious!
Coding / Programming Exercise
This interview focused on my programming ability. We worked through a more algorithmic-based question, a bit more complex than the phone screen question, but still very practical in nature (this was a toy version of a problem that Stripe actually has to deal with!). The problem statement was fairly straightforward, and I proposed a few ideas on how to solve it. The interviewer and I agreed that one was more straightforward than the other (again, time complexity wasn’t the focus here), so I went ahead with that approach.
I remember I had to plug my laptop into the TV in the meeting room, and the interviewer watched me code the solution up, and then we wrote a few test cases to confirm things worked.
We also finished this problem a few minutes early, so I asked them some more questions about Stripe.
Integration
This was probably the most “real-world” based interview question I got. Essentially, we worked with the Stripe API to directly to simulate some actions that a typical user might perform. I think Stripe wanted to evaluate how I would search for information on Google or Stack Overflow and see if I could stitch together different libraries quickly.
Thankfully, I had a bit of experience with this from another coding interview I did a few weeks ago, so we got through the first part relatively quickly. The second part was trickier and involved mutating some of the values we sent in our API call, but with some hints, I also got through this question.
System Design
The interviewer asked me to design a distributed backend system. There wasn’t too much focus on how the user interface might look, but rather how we’d architect this system.
This was a pretty typical system design interview — I had to ask about use cases, come up with some assumptions on load (queries per second, read v.s. write), and usage patterns. I drew up the architecture on the whiteboard in the meeting room.
My interviewer was really nice and again we had a lively discussion on the tradeoffs I was making when I came up with the system design.
Wrap-up
Stripe’s interview definitely wasn’t the most technically challenging, but I think they do place a heavy emphasis on communication and reading comprehension. Many of the questions had fairly long prompts, so you had to read the information quickly but also carefully to ensure you didn’t miss anything. Refreshingly, they didn’t ask any typical Leetcode-like questions and didn’t really care about an optimal time complexity for the solutions I wrote, though they did ask me what the time complexities were.
The interviewers were all really kind — after I got the offer, several of them reached out to congratulate me and offered to chat with me if I had more questions about working at Stripe.
Fairly famously, Stripe had a “We don’t negotiate” policy. However, they did bump up my sign-on bonus before I even tried to negotiate after I let them know I had other final rounds coming up. They were true to their word in that they wouldn’t budge on my base salary or equity despite my having other offers.
Hopefully this was helpful and best of luck if you decide to apply there!
For more articles like this, follow me on Medium. Want more software engineering interview guides and coding question tips? Check out all of my writing organized by topic in this article.
If you have any requests for what I should write, please let me know!




