文/michaelgbw
前言
2016的校招所謂的“金9銀10”已經(jīng)“金”馬上就過去了,對(duì)于大四工作狗來說,是時(shí)候表演真正的技術(shù)了。本人三方已簽,就今年的形式和筆面試的技巧和大家做一個(gè)討論。也為明年找工作的學(xué)弟學(xué)妹們鋪下路。還有就是也別太迷信BAT,今年華為就很逆天啊~
首先說筆試
我自己也做了不少筆試,包括京東,滴滴,美團(tuán),騰訊,百度,阿里等。首先先寫到前面的一句話即是:
筆試可以掛,但絕不代表公司不給你機(jī)會(huì)面試,也并不代表能力不行。
首先我先說明下我的崗位是后端研發(fā)(當(dāng)然有的公司啥都考),有在線編程題,這就要求我們對(duì)其平臺(tái)十分了解,尤其是各種語言的在線編程和調(diào)試機(jī)制,輸入輸出之類的。然后就是要注意時(shí)間,可以助攻(你們懂得),但千萬別太過了。接下來就我筆試過的幾家公司來具體說道說道:
京東,滴滴,美團(tuán)
我把京東滴滴美團(tuán)歸為一類,因?yàn)檫@幾家公司實(shí)在是太像了(在筆試題方面),20道選擇題,兩道編程題,一個(gè)綜合題。
選擇題這幾個(gè)公司很像的,幾乎是什么都涉及到了,數(shù)據(jù)結(jié)構(gòu),算法,操作系統(tǒng),編程基礎(chǔ)(語言以c為主),網(wǎng)絡(luò)通信,數(shù)據(jù)庫(kù)。什么都會(huì)涉及到,這就要求我們筆試者有很好的計(jì)算機(jī)基礎(chǔ),這里我就不舉例了,大家可移步到??途W(wǎng),賽碼網(wǎng)刷題即可。
編程題,這兩家公司都是采用賽碼網(wǎng)的平臺(tái),這個(gè)平臺(tái)有個(gè)好處就是編程題可以調(diào)出頁(yè)面來使用自己的IDE,不錯(cuò)不錯(cuò),有些函數(shù)忘了還可以百度百度,哈哈,但千萬別想著去整到題去百度,這是自討苦吃,百度不到的。兩道編程題從難到易,一般第二道題較難,沒時(shí)間或根本不會(huì)做到100%accepted,把思路一定要寫上去即可,很巧的是,這三家筆試編程題都有一個(gè)DP(動(dòng)態(tài)規(guī)劃的)。這里分享一個(gè)美團(tuán)的題吧:
一圓桌子,放了一排紅包。有個(gè)規(guī)則就是不能取相鄰的紅包,首位相連,用‘ ’分割的string表示。比如1,3,4.要取3,就不能取1,4。問最大可以取的紅包數(shù)是多少。
eg:
輸入:
1 3 4
4
3 9 7 5 1 3 1 2 7
輸出:
5
4
24
<?php
function get_no_continiu_max($str){
$arr=explode(' ',$str);
//print_r($arr);
$data=array();
$len=count($arr);
for($num=0;$num<2;$num++){
if($num==0){
array_pop($arr);
}
else{
array_shift($arr);
}
$data[0]=$arr[0];
$data[1]=$arr[1];
$current_max=($data[0] > $data[1]) ? $data[0] : $data[1];
for($i=2;$i<count($arr);$i++){
for($j=0;$j<$i-1;$j++){
if($arr[$i] + $data[$j] > $current_max){
$current_max =$arr[$i] + $data[$j];
}
}
$data[$i]=$current_max;
}
if($num==0)
$re1=$current_max;
else
$re2=$current_max;
$arr=explode(' ',$str);
$data=array();
$len=count($arr);
}
return max($re1,$re2);
}
再就是綜合題,比如設(shè)計(jì)個(gè)方案來承載高并發(fā)的高容災(zāi)的服務(wù)器架構(gòu)等,這個(gè)每個(gè)方向不同。具體原則是把自己知道的都寫上去,別管相不相關(guān),但絕對(duì)不能答錯(cuò)。
BAT
其實(shí)B和A的筆試題側(cè)重點(diǎn)還是不怎么一樣的,但我把他們歸為一類來說,就是這兩家,我其實(shí)是投的前端。(人家也不想,,說多了都是淚)。
阿里筆試總共一個(gè)小時(shí),沒有編程題。20道題,5個(gè)填空,其他選擇題??偨Y(jié)起來就是各種前端框架(vue,react,angular)。直接被虐殘了,考的知識(shí)的廣度非常大,但深度不大??磥硇U姓娴氖橇鞒塘?,完全不想招人。。
百度的筆試其實(shí)還好,之前有幸在百度實(shí)習(xí)過一段時(shí)間,前端PHP,JQ,CSS3,H5,linux?;A(chǔ)還算正常難度,編程題是亮點(diǎn),兩道題都是來自于現(xiàn)實(shí)的問題,一個(gè)是web的顏色反轉(zhuǎn),還有一個(gè)是xml的標(biāo)簽定位。把算法融合到相應(yīng)的實(shí)際問題中。
騰訊
鵝場(chǎng)的筆試和全年一樣,30個(gè)選擇,2個(gè)編程,2個(gè)問答,2個(gè)小時(shí)。個(gè)人認(rèn)為鵝場(chǎng)的面試和筆試是最難的,筆試不管什么崗都考c++,這真的是醉了。不過還好鵝場(chǎng)編程題不是很難,基本都是寫常規(guī)算法題。?;緵]什么問題。
面試
比起筆試來說面試則更加重要,因?yàn)槿绻f筆試能作弊,面試幾乎不可能。這里只說技術(shù)面,因?yàn)榈搅薶r就基本妥了,hr就就是聊人生聊理想。
百度
首先說"老東家"百度,由于是內(nèi)推,在正式校招開始前就面試了。
- 一面
自我介紹后基本就是聊項(xiàng)目了,在百度實(shí)習(xí)經(jīng)歷加分不少,然后說出一道智力測(cè)試題吧:

