I am looking for some Linux device driver developer interview
questions, would appreciate if someone can provide some information.
thanks
Aehh, what about: show me the source code of one of the device drivers you
have written.
Or maybe: point me to some lkml threads you have contributed to.
Christof
--
http://cmeerw.org sip:cmeerw at cmeerw.org
mailto:cmeerw at cmeerw.org xmpp:cmeerw at cmeerw.org
Why you want to write a device driver?
how will you register it?
how will you keep track of its usage?
Under what license will you write your driver?
how will you allocate memory in your driver?
why not vmalloc?
what if you got to know that your memory is leaking?
what is IRQ? how will you register your IRQ no? Are you sure you will
get the IRQ no you have requested? What if you don't get?
Where will you place filesystem? above device driver or below it?
Questions are fine. But you have to know the answers to those
questions as well! If you dont, they can bullshit you and you
wouldn't know.
Thanks, these are too simple :-)
Any more on thread/process management and memory management stuffs?
The details can be learned. Wouldn't you rather find out whether they know
where to look, who to ask, how to find out?
--
Tim Roberts, ti...@probo.com
Providenza & Boekelheide, Inc.
> dav...@gmail.com wrote:
>>Thanks, these are too simple :-)
>>
>>Any more on thread/process management and memory management stuffs?
>
> The details can be learned. Wouldn't you rather find out whether they
> know where to look, who to ask, how to find out?
I agree that the details can be learned. However, it's also really
important that they have basic concepts down so that they will be able to
understand the details once they find them. So, maybe such questions as:
What is the difference between a thread and a process?
What is the difference between physical memory addresses and virtual
memory addresses? What is a page table / page table entry?
What is the difference between kernel mode and user mode? What is a
system call?
What is a spinlock? Why would you use one? When and when not?
What is a context switch? What happens when a thread is "blocked"?
What does the scheduler do?
What happens (to the state of a running thread) when an interrupt occurs?
What sorts of things must an interrupt handler do?
This is all stuff that exists on pretty much any modern operating system
so if you get somebody who (successfully) writes drivers for Windows or
AIX and you're looking to hire them for linux drivers, you can tell
whether they'll be able to pick it up without requiring that they already
know every detail.
GH
Yes, exactly. Yours is a list of questions that I would agree with, not a
Linux trivia test designed to trip up the unsuspecting.
I don't think so. Usually, during an interview, one is too much stressed to
bugger the interviewer on the questions he/she is asking you. OTOH, should I
find such a smart-ass people, I definitively would him to join my company :)
--
SF
I was alone, I took the phone,
I needed time to think the number I saw on tv
Who did I hear! can I believe
A pack of horny lesbians howling back at me
... and you'll be able to tell who are the ones that have done kernel-
mode programming on Linux, specifically, by their answer to the first
question. (-: