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", }, ... ] ```
Senior Backend Engineer Interview Questions
2,041 senior backend engineer interview questions shared by candidates
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 ?
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 ?
Improve a SQL query after discovering that it's slow
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
Viewing 1551 - 1560 interview questions