What does a firmware engineer do?

How do I prepare for a firmware or embedded engineer position at Google? Do I expect algorithms and Big Oh complexity questions for a firmware job?

  • Answer:

    I interviewed for an embedded engineering position at Google Mountain View in March 2014. I received and accepted an offer and have been working at Google for about a year. I can at least share my experience. In my opinion, just about anything is fair game. My strategy was to focus on my strengths (embedded software, C, reverse engineering) and to brush up on algorithms and data structures. I wish I would have spent time studying and solving dynamic programming problems, but I gambled poorly here. Your mileage may vary. My background: 10 years experience working on embedded avionics systems and later embedded networking devices such as ethernet routers and switches. I participated in 4 onsite interviews, detailed as follows: The first interview focused almost solely on embedded programming concepts and how I would solve various situations at an architectural level. I was asked no programming questions. The interviewer asked about my background and wondered how I solved certain problems related to his work. If I didn't know my stuff this interview would have been brutal. The second interview was similar but I was asked more detailed questions about computer architecture, memory hierarchy, and assembly language programming for CPU architectures I was familiar with. I also was asked to solve a problem with a singly linked-list in C code on a whiteboard. As with the previous interview, this could have been brutal. Thankfully I have worked my entire career in this area. The third interview did not touch much on embedded software engineering other than some chatting about my background. Instead, we focused on algorithm development for 2 questions. The interviewer was concerned with the concept and not the code, so again there was no whiteboard coding, but plenty of whiteboard use. One of the questions was a dynamic programming problem. The fourth interview was also on algorithm development. Again, there was no coding. I had one question which was another dynamic programming problem. The interviewer did not appear to be interested in my background. The final two interviews were the toughest for me since I have never professionally used dynamic programming and I didn't specifically prepare for it. Now that I have interviewed many candidates myself I have realized that it is difficult to draw any meaningful conclusions. You're likely to get a mix of embedded questions and general software engineering questions. Good luck, and be prepared.

Anonymous at Quora Visit the source

Was this solution helpful to you?

Related Q & A:

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.