EmbeddedRelated.com
Forums

Embedded software interview question collection

Started by Unknown September 12, 2006
Hi all,

Lately I've been assigned to interview many candidates.  Sometimes it's
hard to ask questions that actually can reveal candidate's true
potential, skills, etc.

I'm trying to collect some good interview questions for embedded
software engineer positions
Can anyone contribute? Thanks!

dreamguy007@hotmail.com wrote:

> Lately I've been assigned to interview many candidates. Sometimes it's > hard to ask questions that actually can reveal candidate's true > potential, skills, etc.
I don't believe you would be able to do in during interview. Rejecting a bad candidate is the best thing interviewer could expect.
> I'm trying to collect some good interview questions for embedded > software engineer positions > Can anyone contribute? Thanks!
Start with the definition of "volatile". -- WBR, Yuriy. "Resistance is futile"
dreamguy007@hotmail.com wrote:
> I'm trying to collect some good interview questions for embedded > software engineer positions > Can anyone contribute? Thanks!
Describe a situation where you had to diagnose a bug caused by priority inversion.
dreamguy007@hotmail.com wrote:
> Hi all, > > Lately I've been assigned to interview many candidates. Sometimes it's > hard to ask questions that actually can reveal candidate's true > potential, skills, etc. > > I'm trying to collect some good interview questions for embedded > software engineer positions > Can anyone contribute? Thanks!
Give them a circuit diagram of one of your products and ask them to look over it for a few minutes and then have them describe to you what the components are for, why pins are connected in a certain way etc. You don't necessarily expect an embedded software engineer to be able to design the circuit, but this will give you an idea of whether they are comfortable working at that level. - Charles
dreamguy007@hotmail.com wrote:
> I'm trying to collect some good interview questions for embedded > software engineer positions > Can anyone contribute? Thanks!
Ask them about their favorite programming language, CPU, or EDA software, bench scope, etc. Ask them what features in it they hate the most. A person who can't list the faults or shortcomings in their tools haven't used them enough. Kelly
dreamguy007@hotmail.com wrote:
> Hi all, > > Lately I've been assigned to interview many candidates. Sometimes it's > hard to ask questions that actually can reveal candidate's true > potential, skills, etc. > > I'm trying to collect some good interview questions for embedded > software engineer positions > Can anyone contribute? Thanks! >
We would: * Ask them to calculate the number of pixels on the screen that corresponded to some real-world distance. * Ask them to write said calculation in C (it was just one line -- at least if we were going to hire them). * Ask them to rewrite said calculation without using floating point. * Then we'd ask some leading questions to see if they'd realize that they had an overflow or underflow problem (with 16-bit integer arithmetic you either had one or the other). * Ask them how to avoid underflow. * Ask them how to avoid overflow. * As a bonus, if they were still standing we'd ask them how to rearrange the calculation so that it would round to the nearest 1/2, instead of always down. It's amazing how many telecom guys have never realized that 'int' means 'could be 16 bit' and how many 16-bit processor guys have never realized that 'long' means 'at least 32 bits'. We would _not_ look for people to get all of the answers right while standing there by the white board. What we _did_ look for was a general knowledge of C, flexibility, the ability to listen to guidance from fellow engineers, and grace under pressure. Later on we'd ask them to describe some project that they'd worked on. We were looking both for communications skills and for indications that they had actually participated in the project somehow, and not just been responsible for keeping the coffee warm. Then we'd hand them off to the EE's, who would make them read schematics. Once again they wouldn't necessarily be expected to know how to do circuit design, they were just expected to know how to hook up an oscilloscope -- even knowing how to ask an EE to hook up an oscilloscope was considered sufficient. And Lewin, if you're listening -- we didn't ask one C++ question, yet when we trained them up on it they did just fine. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Posting from Google? See http://cfaj.freeshell.org/google/ "Applied Control Theory for Embedded Systems" came out in April. See details at http://www.wescottdesign.com/actfes/actfes.html
Yuriy K. wrote:

