※ 本文為 dinos 轉寄自 ptt.cc 更新時間: 2013-06-02 07:47:24
看板 Soft_Job
作者 標題 [閒聊] 十年前CIH怪物團隊的面試題目...
時間 Sat Jun 1 18:52:12 2013
新血來潮去找了一下十年前看過的CIH在大同徵人的面試題目
十年後來看,居然只會個2題...0rz
覺得這些問題的知識在現今找相關工作應該還滿受用的吧.
引言開始
--
若要應徵Embedded Linux, 那你要有Linux System Programming的能力,
以下問題, 是個非常基本的問題, 若不能立刻回答, 那...你不用投履歷過來啦...
1. Linux下IPC方式有哪些!? share memory, signal, kill, FIFO
等等相關function有用過嗎!?
2. pthread有寫過嗎!?
3. ptrace function有玩過嗎!?
4. mmap, ioctl, select等等, 看到不想再看的functions有用過嗎!?
5. terminal的程式有寫過嗎!? 例如: 如何在console寫C程式把螢幕清掉.
6. Linux下如何做dynamically library, 以及dlopen function有用過嗎!?
7. 系統core dump時, 如何用工具去分析其stack tree, 以及相關資訊.
8. 什麼是euid, 同時 -rwsr-xr-x 1 root root 95564 Feb 19 2003 /bin/su,
裡面檔案屬性可看到s, 那是什麼!?
Ans:
euid: 執行程式時當下所具有的 effective uidsetuid: 執行時具有該程式owner的身份
9. 若Process 1拼命讀取一個檔案, 此刻時, Process 2卻把這個檔案殺掉,
這時Process 1還會讀取到正確資料嗎!? 為何!?
10. iopl以及ioperm function有用過嗎!?
11. 如何分析程式效率!? gcc的gcov或是gprof知道嗎!?
12. 我們都知道, 當進入run level 3, 系統會幫我們開啟TTY1-TTY6,
那我們要如何切到TTY31, 並可以執行shell打command!?
Ans:
修改 /etc/inittab檔案,新增 tty 的行數,然後可以用 alt+方向鍵 或 alt+Fn (n=1~12) 或 chvt 指令來切換.
除了這3種,應該沒有別的方法了吧?
太多太多可以問的... 以上只是說明何謂對"Linux System Programming"熟悉,
何謂有能力的人!!
若要問Embedded Linux kernel porting以及研究Linux kernel, 那如下:
1. zImage開機過程到start_kernel, 所有詳細過程知道嗎!?
2. /dev/console, /dev/tty, /dev/tty0, /dev/tty1有何差異!?
3. 若CPU為ARM7 NOMMU, 假如DRAM硬體mapping位址從0x10000000到0x20000000,
請問bootloader如何修改, kernel要如何修改, 要改哪些檔案!?
4. 若要把一個binary檔案冠上ELF header, 會有哪些做法!?
5. 若要寫frame-buffer driver, SOC VGA要保留4 MB DRAM給video用,
請問kernel要如何修改!?以確保這4 MB保留給video用, kernel自己不會拿去用!!
6. 若要把MTD當成root filesystem, 那kernel command要下root=?????, 知道嗎!?
還有相關程式碼在哪裡!?
7. 若某段physcial address沒有mapping到virtual address, 那可以用什麼
function去mapping呢!?
8. Linux kernel的stack最大是多大!? jiffies每次加一, 系統時間過了多久!?
9, MTD driver, frame-buffer driver, UART driver, sysctl, network driver,
等等driver有寫過嗎!? 有的話, 我可以跟你仔細聊所有細節!!
10. /dev/kmem以及/dev/mem有何差異!?
11. 你有辦法把zImage從GZIP壓縮格式, 變成BZIP2, 然後哪些kernel source code
要改, 怎麼改!?
12. kmalloc以及vmalloc的差異!?
13. system call有寫過嗎!?
14. 有能力寫x86 boot-loader把zImage以及initrd載入後, 正常執行嗎!?
15. 關於initrd, 我們可知道root filesystem裡面跟目錄有看過一個檔案,
/linuxrc, 那是什麼!? 何時被執行, 相關程式碼在哪!?
16. 若要寫一個driver, 可以模擬keyboard動作, 讓TTY收到輸入字元, 如何寫!?
可以呼叫哪個Linux的function呢!?
17. MMU以及NOMMU Linux以及applications的memory mapping的方式有何不同!?
懶的再寫, 以上, 我一個人, 全部徹底研究過!! 若你幾乎完全不懂,
那你徹底沒能力porting kernel,
充其量, 只會Cross-Compile.
再附帶一提,
我大學時, 那時瘋狂寫C程式, 有寫過以下這個function:
int (*(*z(int (*(*f)(char))(int)))(char))(int)
{
}
基本上, 上面那個奇怪的function, 是非常非常沒營養, 很無聊, 沒有程式會這樣寫!!
在此, 別無他意, 只是說明, 我們這一群人, 會瘋狂努力研究產品, 技術,
比任何人更執著罷了!!
--
--
你的行動或許沒有意義,但你還是非做不可。
這不是為了改變世界,而是為了讓你成為不會被世界改變的那個人.
– 甘地(Mahatma Gandhi)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.167.59.250
※ 編輯: HowLeeHi 來自: 118.167.59.250 (06/01 18:53)
→ :難怪會是CIH.....XD 大概只弄過八成的東西而已..Orz1F 06/01 20:17
推 :東西也太多XDDDD2F 06/01 20:24
推 :好難= =都不會@@3F 06/01 20:26
→ :我沒相關經驗幾乎都看不懂4F 06/01 20:26
推 :想請問 最後他們瘋狂努力研究出了什麼產品嗎5F 06/01 21:08
→ :可是他也是從不會到會的吧!不給不會的人機會嗎?6F 06/01 22:18
→ :十年前,會這些可能不得不,現在應該都有現成的可以用了7F 06/01 22:22
推 :以前系統小 常常需要改 kernal 現在...8F 06/01 22:32
→ :當然這些知識如果要做相關工作還是要會 XD
→ :當然這些知識如果要做相關工作還是要會 XD
推 :國中畢業的學徒在機車行做個三五年,變成出色的修車師傅,他10F 06/01 22:50
→ :也可以出個所謂機車行的面試題目,揪集一群瘋狂黑手師傅,我
→ :只覺得這些面試題目能夠表示他們那群人對某些長期接觸的東西
→ :很熟悉罷了。請問這十年來這群稱為怪物團隊的人們作出了什麼
→ :世界上出名的產品嗎?
→ :也可以出個所謂機車行的面試題目,揪集一群瘋狂黑手師傅,我
→ :只覺得這些面試題目能夠表示他們那群人對某些長期接觸的東西
→ :很熟悉罷了。請問這十年來這群稱為怪物團隊的人們作出了什麼
→ :世界上出名的產品嗎?
推 :這題目看得出他們在這特定領域深入鑽研 但也僅只於此15F 06/01 23:04
→ :感覺這題太著重深度而欠缺廣度了
→ :一個團隊全是某個特定domain的mania,這樣好嗎?
→ :感覺這題太著重深度而欠缺廣度了
→ :一個團隊全是某個特定domain的mania,這樣好嗎?
→ :這只是把自己會的東西拿出來當考題而已,這樣有意義嗎?18F 06/01 23:14
推 :我記得CIH最後是進防毒軟體 要懂這麼深應該是因為要防毒吧19F 06/01 23:17
→ :就linux kernal嘛...20F 06/01 23:20
→ :雖然我幾乎都沒經驗XD 沒資格講
→ :雖然我幾乎都沒經驗XD 沒資格講
→ :他不是在技嘉嗎!?22F 06/01 23:27
推 :推feeya, 這是很多面試官的盲點 :p23F 06/01 23:51
推 :我是正面看法 畢竟這十年來因為GOOGLE WWW大勝 服務都24F 06/02 01:21
→ :都跟WEB掛勾 PORTING LINUX大概是十一二年前 非常熱忠的
→ :所以現在來看會這些 好像沒啥搞頭 到不如寫APPS弄個LINE
→ :都跟WEB掛勾 PORTING LINUX大概是十一二年前 非常熱忠的
→ :所以現在來看會這些 好像沒啥搞頭 到不如寫APPS弄個LINE
推 :Google, Microsoft, Amazon的題目有水準多了27F 06/02 02:01
推 :有興趣 花時間 玩技術 自然強28F 06/02 02:16
→ :時間花在那 專攻就在那
→ :時間花在那 專攻就在那
推 :拜託,這份是embeded system職位的面試題目,當然考這些30F 06/02 02:42
→ :從這樣就能推論 cih 只會這些過時的東西也太...
→ :你現場跟他聊過就知道,這種人對技術的渴求是無窮無進的
→ :從這樣就能推論 cih 只會這些過時的東西也太...
→ :你現場跟他聊過就知道,這種人對技術的渴求是無窮無進的
→ :這已經比很多面試考題更有辨識度了 這樣也會被鞭?!33F 06/02 04:08
推 :重點應該在於他這麼強的話 後來有作出甚麼全球知名的東西?34F 06/02 04:29
→ :這些題目只是要找黑手而已, 完全的黑手題.....35F 06/02 07:22
→ :對於比較聰明的人來說沒有鑑別度, 可以看出他們想找什麼人
→ :我認為一組好的測試題目除了考面試者的熟練度以外
→ :另一半要能測出非關工具的邏輯推論能力, 所以這份....
→ :對於比較聰明的人來說沒有鑑別度, 可以看出他們想找什麼人
→ :我認為一組好的測試題目除了考面試者的熟練度以外
→ :另一半要能測出非關工具的邏輯推論能力, 所以這份....
--
※ 看板: dinos 文章推薦值: 0 目前人氣: 0 累積人氣: 855
回列表(←)
分享