Questions are really not a point here.
Senior Backend Engineer Interview Questions
2,796 senior backend engineer interview questions shared by candidates
The coding challenge was to extend a demo application where some key limits were missing, such as daily transaction count and total money spent, and I had to add them.
There were 2 Codility questions
I encountered LeetCode-style questions, dynamic programming, basic graph algorithms, and other topic. Although I hadn't practiced same questions before, I found them to be not too challenging.
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", }, ... ] ```
Tell me about a time when..:
What are you looking for
How would you design an object storage system like Amazon S3 that supports millions of users and trillions of objects? Walk through how you'd handle metadata, durability, consistency, replication, and scaling.
- 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.
Pourquoi voulez vous rejoindre l'entreprise ?
Viewing 2131 - 2140 interview questions