First step is a standard phone call with recruiter to go over your background, experience, skills. He then schedules a video call with your future boss, the main data scientist. You generally talk about the things you have learned during your education, different algorithms you have used like feedforward neural networks or convolution NN, why you want to be a Data scientist and so on. If that goes well, they schedule 3 more interviews. First one is technical, and you have to explain what tf-idf is and to implement it in Python. There is no need to know all the formulas, just the basic idea of tf part and idf part and why it makes sense. It can all be solved with a couple of for loops, which count the number of occurrences of each word in sentences. Second interview is also technical, but no coding. Instead, they ask you about regularization, hyperparameter selection, overfitting and underfitting, bagging vs boosting vs stacking. Also, they ask if you have used AWS, Docker, Kubernetes before and if you have, some concepts about that. Unfortunately, I didn't use them, but if you show genuine interest to learn it, they are also happy. Final interview is psychological, where you have to tell about the time when you learned something difficult quickly, explain major project you worked on and how you solved problems there, tell about when you didn't agree with people in your team and how you handled it... Eventually, I did get a job, which made me so happy, because people were really friendly. At least in my case.