Kernel and OS theory interview Questions

>I suspect if I asked you the "What happens when an exception occurs in a

program?" you would fail it horribly, since what I did not ask was “What
happens when an exception occurs in a Windows program on an x86 processor?”

That is exactly the point. And I hope I wouldn’t fail it horribly on any
platform that Windows runs on. :slight_smile:

The what happens on a page fault is one I have responded to “At what level
of detail do you want this, and for what OS/processor are you referring or
is this just a stupid trick question?” sorry a lot of the time the “or
…” is correct. In fact I had one interviewer tell me that I did not
know a thing about page faults, then was at a standards conference a few
weeks later where on of that companies architects indicated my answer was
correct for everything but the one lamebrained project the interviewer had
worked on.

I didn’t ask what would happen on x86 or any particular platform on purpose.
I agree with your view (at least I am taking that this is your view from the
tone of your reply :slight_smile: ) that it is ridiculous to ask people interview
questions that are specific to an implementation or project that the
interviewee may have never seen or heard of.

On you routine, which version of the C standard or is the C++ and do you
want the pure standards answer or should one include the rationale? Guess
what the answer can be different.

Exactly the point.

I am definitely of the opinion that most of the interviews I have been on
the receiving end of - were completely useless at extracting my knowledge.
Of course - this assumes that I have some knowledge that can be extracted!
:smiley:

In my opinion - an interview is to find out what the person knows - not to
try to trick them or get them to cry. BTW - I never have anyone write code
in an interview - it is useless in my opinion as it is not even close to an
approximation of how the person would actually code something up if they
worked with you. I write all the code in the interviews. And I am ashamed to
admit that I have at least once - had a bug in my code that I wrote during
the interview that the candidate caught - and I have said to them
“Excellent - most people don’t catch that in the interview. Very
impressive!”. :smiley:

Thanks!

“Don Burn” wrote in message news:xxxxx@ntdev…
>I suspect if I asked you the “What happens when an exception occurs in a
>program?” you would fail it horribly, since what I did not ask was “What
>happens when an exception occurs in a Windows program on an x86 processor?”
>
> The what happens on a page fault is one I have responded to “At what level
> of detail do you want this, and for what OS/processor are you referring or
> is this just a stupid trick question?” sorry a lot of the time the “or
> …” is correct. In fact I had one interviewer tell me that I did not
> know a thing about page faults, then was at a standards conference a few
> weeks later where on of that companies architects indicated my answer was
> correct for everything but the one lamebrained project the interviewer had
> worked on.
>
> On you routine, which version of the C standard or is the C++ and do you
> want the pure standards answer or should one include the rationale? Guess
> what the answer can be different.
>
>
> –
> Don Burn (MVP, Windows DDK)
> Windows 2k/XP/2k3 Filesystem and Driver Consulting
> Website: http://www.windrvr.com
> Blog: http://msmvps.com/blogs/WinDrvr
> Remove StopSpam to reply
>
>
> “the_el_vez” wrote in message
> news:xxxxx@ntdev…
>> One really good question (IMHO) that I always ask is “What happens during
>> a
>> page fault?”. It is a completely open ended question yet it gives the
>> person
>> a chance to show a lot of areas of knowledge. If they are a kernel dev
>> they
>> will typically have a completely different answer than a file system
>> guy -
>> but you can really get a good grasp of what they know from questions like
>> this. Another favorite of mine in this same spirit is “What happens when
>> an
>> exception occurs in a program?”. I have found that people tend to loosen
>> up
>> because it is not a specific question like “implement strcmp()” - it is
>> more
>> of a platform to show what you know. BTW - my favorite question is this:
>>
>> Is there a bug in this routine:
>>
>> void
>> DerefP(
>> void
>> )
>> {
>> *p;
>> };
>>
>> I have had hour long discussions over this code. It opens the door to
>> discussions of synchronization, compilation portability, coding style,
>> performance and on and on. This question is particularly good for finding
>> out if people really grasp asynchrony and multithreading. It also is
>> telling
>> if a person has been exposed to software that directly talks to hardware.
>> I
>> have been the 3rd or 4th interviewer in an interview loop where the
>> candidate had “done horribly” in the previous interviews where they were
>> having him implement red-black trees on the whiteboard, and then come in
>> and
>> bowl me over with the answers to these kinds of questions. However I must
>> admit, the first time I asked the DerefP question to a candidate in an
>> interview - the response was: “This is the dumbest interview question I
>> have
>> ever been asked.”. :slight_smile:
>>
>> “Matt” wrote in message news:xxxxx@ntdev…
>>> This question just popped into mind and has little relevance to my life,
>>> but I’m still
>>> curious (perhaps it could yield new avenues for me and others to study).
>>> -----------------------------
>>>
>>> If you were looking to hire a developer and were a party to the
>>> interview process,
>>> what questions would you ask the interviewee regarding windows driver
>>> development
>>> along with OS theory questions?
>>>
>>> Of course the basics regarding paged vs non-paged pools, IRQL’s, and
>>> context. But what
>>> else, and specifically…
>>>
>>> I could careless about the type of driver (ndis, filesystem, wdm,
>>> NT…). What are some of the
>>> technical questions you guys have asked or been asked?
>>>
>>> Perhaps something along these lines would make a great article for Peter
>>> to Pontificate about.
>>>
>>> Matt
>>>
>>> P.S. - I really would like to hear something else than C vs C++.
>>>
>>>
>>>
>>>
>>>
>>
>>
>
>
>