Applied online, started talking with HR, just a few behavior questions, nothing unexpected. And then a phone interview with a senior software engineer, asks a lot about embedded concepts like ISR, memory, C/C++ question and OOD. Next day, invited to onsite. The onsite interview was fairly stressful, which lasted from 9:30 am to 4pm, talking to 7 people in total. Started with talking to HR, all the behavior questions as you can imagine. Then met with a software guy, asked about data structures, algorithms, java, and C++. Then met with another embedded guy, all about ISR and multithreading. After lunch, met with a embedded guy, questions covered from digital circuits to C/C++. memory allocation. Then met with two senior engineer, they asked very in-depth questions, like what is the problem of function pointer, and in which situation OOD can be used in embedded system, why malloc is bad, etc.