Senior Backend Engineer Interview Questions

2,041 senior backend engineer interview questions shared by candidates

Home assignment: Create endpoints in a flask API application. Your solution **must persist data into a file** without using an ORM library or a DB system. Your solution **must use [open exchange rates][open-exchange-rates]** to get the exchange rates. The free plan is enough to complete this task. The response format of your API **must be JSON** and a proper use of HTTP status codes and error handling is expected. - `POST /listings` endpoint - Send JSON data in the body, for example: ``` { "title": "Comfortable Room In Cozy Neighborhood", "base_price": 867, "currency": "USD", "market": "san-francisco", "host_name": "John Smith" }, ``` All fields are required except for `host_name`. - Return: the listing information (including its ID) in a JSON format. - `GET /listings/:id` endpoint - Return: the listing information (including its ID) in a JSON format. - `PUT /listings/:id` endpoint - Send JSON data in the body - Update only the fields present in the request - Return: the listing information (including its ID) in a JSON format. - `DELETE /listings/:id` endpoint - A successful response must mean a listing was deleted. - `GET /listings` endpoint - Return: a list of listings in a JSON format. - This endpoint should allow to filter by market and base price/currency. Those filters must be implemented as query parameters: - `market` - optional - A single market or a list of markets separated by commas. It uses the market codes. - E.g.: `?market=paris` or `?market=paris,san-francisco` - `base_price.[e|gt|gte|lt|lte]` - optional - The comparison type is part of the query parameter. - E.g.: `?base_price.gt=500` or `?base_price.lte=300` - `currency` - optional but required when base price is specified - It uses the currency codes. - E.g.: `?currency=usd` - `GET /listings/:id/calendar` endpoint - This endpoint returns the listing's calendar (365 days starting from today). - It must allow to return the calendar in any currency. The default being the listing's currency. This parameter must be implemented as a query parameter: - `currency` - optional - It uses the currency codes. - E.g.: `?currency=usd` - Format for dates: `YYYY-MM-DD` - Calendar rules: - For the Paris and Lisbon markets: Saturday and Sunday => 1.5x of base price - For the San Francisco market: Wednesday => 0.70x of base price - For the rest of the markets: Friday => 1.25x of base price - Example of response: ``` [ { "date": "2019-01-01", "price": 500, "currency": "USD", }, { "date": "2019-01-02", "price": 550, "currency": "USD", }, ... ] ```
avatar

Remote Senior Backend Engineer

Interviewed at Beyond

4
Feb 13, 2022

Home assignment: Create endpoints in a flask API application. Your solution **must persist data into a file** without using an ORM library or a DB system. Your solution **must use [open exchange rates][open-exchange-rates]** to get the exchange rates. The free plan is enough to complete this task. The response format of your API **must be JSON** and a proper use of HTTP status codes and error handling is expected. - `POST /listings` endpoint - Send JSON data in the body, for example: ``` { "title": "Comfortable Room In Cozy Neighborhood", "base_price": 867, "currency": "USD", "market": "san-francisco", "host_name": "John Smith" }, ``` All fields are required except for `host_name`. - Return: the listing information (including its ID) in a JSON format. - `GET /listings/:id` endpoint - Return: the listing information (including its ID) in a JSON format. - `PUT /listings/:id` endpoint - Send JSON data in the body - Update only the fields present in the request - Return: the listing information (including its ID) in a JSON format. - `DELETE /listings/:id` endpoint - A successful response must mean a listing was deleted. - `GET /listings` endpoint - Return: a list of listings in a JSON format. - This endpoint should allow to filter by market and base price/currency. Those filters must be implemented as query parameters: - `market` - optional - A single market or a list of markets separated by commas. It uses the market codes. - E.g.: `?market=paris` or `?market=paris,san-francisco` - `base_price.[e|gt|gte|lt|lte]` - optional - The comparison type is part of the query parameter. - E.g.: `?base_price.gt=500` or `?base_price.lte=300` - `currency` - optional but required when base price is specified - It uses the currency codes. - E.g.: `?currency=usd` - `GET /listings/:id/calendar` endpoint - This endpoint returns the listing's calendar (365 days starting from today). - It must allow to return the calendar in any currency. The default being the listing's currency. This parameter must be implemented as a query parameter: - `currency` - optional - It uses the currency codes. - E.g.: `?currency=usd` - Format for dates: `YYYY-MM-DD` - Calendar rules: - For the Paris and Lisbon markets: Saturday and Sunday => 1.5x of base price - For the San Francisco market: Wednesday => 0.70x of base price - For the rest of the markets: Friday => 1.25x of base price - Example of response: ``` [ { "date": "2019-01-01", "price": 500, "currency": "USD", }, { "date": "2019-01-02", "price": 550, "currency": "USD", }, ... ] ```

