[閒聊] 十年前CIH怪物團隊的面試題目...

看板Soft_Job (軟體人)作者 (處處留心皆正妹)時間13年前 (2013/06/01 18:52), 編輯推噓29(29052)
留言81則, 42人參與, 最新討論串1/4 (看更多)
新血來潮去找了一下十年前看過的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 uid setuid: 執行時具有該程式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)

06/01 20:17, , 1F
難怪會是CIH.....XD 大概只弄過八成的東西而已..Orz
06/01 20:17, 1F

06/01 20:24, , 2F
東西也太多XDDDD
06/01 20:24, 2F

06/01 20:26, , 3F
好難= =都不會@@
06/01 20:26, 3F

06/01 20:26, , 4F
我沒相關經驗幾乎都看不懂
06/01 20:26, 4F

06/01 21:08, , 5F
想請問 最後他們瘋狂努力研究出了什麼產品嗎
06/01 21:08, 5F

06/01 22:18, , 6F
可是他也是從不會到會的吧!不給不會的人機會嗎?
06/01 22:18, 6F

06/01 22:22, , 7F
十年前,會這些可能不得不,現在應該都有現成的可以用了
06/01 22:22, 7F

06/01 22:32, , 8F
以前系統小 常常需要改 kernal 現在...
06/01 22:32, 8F

06/01 22:33, , 9F
當然這些知識如果要做相關工作還是要會 XD
06/01 22:33, 9F

06/01 22:50, , 10F
國中畢業的學徒在機車行做個三五年,變成出色的修車師傅,他
06/01 22:50, 10F

06/01 22:51, , 11F
也可以出個所謂機車行的面試題目,揪集一群瘋狂黑手師傅,我
06/01 22:51, 11F

06/01 22:52, , 12F
只覺得這些面試題目能夠表示他們那群人對某些長期接觸的東西
06/01 22:52, 12F

06/01 22:52, , 13F
很熟悉罷了。請問這十年來這群稱為怪物團隊的人們作出了什麼
06/01 22:52, 13F

06/01 22:52, , 14F
世界上出名的產品嗎?
06/01 22:52, 14F

06/01 23:04, , 15F
這題目看得出他們在這特定領域深入鑽研 但也僅只於此
06/01 23:04, 15F

06/01 23:04, , 16F
感覺這題太著重深度而欠缺廣度了
06/01 23:04, 16F

06/01 23:05, , 17F
一個團隊全是某個特定domain的mania,這樣好嗎?
06/01 23:05, 17F

06/01 23:14, , 18F
這只是把自己會的東西拿出來當考題而已,這樣有意義嗎?
06/01 23:14, 18F

06/01 23:17, , 19F
我記得CIH最後是進防毒軟體 要懂這麼深應該是因為要防毒吧
06/01 23:17, 19F

06/01 23:20, , 20F
就linux kernal嘛...
06/01 23:20, 20F

06/01 23:20, , 21F
雖然我幾乎都沒經驗XD 沒資格講
06/01 23:20, 21F

06/01 23:27, , 22F
他不是在技嘉嗎!?
06/01 23:27, 22F

06/01 23:51, , 23F
推feeya, 這是很多面試官的盲點 :p
06/01 23:51, 23F

06/02 01:21, , 24F
我是正面看法 畢竟這十年來因為GOOGLE WWW大勝 服務都
06/02 01:21, 24F

06/02 01:23, , 25F
都跟WEB掛勾 PORTING LINUX大概是十一二年前 非常熱忠的
06/02 01:23, 25F

06/02 01:24, , 26F
所以現在來看會這些 好像沒啥搞頭 到不如寫APPS弄個LINE
06/02 01:24, 26F

06/02 02:01, , 27F
Google, Microsoft, Amazon的題目有水準多了
06/02 02:01, 27F

06/02 02:16, , 28F
有興趣 花時間 玩技術 自然強
06/02 02:16, 28F

06/02 02:17, , 29F
時間花在那 專攻就在那
06/02 02:17, 29F

06/02 02:42, , 30F
拜託,這份是embeded system職位的面試題目,當然考這些
06/02 02:42, 30F

06/02 02:43, , 31F
從這樣就能推論 cih 只會這些過時的東西也太...
06/02 02:43, 31F

06/02 02:44, , 32F
你現場跟他聊過就知道,這種人對技術的渴求是無窮無進的
06/02 02:44, 32F

06/02 04:08, , 33F
這已經比很多面試考題更有辨識度了 這樣也會被鞭?!
06/02 04:08, 33F

06/02 04:29, , 34F
重點應該在於他這麼強的話 後來有作出甚麼全球知名的東西?
06/02 04:29, 34F

06/02 07:22, , 35F
這些題目只是要找黑手而已, 完全的黑手題.....
06/02 07:22, 35F

06/02 07:23, , 36F
對於比較聰明的人來說沒有鑑別度, 可以看出他們想找什麼人
06/02 07:23, 36F

06/02 07:24, , 37F
我認為一組好的測試題目除了考面試者的熟練度以外
06/02 07:24, 37F

06/02 07:24, , 38F
另一半要能測出非關工具的邏輯推論能力, 所以這份....
06/02 07:24, 38F

06/02 09:22, , 39F
如果全部都只問這些他就一天到晚面試就好了
06/02 09:22, 39F

06/02 10:47, , 40F
懂這些真好
06/02 10:47, 40F

