Applied online, first phone interviewed by software guy with a lot of questions like C/C++, data structure, Matlab around 30 mins. Then, after 2 day, phone interviewed by another embedded system guy with questions related to RTOS, scheduling algorithm. After 3 days, got invited to onsite. The onsite started with a 45 mins presentation of my background and work experience. After that, 1 to 1 interviewed with 2 software guys, 1 embedded system guy , team manager and HR. The onsite process was fairly tedious from 9am to 4pm. What was the worse part was they actually got back to me after 1 month which is abnormally annoying.