看板 Soft_Job 關於我們 聯絡資訊
新血來潮去找了一下十年前看過的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)
alongalone:難怪會是CIH.....XD 大概只弄過八成的東西而已..Orz 06/01 20:17
gmoz:東西也太多XDDDD 06/01 20:24
damody:好難= =都不會@@ 06/01 20:26
gmoz:我沒相關經驗幾乎都看不懂 06/01 20:26
SYNACK:想請問 最後他們瘋狂努力研究出了什麼產品嗎 06/01 21:08
descent:可是他也是從不會到會的吧!不給不會的人機會嗎? 06/01 22:18
ykjiang:十年前,會這些可能不得不,現在應該都有現成的可以用了 06/01 22:22
goliathplus:以前系統小 常常需要改 kernal 現在... 06/01 22:32
goliathplus:當然這些知識如果要做相關工作還是要會 XD 06/01 22:33
PRAM:國中畢業的學徒在機車行做個三五年,變成出色的修車師傅,他 06/01 22:50
PRAM:也可以出個所謂機車行的面試題目,揪集一群瘋狂黑手師傅,我 06/01 22:51
PRAM:只覺得這些面試題目能夠表示他們那群人對某些長期接觸的東西 06/01 22:52
PRAM:很熟悉罷了。請問這十年來這群稱為怪物團隊的人們作出了什麼 06/01 22:52
PRAM:世界上出名的產品嗎? 06/01 22:52
ringo543:這題目看得出他們在這特定領域深入鑽研 但也僅只於此 06/01 23:04
ringo543:感覺這題太著重深度而欠缺廣度了 06/01 23:04
ringo543:一個團隊全是某個特定domain的mania,這樣好嗎? 06/01 23:05
feeya:這只是把自己會的東西拿出來當考題而已,這樣有意義嗎? 06/01 23:14
soulbug:我記得CIH最後是進防毒軟體 要懂這麼深應該是因為要防毒吧 06/01 23:17
ianlin45:就linux kernal嘛... 06/01 23:20
ianlin45:雖然我幾乎都沒經驗XD 沒資格講 06/01 23:20
jimmy701010:他不是在技嘉嗎!? 06/01 23:27
abcdefghi:推feeya, 這是很多面試官的盲點 :p 06/01 23:51
exoduschi:我是正面看法 畢竟這十年來因為GOOGLE WWW大勝 服務都 06/02 01:21
exoduschi:都跟WEB掛勾 PORTING LINUX大概是十一二年前 非常熱忠的 06/02 01:23
exoduschi:所以現在來看會這些 好像沒啥搞頭 到不如寫APPS弄個LINE 06/02 01:24
thanksyou:Google, Microsoft, Amazon的題目有水準多了 06/02 02:01
Kerick:有興趣 花時間 玩技術 自然強 06/02 02:16
Kerick:時間花在那 專攻就在那 06/02 02:17
yoco315:拜託,這份是embeded system職位的面試題目,當然考這些 06/02 02:42
yoco315:從這樣就能推論 cih 只會這些過時的東西也太... 06/02 02:43
yoco315:你現場跟他聊過就知道,這種人對技術的渴求是無窮無進的 06/02 02:44
tonyhsie:這已經比很多面試考題更有辨識度了 這樣也會被鞭?! 06/02 04:08
cka:重點應該在於他這麼強的話 後來有作出甚麼全球知名的東西? 06/02 04:29
iincho:這些題目只是要找黑手而已, 完全的黑手題..... 06/02 07:22
iincho:對於比較聰明的人來說沒有鑑別度, 可以看出他們想找什麼人 06/02 07:23
iincho:我認為一組好的測試題目除了考面試者的熟練度以外 06/02 07:24
iincho:另一半要能測出非關工具的邏輯推論能力, 所以這份.... 06/02 07:24
leiyan:如果全部都只問這些他就一天到晚面試就好了 06/02 09:22
lavigneA:懂這些真好 06/02 10:47
Bencrie:前面 Linux system programming 還算基礎吧 06/02 11:53
Bencrie:後面就真的往底層鑽了 XD 06/02 11:54
boyen3:CIH是當年搞掛全世界一堆電腦的那個人嗎? 06/02 11:56
Bencrie:其實我覺得前半的技能對非embedded system 的人來說也很 06/02 12:03
Bencrie:有用的說。 06/02 12:04
HowLeeHi:沒錯,就是當年cih病毒的作者 06/02 12:16
HowLeeHi:他本人現場跟他聊過天真的是滿健談的.. 06/02 12:17
※ 編輯: HowLeeHi 來自: 118.167.59.250 (06/02 12:23)
hSATAC:CIH 牛人只能給推 06/02 12:34
zanyking:有沒有做出什麼了不起的產品有太多其他因素了,技術好只 06/02 12:55
zanyking:其中某個必要因素而已,更多時候重要的是主事者的眼光跟 06/02 12:55
zanyking:信心...特別是後者,台灣老闆沒信心臨時抽腿的人太多了。 06/02 12:56
zanyking:整個創投環境也不好,那技術再強,在別人公司底下當個 06/02 12:57
zanyking:高級打工仔...怎麼可能做出什麼了不起的產品? 06/02 12:58
zanyking:然後技術也有時代性,每個時代風行的應用需求,青睞的技 06/02 12:59
zanyking:術領域都不同,學了個屠龍刀結果龍絕種了,那也只能去殺 06/02 13:00
zanyking:雞殺牛,然後看人家撒網捕蛟、張弓射鳳也只能黯然失落 06/02 13:01
RouterHsieh:與其說這是黑手題,不如說他想找的是有熱情的人, 06/02 13:22
RouterHsieh:畢竟裡面問得一些東西不是很有心去深究的話, 06/02 13:23
RouterHsieh:即便碰過可能也是知其然不知其所以然吧...XD 06/02 13:23
andymai:推zk大~產品也要看是否迎合大部份人的喜好~很多產品都是自 06/02 14:02
andymai:己覺得好~但推出去不受青睞~只能默默認賠了... 06/02 14:03
KanoLoa:是以前還在當兵就毀滅世界電腦的男人?新聞不是說他自閉!? 06/02 14:22
leiyan:他推說是別人放出去的 06/02 14:25
shnobi:技嘉的嵌入式產品用起來實在是不怎麼樣,極不順又很會當機 06/02 14:54
HowLeeHi:嗯,他說想找有熱情的人,他的夢想是打造頂尖技術團隊 06/02 15:23
Adonisy:可能這次菲律賓事件就是出自cih之手...誰知? 06/02 16:40
Axcic:黑手是比不過好的想法或是演算法的 06/03 00:07
lulala453:就這個職缺而言,它要求的東西都不算過份吧 06/04 00:23
KASUGAOSAKA:推CIH強者....... 06/04 11:52
xvid:這篇我只覺得標點符號和文法有夠難讀 06/05 09:37
QQ5566:CIH真的很強吧~但後來很低調?沒新聞了? 06/07 12:00
fork:很強,我只略懂一二.... CIH大大何時開班授課? XD 06/08 01:32
mayasky:有些不是非常好的問題,上面的我都做過,但例如說改哪個檔 06/11 11:35
mayasky:一個PROJECT也不會改幾次,改完久不用就忘記了 06/11 11:35
mayasky:一直記著有甚麼意義?不如去記點ALGO,要用再找 06/11 11:36
mayasky:聊寫SYSTEM CALL,哪個ARCH?哪版KERNEL?對不起來容易雞同 06/11 11:37
mayasky:鴨講,很多問題看起來太死記,有經驗去查也只多一點時間 06/11 11:38
mayasky:一個產品成功與否一直不差這一點時間 06/11 11:39
mayasky:而是根本的創新與點子不同 06/11 11:40
MRjk:臺灣從來都不缺很懂技術的工程師 缺的是有想法的人 06/11 18:51
mvbkoko:這個怪物團隊最後也沒做出什麼讓人驚艷的產品 07/11 16:06