Candidates applying for Backend / API Engineer roles take an average of 13 days to get hired, when considering 5 user submitted interviews for this role. To compare, the hiring process at Stripe overall takes an average of 26 days.
Common stages of the interview process at Stripe as a Backend / API Engineer according to 5 Glassdoor interviews include:
One on one interview: 36%
Phone interview: 36%
Presentation: 9%
IQ intelligence test: 9%
Other: 9%
Here are the most commonly searched roles for interview reports -
I applied through a recruiter. The process took 6 weeks. I interviewed at Stripe (Dublin, Dublin)
Interview
First stage was a phone screen with one of their engineers. The problem wasn't really a Leetcode type problem and more about getting working code. After I passed that I made it to the onsite stage.
The onsite consisted of a behavioural interview, system design interview and 2 coding interviews. The 2 coding interviews were again not really Leetcode type problems and they required you to bring your own laptop to do the work. They woudn't let you bring your work laptop so I had to bring my personal laptop. Unfortunately I didn't practice coding on it beforehand so I was not used to various shortcuts which slowed me down. The first coding problem to create a hashmap wasn't too difficult but the one to fix a bug in an open source library was a bit trickier. I assumed I could just scan through the code to find the failing line then fix it. But due to the code style being so different to what I was used to, it was quite hard to follow what was happening. In hindsight I would have started by putting print lines to try and understand the code first before trying to identify the code changes to make.
Interview questions [3]
Question 1
Create a hashmap datastructure which takes a timestamp as a parameter allowing you to have versioned key-values
15 minute call with their recruiter, followed by initial screening round, which was a coding exercise (not leet code, more like string/array manipulation). After passing that, I had to do 6 rounds of:
- System design: whiteboard problem, the guy was pleasant and helpful, but I bottled it.
- Backend integration: Tests your ability to develop a REST api, easy enough.
- Culture: General conversation over career and goals.
- Bug squash: They give you a failing test, and you have to fix it. I managed to fix all suites but I didn't perform very well here bc my methodology wasn't strong enough I believe, and the guy wasn't very pleasant (bit pushy but still professional)
The interview process was very long and exhausting, but it truly tests your ability as a software engineer without resorting to leet code.
I applied online. The process took 2 weeks. I interviewed at Stripe (Cary, NC) in Nov 2021
Interview
Initial screen with recruiter and then a coding session with an engineer. Coding session had nothing to do with Backend engineering or API development at all. Nevertheless, I completed the challenge and all test cases within the allotted time and was able to ask questions to the employee. The next day I received a message that they were not moving forward with me. Not one was my past experience of 8 years asked about. Odd experience.
Interview questions [1]
Question 1
Scenario around a log of store closures (whether store contained customers or not) and different intervals of time the store was closed. Depending on the whether the store was closed and there may have been customers a penalty would be added. The goal was to estimate the max penalty based on the conditions. 3 different test cases to apply and test.
I applied online. The process took 6 weeks. I interviewed at Stripe in Oct 2021
Interview
It was the first interview of a series (the recruiter said it would be more 5 or 6). The interviewer was a recruiter, but he did some technical questions too.
Interview questions [3]
Question 1
- Describe to me/show the projects you have worked with in your career;
- Why did you change your career?
- Why do you want to move abroad?
API Engineer specific questions:
- Describe to me what these HTTP responses mean: 200, 400, 500
- What is the difference between the 401 and 403 HTTP status?
- In a request, what is the header used to indicate the media type?
- What are the differences between Compile-Time and Run-Time Error?
- What are the main 4 types of methods you can use on a request?
Python specific questions:
- In Python, what type of data structure can you use if you want to have many elements keeping track of the order?
- In Python, how do you build a constructor method?
- In Python which of these structures have a way of tracking the order of the elements? List, Set, Dictionary and Tuple