The hiring process is so terrible and so long, from the beginning day to the last interview with HR is more or less 2 months. The problem is that from the last interview with HR until they rejected me is more or less 1 months. It is really hard for job seekers. and the reason to reject a candidate is really unclearly and unprofessional. I really do not understand, a company more or less 100 years can have terrible hiring process like this. the interview contains three rounds: - first round: coding questions - second round: coding challenge. - last round : HR first round : coding interview, they asked me a few questions about C and C++. Second round : coding challenges, I have more or less one week to solve the problem about the graph theory, in C or C++. I choose C++, because it is my best so far. To be honest, these questions were not very clear, than it make them to be one of very hardest questions I have solved so far. In the interview, I have to explain about time complexity and space complexity of the algorithms. I passed, then interview with HR, the HR manager asked many difficult questions, and I answered him everything I know and think it was a good interview.