The first interview involved implementing the following functions:
- **Implement `Array.prototype.forEach`**
- **Implement `Array.prototype.map` using your `forEach`**
- **Implement `Array.prototype.reduce` using your `map` function**
- **Implement the debounce concept (using `setTimeout`)**
Additionally, there was a section where I had to **explain the architecture of a large project** I had worked on in my previous company.
The second interview was an **architecture interview**, which included:
1. **Designing a database** to implement a **products and discounts** concept.
2. **Architecting a solution for Riverside**, where a video is recorded, stored in high quality in the **browser**, and then uploaded in **chunks** to a server (e.g., storing it in **S3**).
The interviewer expected me to suggest storing the videos in the **browser's IndexDB**, which I was unfamiliar with and felt was very **specific to their product**.
An **HR interview** was scheduled alongside the second interview. The recruiter was supposed to get back to me with an answer by **Thursday**, to confirm whether I actually had the HR interview on **Sunday at 10 AM**.
She **didn’t do that** and instead called me on **Friday morning, during my day off**, to inform me that I hadn’t passed.
When I shared my concerns with her, I pointed out **two issues with their process**:
1. I was explicitly told that the interview would be in **Hebrew**, but it was conducted in **English**.
2. There were **two air raid sirens** that day, which affected my performance, so I asked for **another opportunity**.
She said she would get back to me by **Monday**—but she **never did**.
This isn’t something I would normally do, but I felt it was worth trying, and I was **disappointed to be ignored**.