Tech IndustryJun 18, 2019
Intelqubk53

Preparing for Embedded software and Firmware engineering roles at top companies.

I am planning to apply for similar roles at Microsoft, Apple, Amazon, Google... I have been doing some LC (solved 120 with a good mix of medium and easy with some hard questions). Along with this I want to brush up on rtos and basic embedded conceptual questions. I want to know if there is a book which I can refer to to brush up my concepts regarding the same. I would also welcome any company specific suggestions which I should consider preparing before I start applying for such jobs.

Add a comment
Marvell elkdead Jun 18, 2019

Pick up a rtos and go through its programmer's guide/technical reference manual. Pick the most important topics such as ISA, caches, memory organization, TLB, interrupts handling, synchronization etc. If you have worked on any peripherals, know their protocols such as I2C, SPI, PCIe etc etc depends on what you wrote on your resume. Look at the job description, mostly the phone screen would revolve around the intersection of your experience and job requirement + your total experience. go to cfaq.com for basic questions that'll be asked for C. I don't know if one exists for C++. Look for interesting topics on embedded.com. I found this a bit helpful https://www.embedded.com/user/Dan_Saks Know in and out of a program's life, upto the stack, frame manipulation, registers. For instance, how branch prediction works, What are pipeline hazards. And it doesn't mean you memorize their meaning, some websites explain their practical applications. There is a coursera course on computer arch from princeton, choose topics and listen to lectures. In the end, be confident, you'd be very lucky if you match a team's requirements 100% so work on improving what you have already worked on. Learn new things later if the time allows.

Intel qubk53 OP Jun 18, 2019

Thank you! Really appreciate this.