- one of users and roles, how it was authenticated, how is the db, the tables, (how the request goes through the backend), how token works, etc. - how to change the encryption in the users db, if we had MD5 to take it to SHA for example - how to call two micros to send notification, and this extended to 1M users and so, how to manage that. - how an user recovers the password, describes the flow and the link that is sent to the email.
avatar

Senior Backend Engineer

Interviewed at Personio

3.2
Sep 30, 2022

- one of users and roles, how it was authenticated, how is the db, the tables, (how the request goes through the backend), how token works, etc. - how to change the encryption in the users db, if we had MD5 to take it to SHA for example - how to call two micros to send notification, and this extended to 1M users and so, how to manage that. - how an user recovers the password, describes the flow and the link that is sent to the email.

Comment fonctionne le sharding dans kafka ? Comment peut on s'assurer que des consommateurs ne consomment pas les messages ? Commnent fonctionne Redis ? Quel type de base de données ? Type d'usage ? Interêt ? Qu'est ce que l'observabilité ? Avez vous déjà mis en place ? Interêt ?
avatar

Senior Backend Engineer

Interviewed at Adikteev

4.5
Jan 7, 2020

Comment fonctionne le sharding dans kafka ? Comment peut on s'assurer que des consommateurs ne consomment pas les messages ? Commnent fonctionne Redis ? Quel type de base de données ? Type d'usage ? Interêt ? Qu'est ce que l'observabilité ? Avez vous déjà mis en place ? Interêt ?

Nontechnical: 1) How do you lead your team? 2) What is your key to success? 3) How do you approach problems? Technical, where you went from one topic to another: 1) What are micro services and why would you use them? What about monolith? 2) How would you identify a bottleneck in the system? 3) How do you test and why? 4) What a RESTful services? 5) ...
avatar

Senior Backend Engineer

Interviewed at LeanIX

4.4
Jul 29, 2022

Nontechnical: 1) How do you lead your team? 2) What is your key to success? 3) How do you approach problems? Technical, where you went from one topic to another: 1) What are micro services and why would you use them? What about monolith? 2) How would you identify a bottleneck in the system? 3) How do you test and why? 4) What a RESTful services? 5) ...

The hackerrank is probably easy/medium difficulty. 5 questions, around 3hrs total time. 1 express, 1 nodejs queue, 1 javascript promises 1 mysql (yes has to be mysql/mssql even tho its not a requirement???) 1 LC easy/medium style question with array
avatar

Senior Backend Engineer

Interviewed at Seamless

2.8
Jan 19, 2023

The hackerrank is probably easy/medium difficulty. 5 questions, around 3hrs total time. 1 express, 1 nodejs queue, 1 javascript promises 1 mysql (yes has to be mysql/mssql even tho its not a requirement???) 1 LC easy/medium style question with array

Viewing 1551 - 1560 interview questions

Glassdoor has 2,041 interview questions and reports from Senior backend engineer interviews. Prepare for your interview. Get hired. Love your job.