06/02 11:53, , 41F
前面 Linux system programming 還算基礎吧
06/02 11:53, 41F

06/02 11:54, , 42F
後面就真的往底層鑽了 XD
06/02 11:54, 42F

06/02 11:56, , 43F
CIH是當年搞掛全世界一堆電腦的那個人嗎?
06/02 11:56, 43F

06/02 12:03, , 44F
其實我覺得前半的技能對非embedded system 的人來說也很
06/02 12:03, 44F

06/02 12:04, , 45F
有用的說。
06/02 12:04, 45F

06/02 12:16, , 46F
沒錯,就是當年cih病毒的作者
06/02 12:16, 46F

06/02 12:17, , 47F
他本人現場跟他聊過天真的是滿健談的..
06/02 12:17, 47F
※ 編輯: HowLeeHi 來自: 118.167.59.250 (06/02 12:23)

06/02 12:34, , 48F
CIH 牛人只能給推
06/02 12:34, 48F

06/02 12:55, , 49F
有沒有做出什麼了不起的產品有太多其他因素了,技術好只
06/02 12:55, 49F

06/02 12:55, , 50F
其中某個必要因素而已,更多時候重要的是主事者的眼光跟
06/02 12:55, 50F

06/02 12:56, , 51F
信心...特別是後者,台灣老闆沒信心臨時抽腿的人太多了。
06/02 12:56, 51F

06/02 12:57, , 52F
整個創投環境也不好,那技術再強,在別人公司底下當個
06/02 12:57, 52F

06/02 12:58, , 53F
高級打工仔...怎麼可能做出什麼了不起的產品?
06/02 12:58, 53F

06/02 12:59, , 54F
然後技術也有時代性,每個時代風行的應用需求,青睞的技
06/02 12:59, 54F

06/02 13:00, , 55F
術領域都不同,學了個屠龍刀結果龍絕種了,那也只能去殺
06/02 13:00, 55F

06/02 13:01, , 56F
雞殺牛,然後看人家撒網捕蛟、張弓射鳳也只能黯然失落
06/02 13:01, 56F

06/02 13:22, , 57F
與其說這是黑手題,不如說他想找的是有熱情的人,
06/02 13:22, 57F

06/02 13:23, , 58F
畢竟裡面問得一些東西不是很有心去深究的話,
06/02 13:23, 58F

06/02 13:23, , 59F
即便碰過可能也是知其然不知其所以然吧...XD
06/02 13:23, 59F

06/02 14:02, , 60F
推zk大~產品也要看是否迎合大部份人的喜好~很多產品都是自
06/02 14:02, 60F

06/02 14:03, , 61F
己覺得好~但推出去不受青睞~只能默默認賠了...
06/02 14:03, 61F

06/02 14:22, , 62F
是以前還在當兵就毀滅世界電腦的男人?新聞不是說他自閉!?
06/02 14:22, 62F

06/02 14:25, , 63F
他推說是別人放出去的
06/02 14:25, 63F

06/02 14:54, , 64F
技嘉的嵌入式產品用起來實在是不怎麼樣,極不順又很會當機
06/02 14:54, 64F

06/02 15:23, , 65F
嗯,他說想找有熱情的人,他的夢想是打造頂尖技術團隊
06/02 15:23, 65F

06/02 16:40, , 66F
可能這次菲律賓事件就是出自cih之手...誰知?
06/02 16:40, 66F

06/03 00:07, , 67F
黑手是比不過好的想法或是演算法的
06/03 00:07, 67F

06/04 00:23, , 68F
就這個職缺而言,它要求的東西都不算過份吧
06/04 00:23, 68F

06/04 11:52, , 69F
推CIH強者.......
06/04 11:52, 69F

06/05 09:37, , 70F
這篇我只覺得標點符號和文法有夠難讀
06/05 09:37, 70F

06/07 12:00, , 71F
CIH真的很強吧~但後來很低調?沒新聞了?
06/07 12:00, 71F

06/08 01:32, , 72F
很強,我只略懂一二.... CIH大大何時開班授課? XD
06/08 01:32, 72F

06/11 11:35, , 73F
有些不是非常好的問題,上面的我都做過,但例如說改哪個檔
06/11 11:35, 73F

06/11 11:35, , 74F
一個PROJECT也不會改幾次,改完久不用就忘記了
06/11 11:35, 74F

06/11 11:36, , 75F
一直記著有甚麼意義?不如去記點ALGO,要用再找
06/11 11:36, 75F

06/11 11:37, , 76F
聊寫SYSTEM CALL,哪個ARCH?哪版KERNEL?對不起來容易雞同
06/11 11:37, 76F

06/11 11:38, , 77F
鴨講,很多問題看起來太死記,有經驗去查也只多一點時間
06/11 11:38, 77F

06/11 11:39, , 78F
一個產品成功與否一直不差這一點時間
06/11 11:39, 78F

06/11 11:40, , 79F
而是根本的創新與點子不同
06/11 11:40, 79F

06/11 18:51, , 80F
臺灣從來都不缺很懂技術的工程師 缺的是有想法的人
06/11 18:51, 80F

07/11 16:06, , 81F
這個怪物團隊最後也沒做出什麼讓人驚艷的產品
07/11 16:06, 81F
文章代碼(AID): #1HgT9adb (Soft_Job)
文章代碼(AID): #1HgT9adb (Soft_Job)