學生: 達克魯 Duck
Work directly in developing or integrating NVIDIA automotive or embedded software technology into various NVIDIA automotive or embedded platforms.
Create and implement software features.
Might work with customers to provide deep technical assistances.
Assist customers to achieve fully optimized design with NVIDIA products.
Provide partner feedbacks as to product features and software improvements.
Experience in relevant domain.
Good English language skills to work effectively with global teams.
Full experience at Linux, QNX or Android.
Excellent C skills.
Experience working on embedded systems and ARM processor specific.
職缺介紹:
職缺所需要的能力:
職缺介紹:
職缺所需要的能力:
學歷
具備 相關經驗與能力:
熟練C語言
熟悉OS課堂基本知識,包括一些小型實作project:
熟悉FreeRTOS基本知識,包括一些小型實作project:
Linux kernel開發
缺乏 相關經驗與能力:
🐷:interviewer 🦆:interviewee
聯發科技 嵌入式Linux軟體工程師
🐷:同學你好,歡迎來到我們部門面試,請你先自我介紹一下。
🦆:好的,主管好,我是XXX,目前就讀於國立成功大學資訊工程所二年級,實驗室主要研究領域為嵌入式作業系統,所以我對linux的開發 和 FreeRTOS 都有一定的理解和掌握。目前的研究主題也是有關linux kernel I/O stack 上的開發,那在找職缺的時候,有看到貴部門是和我研究的專業高度相關,所以希望能在這邊找到工作機會。
🐷:喔~那你應該對OS和C語言很熟悉吧? 那接下來會分別問你幾個問題,首先是程式題目,希望你用C語言實作出來!
那題目是:
🦆:好的,這題是有關bitwise operation的題目。
以下是我的作法:
所以答案會是 0x 00001313.
🐷:非常好,那接下來會是有關OS觀念的問題,
請說明甚麼是critical section?
🦆:好,那說到critical section,這其實是一種解決race condition的方法,而race condition就是一個著名會導致資料錯誤的問題,發生在shared memory的場景上面,如果某兩個process是透過shared memory來溝通。如果兩個process都想對某變數去存取的話,就有機會發生資料錯誤。
而critical section就是指程式中去存取共享變數的片段,
critical section之上的地方就叫做entry section,離開的地方叫做exit section。而我們programmer就可以對entry和exit section去做一些控制來達到一次只會有一個process進入critical section的效果。
而一般hardware能提供C.S的方法都會是 compare-and-swap 或是 test_and_set。
🐷:很好,解釋得不錯,那最後這邊問一下兵役問題,請問你當兵了嗎?
🦆:兵役的部分還沒服完,如果可以的話希望能簽研發替代役。
🐷:了解,那這部分的需要,我會幫你向公司內部申請看看,那面試就差不多到這邊,感謝同學的參與!
🦆:謝謝面試官