Huawei visited our campus in october 2015. There were 5 rounds in total. First round was an online aptitude and verbal test. The next was a coding round for 1 hour consisting of 3 codes. Out of around 300 students 60 were shortlisted after the coding round. Next were the interviews which were held at a different location in a pooled campus placement.
There were 3 interviews (2 technical + 1 overall). First technical had questions on C, C++, java, OS, compiler design and few aptitude questions. A few were asked questions on networks as well. More than theory they check the way you write the code. They want the full code and syntax errors won't be tolerated. The second technical contained a long drilling session on optimizing the code I had written in the first technical. Finally the last was an overall interview which consisted of regular hr questions, few basic C questions, a C++ question (draw a class diagram for a car dealer) and 2 puzzles. Each interview lasted between 45min to 90min. Students were eliminated after every round. There is a 90% chance that you will get the job provided you finish all the rounds. They took a month to post the results and in the end shortlisted 12 students and I am one of them.