An initial call with an HR person regarding your professional experience—here, you can expect HR-related questions. No big deal.
After that, you will be assigned a technical test consisting of building an API with various endpoints, some of which are broken, and some are missing. You need to be familiar with Sequelize ORM. I could pass this phase by linting and moving the project to an MVC-inspired structure (controller, models, repositories, services, etc.). Very easy, to be honest.
The third phase is an interview with a technical person, who in my case was someone who could barely speak English, making it difficult to communicate with him. He also seemed tired, like a person who didn't want to be there. My willingness to join the company started decreasing here, and I was afraid of somehow joining this guy's team and getting bored quickly.
He will go through your technical test and start asking questions about how you could improve certain parts of the application. The number of questions depends on how well you structured your project at a given time.
I was eliminated because he asked a question about concurrency, which I thought I had already addressed, so it wasn't going through my head at the moment. (I should have answered by locking the tables to prevent two requests dealing with the table at the same time.) I have basic knowledge about SQLite, and I thought the lock operation would happen automatically when starting a transaction.
My conclusion is that the challenge in the third phase is to guess what your interviewer is trying to talk about. However, if you keep asking questions for clarification, he can understand as if you don't know the answer.
Don't blame yourself if you were not able to pass. I have 10+ years of experience and couldn't pass. Sometimes it's just luck and having a good interviewer.