顯示廣告
隱藏 ✕
※ 本文為 dinos 轉寄自 ptt.cc 更新時間: 2013-06-02 07:47:24
看板 Soft_Job
作者 HowLeeHi (處處留心皆正妹)
標題 [閒聊] 十年前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 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 大概只弄過八成的東西而已..Orz1F 06/01 20:17
gmoz:東西也太多XDDDD2F 06/01 20:24
damody:好難= =都不會@@3F 06/01 20:26
gmoz:我沒相關經驗幾乎都看不懂4F 06/01 20:26
SYNACK:想請問 最後他們瘋狂努力研究出了什麼產品嗎5F 06/01 21:08
descent:可是他也是從不會到會的吧!不給不會的人機會嗎?6F 06/01 22:18
ykjiang:十年前,會這些可能不得不,現在應該都有現成的可以用了7F 06/01 22:22
goliathplus:以前系統小 常常需要改 kernal 現在...8F 06/01 22:32
goliathplus:當然這些知識如果要做相關工作還是要會 XD
PRAM:國中畢業的學徒在機車行做個三五年,變成出色的修車師傅,他10F 06/01 22:50
PRAM:也可以出個所謂機車行的面試題目,揪集一群瘋狂黑手師傅,我
PRAM:只覺得這些面試題目能夠表示他們那群人對某些長期接觸的東西
PRAM:很熟悉罷了。請問這十年來這群稱為怪物團隊的人們作出了什麼
PRAM:世界上出名的產品嗎?
ringo543:這題目看得出他們在這特定領域深入鑽研 但也僅只於此15F 06/01 23:04
ringo543:感覺這題太著重深度而欠缺廣度了
ringo543:一個團隊全是某個特定domain的mania,這樣好嗎?
feeya:這只是把自己會的東西拿出來當考題而已,這樣有意義嗎?18F 06/01 23:14
soulbug:我記得CIH最後是進防毒軟體 要懂這麼深應該是因為要防毒吧19F 06/01 23:17
ianlin45 
ianlin45:就linux kernal嘛...20F 06/01 23:20
ianlin45:雖然我幾乎都沒經驗XD 沒資格講
jimmy701010:他不是在技嘉嗎!?22F 06/01 23:27
abcdefghi:推feeya, 這是很多面試官的盲點 :p23F 06/01 23:51
exoduschi:我是正面看法 畢竟這十年來因為GOOGLE WWW大勝 服務都24F 06/02 01:21
exoduschi:都跟WEB掛勾 PORTING LINUX大概是十一二年前 非常熱忠的
exoduschi:所以現在來看會這些 好像沒啥搞頭 到不如寫APPS弄個LINE
thanksyou:Google, Microsoft, Amazon的題目有水準多了27F 06/02 02:01
Kerick:有興趣 花時間 玩技術 自然強28F 06/02 02:16
Kerick:時間花在那 專攻就在那
yoco315:拜託,這份是embeded system職位的面試題目,當然考這些30F 06/02 02:42
yoco315:從這樣就能推論 cih 只會這些過時的東西也太...
yoco315:你現場跟他聊過就知道,這種人對技術的渴求是無窮無進的
tonyhsie:這已經比很多面試考題更有辨識度了 這樣也會被鞭?!33F 06/02 04:08
cka:重點應該在於他這麼強的話  後來有作出甚麼全球知名的東西?34F 06/02 04:29
iincho:這些題目只是要找黑手而已, 完全的黑手題.....35F 06/02 07:22
iincho:對於比較聰明的人來說沒有鑑別度, 可以看出他們想找什麼人
iincho:我認為一組好的測試題目除了考面試者的熟練度以外
iincho:另一半要能測出非關工具的邏輯推論能力, 所以這份....

--
※ 看板: dinos 文章推薦值: 0 目前人氣: 0 累積人氣: 854 
作者 HowLeeHi 的最新發文:
點此顯示更多發文記錄
分享網址: 複製 已複製
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