計算機,程序員,面試,總結(jié)_第1頁
計算機,程序員,面試,總結(jié)_第2頁
計算機,程序員,面試,總結(jié)_第3頁
計算機,程序員,面試,總結(jié)_第4頁
計算機,程序員,面試,總結(jié)_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、計算機程序員工作面試總結(jié)9月份基本都是在忙碌的找工作中度過,這也是對自己上了近20年學(xué)的一個交代。一共參加筆試、面試的公司有:百度、騰訊、阿里巴巴、華為、搜狗、360。拿到offer:百度、騰訊、阿里巴巴、搜狗、360Special:百度、阿里巴巴、搜狗按時間順序?qū)γ嬖囘M行下總結(jié):百度(一面:軟件研發(fā)(系統(tǒng)部。問了很多技術(shù)基礎(chǔ)知識,有C/C+、網(wǎng)絡(luò)、操作系統(tǒng)、linux等。能夠想起來的有:C程序的幾個段,bss如何映射, ELF的基本格式,虛函數(shù)如何實現(xiàn)、ajax底層原理。rip和ospf的原理、linux中route命令有哪些內(nèi)容、數(shù)據(jù)庫建立索引有哪些利弊,建立索引應(yīng)該注意哪些,其他的和網(wǎng)絡(luò)

2、編程有關(guān),記不大清了。百度(二面:介紹項目,linux中虛擬化(LCX的實現(xiàn),epoll高效的原因,內(nèi)核CFS的實現(xiàn)。給你一個數(shù)組,問怎么在里面放上運算符,讓前n-1個數(shù)運算完以后等于最后一個數(shù)。其他記不清了。百度(三面:項目介紹,百度地圖中的一些算法,R樹及其原理,興趣,愛好,期望工作地點等等。百度面試感覺知識面涉及的還比較多的。每一面大概四五十分鐘。阿里(一面:阿里之前拿到實習(xí)offer,說的直接終面,不知道為什么上來是個技術(shù)面。問的有l(wèi)inux內(nèi)核方面,內(nèi)核線程的特點,怎么切換。A*算法,寫了一個回文最小切割(兩次dp,java常用的垃圾回收算法,什么利弊(這個簡歷寫錯方向了,本來想面C

3、+,結(jié)果面的java,還好java也有基礎(chǔ)。后來又回過頭來問了一點項目,問如果你現(xiàn)在再架構(gòu)一次,你會怎么做等等,所以,做過的項目不僅要知道項目的難點在哪,也要知道當(dāng)時做項目時的不足等等。其他的記不清了。阿里(二面:我以為這次要hr了,結(jié)果還是技術(shù)面,因為開始以為是hr,就不怎么想說技術(shù),但是后來發(fā)現(xiàn)是技術(shù)面。問了自己對SDN的看法和理解,進程切換時內(nèi)核是如何執(zhí)行的,內(nèi)核進程調(diào)度算法中CFS和O(1調(diào)度策略的優(yōu)劣。MapReduce的思想,問了下GFS,外部排序問題,內(nèi)存管理等。其他的記不清了。阿里(終面:終面是hr和技術(shù)總監(jiān)一起面。介紹項目,說了一下項目中遇到的困難,如何解決。當(dāng)CPU負載很大

4、,利用率卻很少可能會是哪些原因,對linux病毒的了解。數(shù)據(jù)庫各種索引優(yōu)缺點。hr也問了一些。后來問我有什么想問的。我就問了說好的終面,為什么讓我面三輪,hr 很無奈說辛苦了,這是最后一輪。后來知道加面可以加錢。拿到阿里云的offer。騰訊(一面:后臺研發(fā)。進程的棧多大,堆多大,線程棧多大。線程和進程的區(qū)別,多對對模型如何實現(xiàn)。問了些c+底層實現(xiàn),寫了兩個代碼,區(qū)間重合和topk,分析復(fù)雜度。問了一個概率問題。其他的記不清了??傮w感覺面試挺匆忙,可能一面人多的原因。騰訊(二面:這是讓我唯一感覺有壓力的面試。自我介紹都沒直接開問。一個客戶端發(fā)數(shù)據(jù),服務(wù)端一直sleep,將會產(chǎn)生哪些問題。不用循環(huán)

5、實現(xiàn)將一個int的m位到n位置0.如何模仿GDB打印函數(shù)的調(diào)用鏈。證明洗牌算法。紅黑樹的插入刪除。B*樹和B+樹的優(yōu)缺點。證明卡特蘭。如何用C來實現(xiàn)java的接口。怎么樣減少編譯文件依賴。給了一段代碼讓用循環(huán)不變式分析,證明程序的正確性。給了一段代碼讓分析匯編過程,cdecl什么情況,stdcall什么情況,fastcall什么情況。寫一個判斷int相加溢出的函數(shù),unsigned相加溢出的函數(shù),相乘溢出的函數(shù)。其他的記不清了。中午沒什么人,一下面了一個多小時,直到面試官說我基本功很不錯才松了口氣。騰訊(hr面:自己的優(yōu)缺點,說一個公司錄用你的理由,其他的忘了。華為(一面沒問什么技術(shù),說了下項

6、目。華為(二面也沒問什么技術(shù),問了下個人情況,拿到什么offer。(華為最后莫名其妙的掛了360(一面后臺開發(fā)。360后臺面的還是比較難的,每一面都有一個多小時。上來就問內(nèi)核源碼的一些實現(xiàn),之后寫算法:給你一個表,里面是ip 和訪問時間,找出所有十分鐘內(nèi)訪問超過100次的ip;給你一系列公交車的路線,找到從一個站點到某一個站點換乘次數(shù)最少的路線(不要求路徑最短。頁機制和段機制的實現(xiàn),頁表放在哪里,如何調(diào)入內(nèi)存。其他的記不清了。360(二面:使用進程池要注意哪些,和線程池有什么不同。如何解決網(wǎng)絡(luò)編程中的驚群問題,如何防止select沖突。內(nèi)核如何實現(xiàn)保護模式,如何處理已存在的僵尸進程。又問了兩個

7、算法。說有一排N個格子,其中有k個壞了(不指定是哪k個,一個人從左跳格子跳到右,每次可以跳一個,也可以跳2個,壞的格子不能站,問他能成功從左跳到右的概率。一個長方型碰撞檢測代碼。360(hr面:介紹項目,個人傾向工作地等。搜狗:搜素部門。搜狗只有一面,表現(xiàn)差一點的加面。問的大都是開放性問題,寫一個字符串轉(zhuǎn)整形,但字符串是由羅馬數(shù)字組成的。問了搜素引擎的一些原理,PageRank的基本思想,相似性hash。幾大分詞算法,說了幾種經(jīng)典。面試官又問如果字典是不斷更新的咋辦,字典詞不夠咋辦,第一個字典是怎么做出來的。然后問了adboost原理,馬爾科夫鏈原理,主成分分析原理。gps如何定位。阿里實習(xí)(

8、一面項目介紹,畫了個tcp狀態(tài)轉(zhuǎn)換圖,內(nèi)核收到一個tcp或者udp報文如何知道交給那個進程,這個我說根據(jù)端口號,他又問具體怎么實現(xiàn),怎么找到對應(yīng)端口號的進程,網(wǎng)絡(luò)的內(nèi)核部分看的不多,就胡亂說了 點,什么紅黑樹,bitmap,寫紅黑樹插入代碼。 阿里實習(xí)(二面) 項目介紹,MFC 消息機制,java 垃圾回收如何實現(xiàn)。還有一個算法 題,說有 n 個節(jié)點 n 條邊組成一個圈,每個節(jié)點上面有一個數(shù),邊上 有一個+或*, 如果消掉某條邊, 其相鄰兩個節(jié)點就用這個運算符合并。 這樣一路消邊到底,問用什么過程能讓最后得到的數(shù)最大(dp 題). 感受:找工作主要是靠積累,厚積才能薄發(fā)。平時思考問題要注意有

9、深度,只看書是不能理解太深的,要有實踐。不否定一些人天天拿著 書看最后可能也能找到差不多的工作,但是我始終覺得書上的太膚 淺,需要自己通過項目去實踐去感悟去鉆研。再一個學(xué)習(xí)一定要有深 度,例如 c+你僅僅停留在按照 inside 上的畫個內(nèi)存布局、虛函數(shù)表 肯定是不行的,這樣你最多和你的對手差不多,找工作是選拔性的, 你需要比大多數(shù)人強至少一個檔次。如果算法僅僅停留在什么“劍指 offer”“編程之美”這種爛大街的而且只能授人與魚不能授人與漁的 水平,很明顯你也不能在一群人中脫穎而出。相反你需要有扎實的基 本功,組合數(shù)學(xué)、具體數(shù)學(xué),看一些授人予漁的書,比如 Cracking the codin

10、g interview、編程珠璣、算法導(dǎo)論、算法藝術(shù)與信息 學(xué)競賽等等。如果有時間看一下計算機程序設(shè)計藝術(shù)更好。有了這些 基礎(chǔ)可以沒事刷刷題,可以從稍簡單的 leetcode 入手,然后 poj、 NOCOW 、Careercup 等。 然后就是基礎(chǔ),基礎(chǔ)很重要,但是這個有很寬泛,什么是基礎(chǔ), 比如當(dāng)你看到一段程序,腦海里知道對象的內(nèi)存布局,程序的編譯連 接裝載過程、程序的分段,這就是基礎(chǔ)。操作系統(tǒng)的原理,如進程調(diào) 度,內(nèi)存管理這就是基礎(chǔ)。再一個就是思想, MapReduce 是思想、 PageRank 是思想、MVC 是思想、設(shè)計模式也是思想。這些只看書是 沒用的,雖然也能看懂,但是看懂可領(lǐng)

11、悟相差很遠,比如 effective 的 55 個條款,沒什么難懂的,但是真正領(lǐng)悟是需要很多的代碼量和實 踐經(jīng)驗來的。 開闊眼界很重要,不要覺得自己學(xué) C+,看 java 就是浪費時間, 如果項目需要你用 java, 利用這個機會學(xué)習(xí)一下相信反過來對比 C+ 會有更好的認識。操作系統(tǒng)也是如此,通過學(xué)習(xí) windows 對比 linux 的實現(xiàn)會讓你理解更透徹??傊?,自己的知識不應(yīng)該是一個個孤立的 點,而要形成面。 我不建議一個新生入學(xué)就把心思花在找工作上,首先,這就如同 一個大一新生入學(xué)就開始準(zhǔn)備考研一樣,即使最后考上了,但是四年 的時間你可能少學(xué)到很多,你所知道的僅僅是零零碎碎的書本知識, 以后工作實踐起來可能需要很長時間的惡補; 再次缺少實踐對于計算 機專業(yè)是很不好的,很多東西是需要從實踐項目中體會的,而且最重 要的是通過做項目可以培養(yǎng)一個人的自學(xué)能力。最后學(xué)東西不要貪 多,多的前題時扎實。本科加上研究生各種技術(shù)書籍大概看了有近百 本,其中精讀過的大概有 30 本左右,每本不同時期讀過三到五遍, 每一遍都有不同的收獲,所以這是一個

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論