First Round (1 hour) - Technical Round: Questions related to projects on your resume: This is to gauge your practical experience and understanding of the projects you've worked on. Interrupts: Understanding of how interrupts work, their importance in real-time systems, and how to handle them. RTOS (Real-Time Operating System): Assessing your knowledge of thread synchronization, priority management, types of locks, memory management, deadlocks, and Inter-Process Communication (IPC). Debugging techniques: Your ability to identify and troubleshoot issues in code and systems. Linux environment experience: Cross-compilation, Yocto Project, Buildroot, and Linux command line familiarity. Second Round (2 hours) - Technical and Coding: First Half: Technical questions on projects and technical skills: Deeper exploration of your project experiences and understanding of technical concepts. Questions might cover handling multiple interrupts, differences between polling and interrupts, and deadlock resolution strategies. Second Half: Coding challenges: Linked list: Assessing your ability to work with fundamental data structures. BST (Binary Search Tree): Testing your knowledge of tree data structures and basic operations like insertion and deletion. State machine: Evaluating your ability to design and implement complex logic using state machines. Last 15 minutes: A chance for you to ask any questions you might have about the company, role, or interview process.