> dreamguy007@hotmail.com wrote: > >> Lately I've been assigned to interview many candidates. Sometimes it's >> hard to ask questions that actually can reveal candidate's true >> potential, skills, etc. > > > I don't believe you would be able to do in during interview. Rejecting a > bad candidate is the best thing interviewer could expect. >
-- snip -- I disagree. While you can't always identify good people, you can craft interviews so that good people can shine, and the bad candidates are revealed (mostly). I think the biggest suggestion that I would make is that you shouldn't ask questions that have specific answers. Ask big, open-ended questions and pay careful attention to the responses. If your company is big enough to have an HR department this will give them fits, because the best way to avoid lawsuits is to put on blindfolds and have candidates fill in scan-tron sheets. Persevere, however. I try to look for: * General competence with embedded systems design (not just writing programs in C or Ada or whatever). * General problem solving skills and a will to participate. * Curiosity and interest beyond just the software. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Posting from Google? See http://cfaj.freeshell.org/google/ "Applied Control Theory for Embedded Systems" came out in April. See details at http://www.wescottdesign.com/actfes/actfes.html
"Tim Wescott" <tim@seemywebsite.com> wrote in message 
news:bemdnaBBKJ-zA5rYnZ2dnUVZ_vKdnZ2d@web-ster.com...
> dreamguy007@hotmail.com wrote: >> Hi all, >> >> Lately I've been assigned to interview many candidates. Sometimes it's >> hard to ask questions that actually can reveal candidate's true >> potential, skills, etc. >> >> I'm trying to collect some good interview questions for embedded >> software engineer positions >> Can anyone contribute? Thanks! >> > We would: > > * Ask them to calculate the number of pixels on the screen that > corresponded to some real-world distance. > > * Ask them to write said calculation in C (it was just one line -- at > least if we were going to hire them). > > * Ask them to rewrite said calculation without using floating point.
Huh? Why would calculating the number of pixels on a screen involve floating point? Steve http://www.fivetrees.com
"Yuriy K." <yktech@mail.ru> wrote in message 
news:ee7uqq$268$1@news.netins.net...
> dreamguy007@hotmail.com wrote: > >> Lately I've been assigned to interview many candidates. Sometimes it's >> hard to ask questions that actually can reveal candidate's true >> potential, skills, etc. > > I don't believe you would be able to do in during interview. Rejecting a > bad candidate is the best thing interviewer could expect. > >> I'm trying to collect some good interview questions for embedded >> software engineer positions >> Can anyone contribute? Thanks! > > Start with the definition of "volatile".
Well ive been arguing with a company because they cant get to grips what volatile really does and because of this the new piece of hardware they have released witb an embedded processor does not work if the cache is switched on!!!! I have tried for 2 years to get them to understand but they still screw the design up. I now need to got through all my code and try to move every variable into a seperate block of memory so there will be no memory corruption. joolz
> > -- > WBR, Yuriy. > "Resistance is futile"
"Steve at fivetrees" <steve@NOSPAMTAfivetrees.com> wrote in message
news:yeWdnRhvg58HJJrYnZ2dnUVZ8tadnZ2d@pipex.net...
> "Tim Wescott" <tim@seemywebsite.com> wrote in message > news:bemdnaBBKJ-zA5rYnZ2dnUVZ_vKdnZ2d@web-ster.com... > > dreamguy007@hotmail.com wrote: > >> Hi all, > >> > >> Lately I've been assigned to interview many candidates. Sometimes it's > >> hard to ask questions that actually can reveal candidate's true > >> potential, skills, etc. > >> > >> I'm trying to collect some good interview questions for embedded > >> software engineer positions > >> Can anyone contribute? Thanks! > >> > > We would: > > > > * Ask them to calculate the number of pixels on the screen that > > corresponded to some real-world distance. > > > > * Ask them to write said calculation in C (it was just one line -- at > > least if we were going to hire them). > > > > * Ask them to rewrite said calculation without using floating point. > > Huh? Why would calculating the number of pixels on a screen involve
floating
> point?
I took it that Tim was asking about distance on-screen, which I took could be diagonal. In that case, assuming the screen was flat, the natural solution would require a square root. Performing the calculation without floating point would demonstrate some skills useful in low-end embedded systems - how to get good enough answers. Of couse it might just be a trick question as in max(abs(x1-x2),abs(y1-y2))... Well, that was my interpretation anyway. Peter