做了一點點面試總結,希望對師弟師妹們以后找工作有一點點作用。
主要內容:
一、一點資源。二、一點經歷。三、一點體會。四、我女朋友面阿里測試開發的總結(師妹們隨便看看)。
--------------------------------------------------------------------------------------------------------------------------------
一、一點資源
1 常去的刷面試題網站以及書籍
(1)http://hawstein.com/posts/ctci-solutions-contents.html 有中文版的書 《程序員面試金典》 這本挺好的,強烈推薦看啊!!!
(2)http://zhedahht.blog.163.com/blog/#m=0 《劍指offer》我做了兩遍,感覺基礎編程能力上提高的比較多。
(3)http://blog.csdn.net/v_JULY_v 只要挑一些專題看看就行,如樹、字符串、鏈表之類的
(4)《編程之美》 有些難,我看了中間的兩章,看個思路也挺好的
(5)《編程珠璣》 一本挺好的書,特別是它的思想
其它好的網站,大家可以看看印象筆記中。
3 一些電子書、相應的代碼、平時的一些總結、自己的簡歷,在百度網盤中
鏈接:http://pan.baidu.com/s/1jGKcnu2
--------------------------------------------------------------------------------------------------------------------------------
二、一點經歷
阿里(測試開發)
一面(掛)(約30分鍾):
1 自我介紹
2 項目中用的訓練模型是怎樣的?
3 Nginx源碼看了多少?Nginx進程模型?工作進程掛了,管理進程如何得知?Nginx與Apache的區別及優勢?Nginx如何進行熱部署?Nginx配置文件中有哪些項? 注重配置使用和Nginx特點
4 定義一個雙向鏈表,自己定義一個操作,實現代碼。
5 有1000萬的數據,如何保持前10萬個經常被訪問的數據在緩存中?(用雙向鏈表,每次訪問到就把該結點作為該鏈表的頭結點)
6 平時看過什么測試的書?
7 黑盒,白盒,以及什么是灰盒測試?
搜狗(C++后台開發[垂直搜索])
一面(掛)(約60分鍾):
1 簡單自我介紹
2 簡單介紹項目
3 說了一些Nginx
4 自己寫了了解socket編程,用linux中的網絡編程接口,寫了一個簡單的 客戶、服務器模型,解釋了下三次握手。
5 問你會哪些設計模式,我寫了一個模板單例,但是寫錯了。
6 算法問題1:有30天的日志(也就是每天用戶在搜索引擎上輸入的搜索詞),數據很大,如何統計前10萬個詞頻最高的記錄;問題2:計算兩個字符串的相似度,編程之美的3.3原題;3 在搜索框里輸入 要搜索的東西,問 第一頁最后的相關搜索詞條是怎么被推薦出來的(可以在百度搜索框里輸入自己名字,拉到最后 看看相關搜索詞條,就可以理解題意了)
7 你有什么問題要問我的?
百度(軟件研發工程師)(拿到offer)
一面(約50分鍾):
1 自我介紹
2 聊了一點項目和Nginx
3 聊Nginx時,問了它的高性能的體現?select、Poll、epoll概念,區別,哪個好?
4 C++基礎,比如用引用的方式傳遞參數有什么特點(扯了很多,但是就是說我沒答到要點,你們可以去搜搜哦)、malloc/free/new/delete的區別。
5 算法題:用兩個棧,棧A有數據1、2、3、4,棧B為空,不用別的空間,將A中的數據的順序變成4、3、2、1,這些數據也是在原來的棧A中。(用遞歸實現即可)
6 寫一個堆排序。
7 問他問題。
二面(約50分鍾):
1 介紹自己
2 1/2的時間感覺在聊項目,也就是跟他解釋,自己這個東西是什么,怎么做的,包含哪些流程,以及自己解決了哪些問題。
3 算法題:給你1000億的數,無序,找出它的中值。(主要考慮內存不足、盡量減少IO次數)這個題自己說了兩種思路:哈希;用數的最高位的0或1對文件進行划分類似劍指offer第40題的方法,最后他提示了一種用位圖的思路。這個題互相討論了很久。
4 提問
三面(約50分鍾):
1 簡單介紹
2 還是介紹自己的項目
3 如果在瀏覽器的URL輸入欄輸入 tao,如何給用戶自動提示相關的URL地址,比如www.taobao.com
4 平時除了做項目,還喜歡做什么?扯自己多么上進,看了Nginx。
5 最大優點、最大缺點?
6 浙江的人,怎么期望工作在北京?
7 還有好多都忘了呢。。。
蘑菇街(網站開發工程師)(拿到offer)
一面(約50分鍾):
1 介紹自己
2 解釋自己的兩個項目。把他說懂為止。
3 聊愛好:騎行。
二面(與90分鍾):
1 介紹
2 介紹項目,項目怎么做的,創新點,結果怎樣。說的太多太長凌亂了,忘了自己說啥了
3 還面過哪些公司?結果?為什么掛了?問了什么問題?
4 你用的是C/C++,我們公司用別的語言開發,要你轉語言你怎么看這個?
5 HR:在同學中你有遇到過很厲害的人嗎?
6 你在同學關系中,你的排名是怎樣的?
7 還有些HR問題,忘了,最后說 看你這么緊張,我還是不問你問題了(其實是我太餓太渴了 囧)
人人(研發工程師)
一面:
1 算法題1:求一串數(有正有負)中,連續的最大子數組和(劍指offer第30題),寫代碼。算法題2:第一題的變體,由第一題的一個連續字串的最大和,改為由兩個連續的字串,且字串不相交,所構成的和最大,並返回該值,寫代碼。
2 做完就叫我回去等通知。。。
--------------------------------------------------------------------------------------------------------------------------------
三、一點體會
1、掛的原因、小小建議:
阿里原因:第一次去心儀的公司面試,還是挺緊張的,沒練過自我介紹、項目描述、以及基礎知識的清晰敘述。另外在問到Nginx的配置時,自己沒有認真看過,導致直接被人格鄙視。
小小建議:簡歷的東西還是按照 精和熟練而不要追求多的原則可能會好一些,被面試官問倒自己寫的熟悉的東西,減分會比較多的感覺;崗位選擇,不要隨意的報,盡可能去看它的要求,看看自己最符合哪項,自己感覺還是不要因為它可能容易進,就選擇它。
搜狗原因:面試官挺nice的,但是自己對文本匹配的題目實在看的太少,上面的3個算法題,只做出了第1個。
小小建議:如果面的是互聯網公司的研發,特別像百度、搜狗之類的,感覺他們還是比較會問匹配相關的問題,也就是上面的第2、3題,因為后來在百度面試也被問到,所以平時可以做一些適當的這方面的准備。
百度感覺:百度的三面會有明顯的偏向。一面面基礎;二面根據你的崗位,會側重考查一項;三面是經理(技術)面的感覺,更看中你這個人怎么樣,考查的會更全面。
小小建議:平時有空做做上面的一些編程題,雖然很多也不會被問到,但是一不小心曾經的一個題的思路,在面試過程中就幫助了自己;前兩面只能踏踏實實的去准備,三面的時候,適當的發揮一下自己,表揚一下自己的優點等等。
蘑菇街感覺:蘑菇街沒有問任何基礎的問題,運氣比較好,把自己平時總結的項目問題,基本上都用上了。也比較努力地去表現自己的上進心及踏實。
小小建議:畢業了找工作,前期靠積累和努力,后期就要看運氣和緣分了。。。多去嘗試,不小心,哪家公司就認可了自己。
2 小體會
其實總的東西都在上面的面試回憶和小小建議中了,因為自己面的只有這5家公司,面的也很少,在很多問題上的認知肯定有偏見,師弟師妹隨意看看就好。
師弟師妹們,現在也可以用空余的時間,想想一年后自己大概要做一份怎樣的簡歷?然后針對這份簡歷或者某個崗位可以提前做點准備啊。我的簡歷也發給大家了,沒什么特點,沒什么突出,大家可以參考大概的格式。在面試過程中,如果自己技術特長,那么就盡量去體現這個,如果沒有,(強烈建議哦)去表現自己有多踏實、多有進取心(當然要想有哪些依據事實可以證明這些)等等素質。
有其它問題,可以隨時問我啊。我平時不是很善於去溝通,但是我沒徐博可怕的,哈哈,大家有什么我可以幫忙的,隨便說啊。
--------------------------------------------------------------------------------------------------------------------------------
四、我女朋友面阿里測試開發的總結(師妹們隨便看看)
阿里
一面:
1.針對Junit提問
2.java反射機制
3.項目方面
4.問我使用的JDK版本,JDK6與JDK7的區別,現在最新的JDK8
5.怎么調試java程序
6.實現雙鏈表,並測試自己的代碼
7.LRU算法
8.為什么沒有去實習
9.指着簡歷問:你本科多次獲得獎學金,為什么研究生期間沒有?
二面:
技術:
1.Junit執行測試用例的原理
2.指着我的實驗二問,預測算法的思想?問遇到什么問題?
3.反射原理
4.為什么想做測試?你對測試的了解
5.為什么對多線程感興趣?
HR:
1.你家里有哪些人?父母從事什么工作?你為什么想在杭州工作?
2.一天的日常作息
3.你的身體素質好么?
4.你妥協過么?
5.最遺憾的事?
6.最難堪的事?
7.有委屈的時候么?
三面:
技術:
1.你熟悉java容器,那你最常用哪些?答HashSet。打斷我問為什么用這個?HashSet底層用什么實現的?答HashMap。問HashMap實現原理?我答完后問處理哈希沖突的方法還有哪些?一直追問還有呢?問這些處理沖突的方法的優缺點,也是一直追問還有呢?
2.Jvm垃圾回收機制。描述標記-整理算法。學了jvm對你有什么幫助?
3.問項目和Junit
4.兩個智力題(1.有100層樓,兩個雞蛋 2.有4枚硬幣,初始狀態未知。你的眼睛被蒙住,看不到硬幣的狀態,但可以隨便翻任何幾個硬幣。你每翻一次以后,旁邊有一個人會告訴你現在又幾枚是朝上的,如果4枚硬幣的狀態是全正面朝上或者全背面朝上,那么成功了。問最少翻幾次可以保證成功?)
HR:
1.一開始,技術面試官不在,她在問我項目問題
2.你學習過程中有艱難的時候嗎?
3.你做的項目好像都是你一個人完成的,如果你來做公司的項目,你覺得自己會遇到什么問題?
4.大多數和上面的HR的問題差不多
--------------------------------------------------------------------------------------------------------------------------------