It was an hour interview, which are divided into technical & behavioral questions. So there was a fundamental basic algorithm question to code, they will ask you further technical questions related to backend, coding, microservices architecture and finally some behavioral questions.
I applied online. The process took 1 week. I interviewed at Plusgrade (Montreal, QC) in Apr 2025
Interview
I had a general interview for this job in Montreal last weekend. Although the interviewer was very respectful and polite, I was even approved and was told that I would have a technical interview with the department manager, but after the Easter holidays, they sent me an email that they were talking to a better candidate and they did not accept me. Although I give the company the right to eliminate or select people during the process. And it seems that they determine whether someone is a good fit for the company by looking at people's LinkedIn, not by interviewing them.
I applied online. The process took 3 weeks. I interviewed at Plusgrade in June 2024
Interview
During the interview, I was tasked with creating a simple backend app in Python with three endpoints for a Hotel Data API. The interviewer was really nice and answered all my questions patiently. They gave me 1.5 hours to complete the task while they were offline, which made the process feel less stressful.
Interview questions [1]
Question 1
Create a simple backend app using any Python framework of my choice. The app was designed to manage hotel data through three main endpoints, focusing on reservations and room availability.
Hotel Data API Endpoints:
Get Reservation:
Purpose: To retrieve reservation details.
Input: reservation_id (e.g., a unique identifier for each reservation).
Output: Returns all the relevant reservation information, such as the guest name, dates of stay, room type, and other associated data.
Example Response:
json
Copy code
{
"reservation_id": "12345",
"guest_name": "John Doe",
"check_in": "2024-09-01",
"check_out": "2024-09-05",
"room_type": "A"
}
Get Availability:
Purpose: To check room availability for the entire duration of a guest’s stay across all room types.
Input: reservation_id (to determine the dates of the guest’s stay).
Output: Returns a list of available rooms for each type (e.g., types A, B, and C) for the entire reservation period.
Example Response:
json
Copy code
{
"A": 3, // 3 rooms of type A available
"B": 5, // 5 rooms of type B available
"C": 2 // 2 rooms of type C available
}
Availability Conflict Scenarios.
Conflicts could arise if there are no rooms available for one or more types during the guest’s stay, leading to overbooking or the need for alternative arrangements.