1. 程式人生 > >記錄一下找工作的經歷(一)

記錄一下找工作的經歷(一)

第二家是華三通訊,傳說中的h3c,他們應該是最近在進行業務擴充套件,大批招人,所以態度也很好,幫忙安排在了週六進行一面,先答了下題目,才覺得是一家網際網路企業,有些題目有點偏,感覺答得很艱難,還有直接寫SQL的問題,感覺是涉及到了自連線吧。。。想了半天干脆連了一個大表然後自連線再相加,問答題是問的list,map,set區別聯絡這個還好,程式設計題一個是約瑟夫環的變種,一個也比較簡單。做完之後面試官批了一下卷子,69,尷尬。。。然後是就簡歷問了一些問題,還比較輕鬆。二面直接週一就安排,以為領導不懂啥呢,結果來了個技術大牛,信手拈來一些很基礎的問題,好多都答不上來。。。印象最深的是一道程式設計題,說是有一段記憶體區域,有兩個執行緒,一個write執行緒負責往裡面寫入,一個read執行緒負責往外面讀出,採用FIFO的方式,要求不採用訊號量和加鎖,寫程式來模擬執行。。。一說不能用訊號量又蒙比了,第一反應是設定一個指標,用來記錄當前寫的位置,然後面試官反問,一個指標可以麼,又想了一下,MDZZ,怎麼可能一個指標可以,至少是一個write指標,一個read指標吧。然後是程式段,發現有點負責,因為是採用FIFO的方式,也就是佇列,前面的出隊了,後面的寫滿了可以繼續往前寫,這就涉及到幾個條件的判斷,即什麼時候表示是空的,可以寫入,什麼時候表示是滿的,不能寫入,什麼時候能讀出。又想了半天,還是在面試官的提醒下,假定了記憶體區有5個塊,然後模擬了一下程式執行,才哆哆嗦嗦的憋出來說,讓read和write指標重合的時候,表示是空的,但是重合也有兩種情況,一種是空的,一種是滿的,都能重合,又陷入了難題,面試官又提示說,這種情況下是不是就不能讓記憶體塊滿了,否則無法區分,這才恍然大悟,read==write的時候表示為空,可以寫入,不能讀出,read++%length==write,也就是還差一位就寫滿了,就表示已經滿了,不能寫入,這才算搞定。現在再來回想下早點用除錯的方式一步一步列出來,應該就能分析出來了,而不是在腦袋裡面憑空想象。。。都以為掛了,結果居然收到了HR面的電話,然後是總監面試,才知道他們大規模招人,據說是幾百號人來投入研發,只要你不是差的無可救藥基本都能進。。。這讓我情何以堪,但是去總監面試的時候,感覺技術的氛圍還是很好的,經常是三三兩兩在討論,感覺應該能學到一些東西,就是擔心他們是做網路通訊和路由器的,對計算機網路相關知識要求很高,估計進去了還要惡補相關知識。。。HR事後也說不出意外能進,但是好像薪水普遍都不高,說華為碩士剛進去也就9000,算上三年工作經驗,那不是才10000出頭。。。感覺有點少吧,反正再說吧,比較找工作才剛剛開始。