Round 1: Machine Coding Round
Questions: You are required to build an application that lets patients connect to doctors and book appointments. The day is divided into time slots of 30 mins each, starting from 9 am to 9 pm. Doctors can login to the portal and declare their availability for the given day in terms of slots. Patients can login and book appointments/ cancel existing appointments. For simplicity you can assume that the doctors’ availability is declared for that particular day only.
Functionalities required:
- A new doctor should be able to register, and mention his/her speciality among (Cardiologist, Dermatologist, Orthopedic, General Physician).
- A doctor should be able to declare his/her availability in each slot for the day. For example, the slots will be of 30 mins like 9am-9.30am, 9.30am-10am.
- Patients should be able to login, and search available slots based on speciality.
- The slots should be displayed in a ranked fashion. Default ranking strategy should be to rank by start time. But we should be able to plugin more strategies like Doctor’s rating etc in future.
- Patients should be able to book appointments with a doctor for an available slot. A patient can book multiple appointments in a day. A patient cannot book two appointments with two different doctors in the same time slot.
- Patients can also cancel an appointment, in which case that slot becomes available for someone else to book.
- Build a waitlist feature: If the patient wishes to book a slot for a particular doctor that is already booked, then add this patient to the waitlist. If the patient with whom the appointment is booked originally, cancels the appointment, then the first in the waitlist gets the appointment.
- A patient/doctor should be able to view his/her booked appointments for the day.
- Doctors can’t provide overlapping slots.
- Implementing login feature is optional.
- Patient registration is not mandatory.
- Name of Doctor and patient are their identifiers.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 2 (PSDS)
Questions: Question 1:
Problem Statement: Distinct Shapes in a 2D Binary Matrix Given a 2D binary matrix consisting of 0s and 1s, write an algorithm to find the number of distinct shapes formed by clusters of 1s. Two shapes are considered distinct if one cannot be transformed into the other by translation (shifting). Input - A 2D list `matrix` of size `m x n` where each element is either 0 or 1. Output - An integer representing the number of distinct shapes in the matrix.
Question 2: Longest Substring with At Most K Distinct Characters
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 3 (LLD Round)
Questions: I was asked to design a Mind Wellness Center. It can have multiple Activities like: lectures, group therapies, support groups sessions, 1:1s etc.
Features:
- Users should be able to see the list of events, list of available therapists.
- Users should be able to book multiple events, search the events by event type, date.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 4 (Hiring Manager Round)
Questions: The interviewer was a senior manager. He asked questions related to my current project, team structure, technologies I have worked on and some behavioral questions.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.