誰知道NVIDIA硬體應用工程師筆試考些什麼 - 工程師

Table of Contents

: 1). variable 是否可以同時宣告成const 和 volatile

不可

: 5).某個3D-shooting Game被QA驗出,一到某個Scene會broken還是Violation XXXXX
: 5a. 你推測是啥原因

memory access error,通常是array index超過,或pointer亂掉

: 5b. 你會用怎樣的架構去驗證錯誤

開WinDbg就可以找了,程式會停在 access error地方

: 6). 給了一個A List Of Windows Interrupts 共32種
: 6a. APC和DPC差異 (英文簡寫忘了是啥 上面有附???)
: 6b. Interrupt 在某階層以上時是發生什麼事(not sure)

DPC = defferred procedure call, 等同linux ISR的bottom routine,

在ISR後,讓OS安排一個call function,要注意interrupt reentry問題,雖不是ISR

但要注意仍不可占CPU執行過久,同步只能用spinlock

APC = asyn procedure call

在DPC之下,user app之上,可做為workitem thread,

但我認為一個good driver則不應使用APC

實務使用的情況應是user app與driver做同步使用,

win32 API有一組是做這些事,waitable API,基本上了解APC/waitable API,

Windows設計精神就懂有一半了




--

All Comments

Michael avatarMichael2013-03-09
第一題 google之後 有網頁說可以這樣宣告
Lauren avatarLauren2013-03-13
第一題就錯啦 可以
Steve avatarSteve2013-03-14
這樣可以在const function裏面修改const變數
Agatha avatarAgatha2013-03-18
對不起 我記錯了 好像是 const 和 mutable 才是