Q: What is the mission of simpleclub
Backend Engineer Remote Interview Questions
13 backend engineer remote interview questions shared by candidates
What do I like most about my work?
I was given a timeboxed technical task, consisting of a set of 4 subtasks - mainly adding new features to/making tests pass for a preexisting legacy toy Rails 4 application.
Design Question: Your customers are short term rentals ho might have multiple rental places and working with multiple service providers such as booking, airbnb. Design a system where you will get the information of a booking from one system and block availability in other system.
Build a full stack end to end telemetry solution, You should be able to trace applications and then able to show the metrics in a dashboard through analytics.
The technical interview is focused on a conversation about solution provided for the test task. The test task itself is about implementing a service which exposes a couple of endpoints with a bit of a business logic inside.
In the screening call, you'll be asked basic questions on your background and experience, and so long as you meet most if not all the job requirements this stage is not a problem For the technical interview you'll be asked to review a merge request with a Gitlab engineer. Expect many out of the box questions, especially related to TDD in Rails.
Code review and API design
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", }, ... ] ```
How the previous projects were organized and what was my role in that
Viewing 1 - 10 interview questions