是不是有點(diǎn)蒙,我也是。然后開始問概率論,問的什么記不清了,難度還行,之后來個(gè)算法,國(guó)際象棋的上有兩個(gè)棋子,只能斜著走,給出兩個(gè)棋子的位子(x,y),一個(gè)棋子用幾步能把另一棋子吃掉。說實(shí)話這道題答得并不好,思路都不怎么被面試官認(rèn)可,,唉,然后就是問了問session和cookie的區(qū)別呀,PHP如何進(jìn)行session全局,跨服務(wù)器共享等,這還行。
- 二面
也是上來問項(xiàng)目,但和一面不同的是問的更加細(xì)致,還有實(shí)現(xiàn)的效率問題。記得當(dāng)時(shí)的算法題是這樣的,有100多萬的無規(guī)律大數(shù)array,然后對(duì)其進(jìn)行一個(gè)100多萬次的無規(guī)則運(yùn)算,比如第3000個(gè)所有數(shù)相加,2000到4000數(shù)相加,可能越界。不接受O(n*n)的算法復(fù)雜度。
這個(gè)當(dāng)時(shí)真不會(huì)考慮越界問題怎么處理,感覺真的答得不是很好。。
然后就隨便聊了聊相關(guān)的職業(yè)發(fā)展方向。感覺答得真的不好。。。
360
- 一面
問的很細(xì)致,PHP的基本語法,mysql的兩種引擎的區(qū)別,和鎖的機(jī)制,索引的實(shí)現(xiàn),left join和right join的區(qū)別,http協(xié)議的優(yōu)化,緩存控制等,tcp/ip
的三次握手,四次揮手等等,很多,最后算法是給你個(gè)n,求n之前所有素?cái)?shù)。現(xiàn)場(chǎng)寫代碼,還行吧,面完一看表1個(gè)小時(shí)10分鐘。 - 二面
休息了30min,開始了二面,二面的面試官很nice,完全沒有壓力面的意思,上來就說了下他們的面試流程,然后就是對(duì)著簡(jiǎn)歷問項(xiàng)目,也是問的很細(xì)致,還問了這個(gè)項(xiàng)目的盈利點(diǎn)是什么。這,呵呵。但人真的不錯(cuò),,算法題是兩個(gè)無序數(shù)組求差集,并求算法復(fù)雜度。還好,再有就是除了mysql,還用過什么,除了PHP,js還會(huì)什么語言。并大概講了講為什么,很好,面試官全程笑呵呵的。很nice,很像和主管聊天。。
騰訊
- 一面
這個(gè)掛的最慘,一面什么都不問,就問你投的是WXG吧,我是IEG的,微信并不招人,在西安。然后就聊了聊我在百度的實(shí)習(xí)過程,唯一的一個(gè)技術(shù)問題就是js的匿名函數(shù)有什么作用,然后同學(xué)你還有什么問題嗎?我去。。。好吧,不到30min,,然后就沒有然后了。直接蒙了,,這是干嘛??
樂其網(wǎng)絡(luò)
- 一面
這個(gè)是個(gè)創(chuàng)業(yè)公司,是陪同學(xué)去面的,我就順帶霸面了一波。上來介紹項(xiàng)目,然后一個(gè)有序數(shù)組求一個(gè)數(shù)第一次出現(xiàn)的位置,簡(jiǎn)單二分查找,就是return的時(shí)候不能直接返回,再向前挪動(dòng)指針,知道和查找到的不同就行,,然后讓我寫了幾句sql,還行。 - 二面
一面后2min后,開始二面,看來真的是挺急的。二面問的有深度點(diǎn),https的原理,ssl如何防止中間人攻擊等,mysql的索引原理,為什么聯(lián)合索引是左優(yōu)先原則,然后就問了問今后的職業(yè)規(guī)劃,和期待薪資。
總結(jié)
面試什么的都是你和面試官的直接對(duì)話,這個(gè)很有運(yùn)氣的成分在里面,不過不代表你能力不行,只是更多的是不合適他們公司吧。
還有就是別,太,看,重,薪,資(我自己都有點(diǎn)不信,唉~),適合自己的最好,確定了一家公司就一心一意干。我們程序員都是寫很普通的人,很簡(jiǎn)單,看準(zhǔn)一件事,只要自己覺得值得,就會(huì)奮不顧身。比如一個(gè)女孩,聊的來,那她就是全世界。
最后再次懇求拿到高薪資offer的大大們給我們留條生路,都不容易,還沒拿到理想offer的大大們加油,祝好~