計算機專業該學那些知識
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
面試完畢,已跟網易遊戲簽約。遂敲一份筆經面經,記錄下面試經過。類似於用日記記錄自己,同時希望對師弟師妹有一定幫助。不是炫耀,只是希望攢RP,希望各位不要鄙視我。
正所謂“飲水思源”。
小弟來自廣州華南理工大學,電腦科學與工程學院。給華工計算機打一個廣告吧,呵呵。。。
------------------------------------------------------------------------------------------------------------------------------------------
一 騰訊(2011 4月):(所報職位:後臺開發工程師 – 深圳)
騰訊是我一直準備的公司,所以對筆試的知識點及面試側重點有一定的瞭解。
@筆試
一份2個小時卷子,挺基礎的,具體什麼題記不清楚了。涉及網路原理,c/c++語言基礎及高階機制,基礎資料結構及演算法,資料庫,linux基礎,linux下可執行檔案組織機制(記憶體佈局,.text,.bss,.data組織方式等)。
因為一直在準備,所以這份卷子答起來,相對比較順利。成績有80+,這個為通過實習面試起決定性作用。
今天筆試卷子可以勾選bussiness unit(BU),果斷勾選B3(互動娛樂)。
@一面
我習慣面試帶簡歷(因為希望面試官多注重自己的專案經驗,少問些演算法,體現下自己優勢吧),見到一面面試官,直接雙手遞上一份簡歷。果然面試官對著簡歷開始問,看著簡歷中寫到的技能一項項問。
c++ 問了多型實現機制(這個問題屢次被面試官問),直接把insight c++ object models書裡面的記憶體佈局圖搬上去,面試官非常滿意。
tcp/ip原理 ,問了TCP狀態變遷圖,TCP/IP接受傳送緩衝區相關概念。
對Unix環境程式設計、網路程式設計問的較多,不過都是Apue,Unp上面的,從容應答。
linux kernel,問了一些核心原始碼相關的概念,問得廣而淺,不難回答。
幾個綜合問題,1 QQ飛車新使用者註冊時,如何判斷新註冊名字是否已存在?(數量級:幾億)
2 編寫高效伺服器程式,需考慮的因素?
3 Epoll機制相關概念(Epoll與Select機制區別),這個概念許多面試官都會問起
一面答得不錯,加上筆試成績不錯。面試官當場說了一些表揚的話,並把他QQ留給我,說以後什麼事直接諮詢他。我知道自己肯定過了,後面面試走流程吧。^_^。
@二面
一個和藹的大叔,35-45歲,一直在笑。從簡歷開始,介紹技能,介紹專案經驗,對筆試時的系統設計題做改進優化,隨便說了下自己想法。
@HR面
隨便聊天。
拿到騰訊實習Offer,並在騰訊暑期實習兩個月。
二、百度(2011/10) (所報職位:軟體研發工程師 – 深圳)
對百度的面試一直很猶豫,不知是否應該參加。主要兩個原因,一是騰訊已通過實習拿到Offer,二是覺得自己演算法很差,怕被鄙視。直至考試前一天,都沒有確定是否應該參加。幸運地是,最終克服自己的害怕,走上了百度的筆試考場,有機會體會百度的面試。
面度的筆試卷子,因部門而異。我報的軟體研發,RD-3的卷子。
@筆試
筆試題回憶版
一簡答題(30分)
1 對遠端linux/unix系統進行遠端操作,通常的途徑是採用終端軟體通過ssh登陸遠端系統進行操作,但是在網路發生中斷時,Linux/unix端執行的程式將會中斷。
請闡述這種問題發生的原理、通過何種路徑可以避免這種問題、以及闡述可避免這種問題發生途徑的原理
2 最小堆 插入,刪除 程式設計實現。
3 不知所云。
二演算法與程式設計(40分)(演算法可以使用虛擬碼描述)
4 給定一個數字編碼N,大多數情況下可以找到一個數字編碼M,其位數與N相同,各位數字之和與N的各位數字之和相同。並且M是大於N的數值中最小的一個,也可能M不存在。
如:N=134,則M=143.如N=020,則M=101。形式化表述為F(N)=M。如果M不存在,則F(N)=-1。
要求給定演算法計算F(N)序列。
5 給定序列s={a1,a2,…,an};1)構造演算法求全排列。2)構造演算法求所有組合。
三 系統設計題(40分)
這個有時間再慢慢回憶吧。
這個筆試可以用超爛來形容,勉強40分(後面面試時,卷子上見到)。筆試當天是星期日,當晚手機沒電,充電開機後有兩個未接020-*。因為其他童鞋都是簡訊通知,所以沒太在意,自己沒收到簡訊通知,很清楚筆試沒過,遂決定霸面。
星期一:霸面,霸終端研發深圳,見到面試官,但面試官一直忙於找我筆試成績,我就一直推銷自己,專案經驗如何,linux如何,核心如何,TCP/IP網路如何,嵌入式開發如何。終於面試官問了幾個小題,寫了幾個程式設計之美上面的小題。答的還可以,但因為霸面,他一直不爽我。
這次霸面非常失敗,自己也備受打擊。
失落的星期一夜晚,無意中又收到020-*的電話,接起來,對方告知是百度公司,通知星期二去一面。
星期二:哥今天是有通知來一面,不是霸面了。NND。
一面:設計資料結構及改進。我做的不好,我坦言資料結構及演算法一般,因為自己忙專案,但專案經驗及linux,網路知識較豐富。遂轉問linux及核心原始碼,tcp/ip原理及實現細節。
他拿著筆記本上網查問題,我壓力大啊。問題廣而深,幸好linux掌握的還可以。
記起來的問題有,linux作業系統作用,記憶體管理在原始碼哪個目錄(mm),說些程序排程核心實現大致機制,TCP/IP接收發送緩衝區,記憶體管理實現機制。又對專案提問題,要求優化。
面試快結束時,面試官直言我資料結構及演算法掌握的不熟練,以後希望強化。雖然知道這可能意味被淘汰,但還是特別感謝他,遂說了N多謝謝,但都是真心的。因為對比他和霸面的面試官。
星期二晚上一直沒通知,我等到12點就睡了。失望,絕望。雖面試時知道自己可能被淘汰,但仍不願接受這個事實,但現在不得不接受,帶著遺憾入夢。
星期三晚上,沒有期待的時候,不經意又是百度的通知。那一刻,死裡逃生,我想尖叫。
星期四:二面:兩個演算法都是程式設計之美的。其他就是linux、核心,網路、專案,高效伺服器,如何預防攻擊等題目,發揮的不錯。面試官一直微笑。我知道三面有了。
星期五:三面:萬幸不問演算法,問意向,專案經驗,專案細節及能否優化,linux核心等。因為專案確實是自己完成的,所以答的還不錯。
星期日:收到Offer通知。但職位是北京的研發。
三、華為:(所報職位:作業系統工程師 – 深圳)
@機試
給一個數組,求陣列中比平均數大的數字個數。
這題是在考我們的程式設計能力嗎?⊙﹏⊙b汗。
@一面
主要就專案問。
@二面
群面。技術,非技術總16人,分兩組,討論曹操,劉備,孫權,諸葛亮,誰適合當總經理。這個環節,技術的一直被動。Finally,我們組淘汰了兩個(都是技術)。
@三面
上機性格測試,104題。這個沒聽說刷人的。
@四面
跟兩個“老男人”隨便聊,聊專案,聊未來方向,聊華為作業系統發展,聊linux作業系統及實現,很廣但很淺。
四、網易遊戲面試 遊戲系統架構師
@筆試 10.22
網易遊戲筆試,三個小時的題,題量還是非常大的,設計計算機各們核心課程,作業系統原理,c/c++,基礎資料結構與演算法,數學推理題,網路等。題特別多,題特別雜,幾乎沒有童鞋做完吧。多多益善吧。經歷過考研,一些基礎課程還是蠻紮實,前40分的題答的不錯,後面的演算法題做的一般,我只會最笨重的方法。
@一面 10.24晚上通知11.1下午2點面試
最次給各位同學提個醒,簡歷一定要多帶幾份,以備不時之需。他要求2份,我帶了5份,份份都起作用了。
通知2點面試,1:50簽到,開始做題,矩陣相乘,差不多10分鐘做完。開始等一面。
大概2:40通知一面,2個面試官。要求先自我介紹,其次問了一個專案,之後問了一句你是哪裡人?你目前拿到哪些公司offer?之後一面結束,不足10分鐘。沒問任何技術,偶是相當不淡定。
@二面 11.1晚上通知11.2下午3點面試
2點半左右到網易準備。大概3點10分,一個女人帶我進面試房間。當時緊張了,這是我的第一個女技術面試官?
進去後,2男1女。面試官先自我介紹,1個大話西遊II主程式,1個天下II主程式,靚女姐姐是HR。二面+HR面一起面的。
問了很多c++高階機制,問了2道基礎演算法吧。題目回憶如下:
1 建構函式可以呼叫虛擬函式嗎?語法上通過嗎?語義上可以通過嗎?
2 解構函式可以丟擲異常嗎?為什麼不能丟擲異常?除了資源洩露,還有其他需考慮的因素嗎?
3 c++中型別轉換機制?各適用什麼環境?dynamic_cast轉換失敗時,會出現什麼情況?(對指標,返回NULL.對引用,丟擲bad_cast異常)
4 洗牌演算法,如何證明演算法是隨機的
5 100萬個32位整數,如何最快找到中位數。能保證每個數是唯一的,如何實現O(N)演算法?
這道題是程式設計之美或程式設計珠璣上的。
這道題使用點陣圖,需要空間複雜度是512M。
6問了一個他們感興趣的專案,關於gcc外掛的,聊了比較久。
7 拷貝建構函式作用及用途?什麼時候需要自定義拷貝建構函式?
8一些題目記不清楚了。
9聊待遇。
@簽約 11.2晚上收到通過面試通知,通知11.3下午4點簽約。
網易遊戲不同部門不同職位不同面試面試內容不同,但都注重基礎知識。還有的一面題目是BFS,這個應該特別容易了,但還有一些童鞋完成的不好。
如果各位師弟師妹,如果覺得此貼對你們有點點幫助,就祝福下我吧,幫我攢點RP吧,多謝。
關於書單,列表如下:
一直準備的是騰訊後臺開發,所以針對性很強,難免有偏見,望見諒。
先貼下騰訊後臺開發要求的技能,這些技能要求是我讀書的指南針。
遊戲開發類
後臺開發工程師返回>>
職位描述:
負責遊戲相關後臺系統的開發和設計。
1
職位要求:
1、 有Unix/Linux作業系統下的C/C++專案的2年以上開發經驗;
2、 熟悉網路程式設計;熟悉Linux下的mysql開發;
3、精通TCP/IP協議及程式設計,熟悉網際網路應用協議;
4、熟悉面向物件的大型分散式系統設計與開發,瞭解中介軟體的技術以及基於中介軟體的開發模式;
5、全面的軟體知識結構(作業系統、軟體工程、設計模式、資料結構、資料庫系統、網路安全);
6、 具備良好的分析解決問題能力,能獨立承擔任務和有系統進度把控能力;
7、 責任心強,良好的對外溝通和團隊協作能力,主動,好學。
有以下經驗者優先考慮:
1、大型分散式系統設計開發經驗;
2、遊戲後臺系統開發經驗。
上圖:
這其中大部分書都是研1下,研2上購買的。大部分已讀完。一部分書反覆讀3遍以上。比如apue,unp,tcp/ip v1等。
重點圈幾本推薦下:(*號書籍 強烈推薦)
c/c++:
初級 c語言解惑/C和指標
專家:C專家程式設計 *
c++ primer/effictive c++/inside c++ *
tcp/ip書籍
tcp/ip v1(tcp/ip 詳解 卷I) *** 卷2/3沒必要買,也沒必要看,這本卷1主要將tcp/ip原理
unp *** 這本主要將linux socket程式設計API,兩本結合看,效果最佳
unp2(unix 網路程式設計第2卷) 這本主要講IPC,有時間可以看看
linux書籍:
apue ***
深入理解linux核心 *
其他系列linux原始碼書籍,適量看即可。
應試演算法及智力題:
程式設計之美、程式設計珠璣
海量資料處理:
這個網上收集資料,或者有時間我傳上來。
資料結構:
資料結構與演算法分析-C語言描述 Weiss *
考研資料結構1800紅色題集 (這本書對於向我這種資料結構基礎薄弱的童鞋,幫助很大)
差點沒忘了2本至牛的書籍:
組合語言程式設計(毫不誇張的說,這本書改變了我)
深入理解計算機系統
其他的沒什麼了,這些書都掌握了,足夠了,O了。
我對嵌入式開發蠻感興趣的,所以上面photo中也包含部分嵌入式書籍,不感興趣的可以忽略。
最後,談一談廣研和深圳騰訊的一點面試感受。
廣研:
筆試:6小題,設計基礎資料結構:連結串列,樹,字串。很基礎,但也很考驗C語言功底。不要說你會,要熟練,要確保你寫的程式碼無誤且程式設計風格優美。這樣才能增加籌碼。保證你後面順利通過。
一面:講解筆試卷子解題思想,講解專案。面試過程很隨意,面試官主要側重linux,c++,網路。
二面:談一談專案,就專案問一些問題。問一些他們實際中遇到的問題,你會如何解決? 也是比較隨意。
騰訊深圳:
筆試: 資料結構、tcp/ip、作業系統、計算機底層機制(包括堆疊如何組織等,apue有講),20個多選,每題3分,多選少選不得分。40分大題。每空4分,10空。大題基本是送分的。
這個筆試我得了82分,42+40, RAID磁碟陣列,b樹/b+樹,堆,幾個問題沒把握,錯了6個選擇題。
相關推薦
計算機專業該學那些知識
應屆生上泡了兩年,一直都是下資料,下筆試題,面試題。一直都在感謝那些默默付出的人。寫這個帖子花了我兩個夜晚的時間,不是為了炫耀,只是為了能給那些“迷惘”的學弟學妹,一點點建議而已。大家何必那麼認真,更沒必要說髒話。我不在乎你們怎麼評價我。只要有人覺得帖子有用,我就欣慰了。謝
在美國大學計算機專業都學什麼?
作者簡介:祁一鳴,2016年4月加入攜程,任機票研發部技術專家,同時負責攜程App國際機票預定主流程技術團隊。畢業於美國常春藤名校 Dartmouth College 本科,曾先後在矽谷的Oracle、Yahoo!和Salesforce總部效力過。從scratch到del
計算機專業該不該考研
就我自己的理解,談談我對讀研和軟體學院的看法,不妥之處一笑了之即可。 如果你有實際開發工作經驗,感覺自己的水平和實力進入了一個高原期,迫切需要從理論上提高,那麼計算機學院是唯一選擇。因為計算機學院才能讓你在理論上更上一層樓。軟體學院從教學計劃上就沒有把你往這方面帶。當然能不能更上一層樓最終還是完
計算機專業這麼多課程怎麼學
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
微服務,那些你該懂的知識(服務的註冊和發現)
微服務 微服務按照我個人的理解就是將眾多的功能拆分成一個個子服務,其中以現在很流行的SpringBoot框架進行開發,再以SpringCloud方式進行部署。進而可以在SpringCloud的服務平臺中對SpringBoot的一個個服務進行註冊和監控。 一、服務註冊與發現 關
web前端開發需要學習那些知識?前端大咖教你怎麼學web前端
前端開發是一個比較新的行業。但近年來,隨著W3C標準的不斷更新以及node.js的興起,基於node.js一系列的工具和諸多前端框架都參差不齊的浮出水面。。大多數人選擇切換到前端開發是因為以下原因,第一個前端開發閾值非常低。其次,對前端的理解過於簡單,它通常停留在網頁的佈局中,而不計算內容,並且與藝
程式設計師必學電腦計算機專業英語詞彙 01 (132 單詞)
file n. 檔案,公文箱,銼刀,[計算機] 檔案 vt. 列隊行進,歸檔,申請 command n.命令,指揮; 司令部,指揮部; [計算機]指令; 控制力 vt.指揮,控制,命令;
程式設計師必學電腦計算機專業英語詞彙 04 (200 單詞)
corner n.角落,角; 拐角; 困境; [商]囤積 vi.駕車轉彎; 聚於角落 vt.壟斷; 逼入困境 adj.位於角落的 present n. 禮物, 現在 adj. 當面的,
程式設計師必學電腦計算機專業英語詞彙 09 (111 單詞)
complexity n. 複雜,複雜性, 複雜的事物 creation n. 創造, 創作 unknown adj. 未知的,不出名的 greatly adv. 很
程式設計師必學電腦計算機專業英語詞彙 08 (118 單詞)
administrator n. 管理人,行政官 ensemble n. 全體, 合唱曲, 女人的全套服裝 bus n. 公共汽車 allowable adj. 容許
學計算機專業,但是不想做程式設計師,還能做什麼呢?
我本科學得是通訊,畢業以後,家裡供我到國外讀計算機專業,父母都是工薪階層,加上新疆的工資又不高,不僅要支付學費還要負擔我的生活費,所以我很能體諒父母的艱辛。 第一學期,我學得很用功,開學第一個月的程式設計量就超過了我大學四年的程式設計量,我本以為按照這個節奏,我就要“逆天
學計算機專業的都會修電腦?為避免尷尬,請牢記修電腦軍規20條
汽車研發製造、零部件採購、物流、市場分析、司機、汽車銷售都得會修車麼? 讓汽車修理廠情何以堪? 是個醫生就得包治百病,耳鼻喉科醫生解決不了心臟病、面板病等問題,就要被嘲笑很“Low”? 問題在於,為什麼軟體使用經驗、搜尋引擎、維修電腦書籍,這些對於所有人都一樣,且計算機專業並不會學修電腦電腦的情況下
大三,計算機專業學生,面對未來發展該如何提升自己?
大三,真的是一個非常重要的階段,也是很多大學生開始不知所措的階段,不知道自己的未來該如何走下去,IT技術的提升、考研、就業等等問題相擁而至,其實如果有一個明確的路線規劃,這些問題就不是問題了,下面闡述一下自己的想法! 對於實習: 我是這樣想的,正處於大三,實習一般應該是學校會硬性要求的,我們可以找
計算機專業太難不適合女生學?來看 N 多小姐姐的迴應
高考結束了,填志願選專業的時候也要來了。最近我們微博收到一個私信求助: 在@程式設計師的那些事 微博釋出後,有位小姐姐還感嘆: @劉不劉二小姐:沒想到“計算機太難不適合女生學”的觀點五年前我上大學的時候有,現在都火成這樣了還有[二哈] 很多關注我們的小姐姐都冒泡
計算機專業這麼多課程怎麼學?
【學生來信】 我是一名三線城市二本的計算機系的學生,現在是準大三的學生。現在有兩個問題擺在面前,不知所措,希望您能給點建議。 第一個就是計算機專業的專業課太多了,繁多的程式語言課之外還有資料庫、作業系統、計算機網路、計算機組成原理、介面、演算法、資料結構,這些課該怎麼學呢
計算機專業學生應該學哪種開發語言
對於大多數初學者來說,好多人有這種問題存在:我到底先學什麼?學java?還是學C/C++?還是學asp.net呢?還是Delphi?哪一個更好呢?學習程式設計和學習程式設計語言究竟是怎麼一個關係?初學者究竟應該如何取捨呢?就這些問題,我從一個高手那裡看了以下的這段話,可以幫助在這方面有問題的人:學習程式設
寫給湘大計算機相關專業的學弟學妹們
不管未來怎麼樣,但是作為一個大學四年真正奮鬥過的學長,我覺得我比其他人更有資格寫這樣的一篇文章。希望能給湘大的學弟學妹們一些正能量。 奮鬥篇首先寫一下我自己的經歷和心態的轉變吧(當時也沒有什麼牛逼的學長學姐來指點我,完完全全是自己一點一點的摸索)。剛剛來的時候心態是消極的。也許是自己能力不行,高考之後,
計算機專業學生應該學什麼
收到一封mail,是一個計算機系大三學生寫來的,想聽聽我的建議,面臨將要畢業的關口,應該學點什麼才能對將來有用。隨後又有不少朋友通過mail,im等等方式詢問我對這個問題的看法。想必是上次csdn視訊聊天的節目引起了不少朋友的思考。我本來不是計算機專業出身,也並非大師之類的人物,本來不敢好為人師。不過,既然作
程式設計師必學電腦計算機專業英語詞彙 11 (125 單詞)
contiguous adj. 鄰近的,接觸的,連續的 consistent adj. 始終如一的, 一致的, 堅持的 multiprocessing n. 多重處理, 多處理
程式設計師必學電腦計算機專業英語詞彙 07 (142 單詞)
micro adj. 微小的 n. 微米(百萬分之一, 測微計) beyond adv. 在更遠處,另外 n. 遠處, 來世 prep. 超出, 越過,另外 against p