劍指華為

前言

我去華為面試了,很遺憾,結(jié)果不盡如人意,但也不是毫無(wú)收獲。我把它當(dāng)作一個(gè)故事講一遍,希望能博得您茶余飯后一笑,如果除此之外你還有所收獲,那更令我欣慰。雖然看上去洋洋灑灑一大篇,但其實(shí)心中感慨萬(wàn)千,這點(diǎn)東西都不能盡述胸中塊壘之萬(wàn)一。不多說(shuō)了,且行且珍惜吧!

1.英雄帖

故事起因是這樣的:某天晚上(晚上噢!),本人在街上閑逛,吃著臭豆腐看美女。突然屁股兜里一熱,手機(jī)響了。

“您好,這里華為人事部,我是人事經(jīng)理xxx,請(qǐng)問(wèn)您現(xiàn)在方便接聽(tīng)電話嗎?”

。。。此處省略一萬(wàn)字。

值得一提的有以下幾點(diǎn):

1.是電話里的聲音非常好聽(tīng),耳測(cè)是播音系的。

2.接完電話后臭豆腐涼了,心卻熱了。

3.電話中說(shuō)給我兩天時(shí)間讓我準(zhǔn)備一下面試。其實(shí)無(wú)形中給了我巨大的壓力,據(jù)我的經(jīng)驗(yàn),極少有公司會(huì)說(shuō)給你多少天讓你準(zhǔn)備一下面試,通常的情況是問(wèn)你哪天方便過(guò)來(lái)面試一下。但是華為就這么做了,這里體現(xiàn)了華為技術(shù)上的心理優(yōu)勢(shì)。(是的,你不好好準(zhǔn)備會(huì)來(lái)這里丟人的噢?。?/p>

2.磨刀霍霍

其實(shí)在準(zhǔn)備過(guò)程中就已經(jīng)開(kāi)始了內(nèi)心的煎熬,該怎么準(zhǔn)備?準(zhǔn)備什么?前端知識(shí)體現(xiàn)異常龐雜,如果沒(méi)有一定的策略,你將深陷知識(shí)的海洋中無(wú)法自拔。最后導(dǎo)致經(jīng)脈逆轉(zhuǎn),真氣倒流,走火入魔,別說(shuō)去面試了,你可能自己就先打敗了自己。像華為這樣的技術(shù)型公司,比技術(shù)深度,比技術(shù)廣度,你都沒(méi)有任何優(yōu)勢(shì)。經(jīng)過(guò)一番深思熟慮后本人決定采用押題法。本人只押一道題:排序算法。一般的的技術(shù)型公司筆試通常會(huì)有這樣一道題(不分前端后端):數(shù)組[3,2,5,8,9,7,1,4],手寫(xiě)該數(shù)組的排序算法,至少寫(xiě)一種。至少寫(xiě)一種的言外之意是越多越好。本人就賭這道題。千萬(wàn)不要小看這道題,在這里我不多說(shuō),后面我還會(huì)詳細(xì)談到。本人在準(zhǔn)備過(guò)程中詳細(xì)地了解5種基本的排序算法,并反復(fù)地打磨推敲,達(dá)到了用時(shí)10分鐘快速準(zhǔn)確地手寫(xiě)5種排序算法的程度。你沒(méi)聽(tīng)錯(cuò),是用筆寫(xiě)在紙上。有了這個(gè)準(zhǔn)備后,我們想象一面筆試的情景:你粗略瀏覽一遍題目,發(fā)現(xiàn)有好幾頁(yè)呢,你在倒數(shù)第二或第三題發(fā)現(xiàn)了它,你發(fā)現(xiàn)該題留給你的答題空間不夠,于是你在答題區(qū)寫(xiě)下:詳情見(jiàn)背面。然后你花10分鐘在背面寫(xiě)下滿滿一頁(yè)。其他題你大概做了個(gè)七七八八,說(shuō)不上好也說(shuō)不上壞,和別人比大概也沒(méi)什么優(yōu)勢(shì)。那么在面試官看來(lái),可能你整體的得分不高,但你仍然是最特殊的那一個(gè)。得分高的未必能在10鐘內(nèi)寫(xiě)出5種排序算法,而算法通常是技術(shù)型公司比較看重的。我個(gè)人認(rèn)為我的策略是可以的。如果給你兩天時(shí)間去準(zhǔn)備,你要如何去準(zhǔn)備呢?可能你想著如何去準(zhǔn)備就想了一天。如果您有什么想法或建議,可以在評(píng)論區(qū)討論,集思廣益。

3.刀光劍影

華為東莞區(qū)在松山湖,別說(shuō)在松山湖具體幾號(hào),那里都是華為的地盤(pán),大體分為華為ABCDEF等各區(qū)。我去的具體是哪個(gè)區(qū)我也不清除,是華為的妹子給我定位導(dǎo)航一路過(guò)去的。

華為的內(nèi)部有一尊關(guān)公,供著燃燒的香和新鮮的水果。說(shuō)不清楚是因?yàn)榕d奮還是緊張,總之我情緒高昂,以致于差點(diǎn)一頭撞在了關(guān)公的刀上。關(guān)公的刀嚇了我一跳,后來(lái)的事實(shí)證明這是事情不會(huì)盡如人意的某種先兆。

我跟給我導(dǎo)航定位的妹子說(shuō)我到了,妹子回復(fù)說(shuō)先去前臺(tái)填張表。前臺(tái)妹子讓我坐在關(guān)公對(duì)面填,那個(gè)位置說(shuō)實(shí)在的如果不是她說(shuō)還真不敢坐,因?yàn)榭雌饋?lái)像老板坐的。填完后妹子讓我等著,我就這樣和關(guān)公面對(duì)面坐了半個(gè)小時(shí)。

走廊深處出來(lái)一對(duì)男女,都非常地年輕,男的大概二十幾歲,女的看上去還不到二十歲。男的手里拿了一份A4紙打印地文件,我認(rèn)為是筆試題,事實(shí)上不是。他們來(lái)到大廳,四處張望了一下。我起身招手,男的問(wèn):“你是面試前端的?”。我說(shuō):“是的”?!澳沁@邊請(qǐng)”,還是比較客氣的。

各種曲徑回廊,來(lái)到一個(gè)假山旁邊。男的說(shuō):“這里比較安靜,就在這里吧”。

各自落座。

“是從哪過(guò)來(lái)的?”

“虎門(mén)”

“虎門(mén)啊,那挺遠(yuǎn)的啊,坐車(chē)多久?”

“兩個(gè)半小時(shí),還好,不算很遠(yuǎn)”

“行,先自我介紹下吧”

“。。。此處省略一萬(wàn)字”。

這兩個(gè)年輕的面孔微笑地看著我,讓我感到莫名緊張。事后回想起來(lái),仍然讓我感慨萬(wàn)千,他們的微笑種有一種技術(shù)的心理優(yōu)勢(shì),或者說(shuō)那是一種氣場(chǎng)吧??傊?,人家悠然自得,你已方寸大亂。我只希望他趕緊把筆試題給我,我要大顯身手一番。

“說(shuō)說(shuō)你們項(xiàng)目的前后端分離方案吧”

“前端主要負(fù)責(zé)html,通過(guò)ajax請(qǐng)求后端數(shù)據(jù),請(qǐng)求到數(shù)據(jù)后進(jìn)行頁(yè)面渲染,最后呈現(xiàn)給用戶”

“能不能具體一點(diǎn)?”

“此處省略N字”。主要是我對(duì)這個(gè)問(wèn)題毫無(wú)準(zhǔn)備,邏輯混亂,自己根本不知道該講啥。

“說(shuō)說(shuō)前后端通信吧,你們是怎么做的?”

“通過(guò)axious發(fā)送請(qǐng)求”

“你對(duì)后端了解嗎?”

“了解,我會(huì)寫(xiě)java”

“不過(guò)你好像對(duì)后端數(shù)據(jù)接口的定義不太熟悉,我剛才問(wèn)的前后端通信,你只回答了前端”

“呃,是的,那個(gè)我沒(méi)參與”。

這里我認(rèn)為是一個(gè)戲劇性的轉(zhuǎn)折點(diǎn),因?yàn)槲腋杏X(jué)他開(kāi)始討厭我了,他已經(jīng)從心里pass掉我了,接下來(lái)的面試他只是驗(yàn)證他心中對(duì)我的判斷。因?yàn)椴还芩崾裁磫?wèn)題,我怎么回答,他都要從中挑刺。接下來(lái)的面試非常艱難。旁邊的妹子還沒(méi)有說(shuō)過(guò)一句話。之后他采取了咄咄逼人的姿態(tài),我也采取了自衛(wèi)的姿態(tài)。大家要注意,面試一旦陷入這種境地,你技術(shù)再厲害也沒(méi)用,因?yàn)閺哪撤N意義上說(shuō),你們?cè)谛睦砩弦呀?jīng)形成一種敵對(duì)關(guān)系,不再存在合作的可能性。你唯一能做的就是盡量體面地離開(kāi),不要被他羞辱。之后各有來(lái)回,總體上是他占據(jù)優(yōu)勢(shì),沒(méi)有辦法,這里是他的主場(chǎng),他有隨時(shí)切換話題的優(yōu)勢(shì),對(duì)于不想深入的話題,他可以輕易帶過(guò)。不過(guò)他還是被我抓住了非常明顯的漏洞,就是在響應(yīng)式和自適應(yīng)以及媒體查詢(xún)的時(shí)候,他對(duì)這些概念分得不太清,或許他認(rèn)為這根本就是一回事,都是為了做屏幕適配。我抓住這一點(diǎn)予以反擊,完全推翻他的結(jié)論,他臉都?xì)饧t了,不過(guò)因?yàn)槊米釉趫?chǎng),還得在面上裝的紳士客氣。自然,他又切換話題了,否則,我?guī)缀跄艹晒Ψ礆⑺?/p>

。。。此處省略一萬(wàn)字。真的沒(méi)什么好說(shuō)的。

“jsonp的原理是什么?”

“通過(guò)手動(dòng)創(chuàng)建script元素,利用script.src的跨域特性進(jìn)行數(shù)據(jù)請(qǐng)求”

“為什么會(huì)有跨域的限制?”

“因?yàn)橥床呗浴?/p>

“什么是同源策略?解決了什么問(wèn)題?”

“同源策略是指用戶的cookie只能被相同域名下的網(wǎng)頁(yè)訪問(wèn),禁止其他域名訪問(wèn)。為了保護(hù)用戶的數(shù)據(jù)安全”

他沒(méi)有再問(wèn),因?yàn)槊米邮疽馑灰獑?wèn)了。他們眼神交流了一番,然后說(shuō)差不多了。問(wèn)我有什么想問(wèn)的。我簡(jiǎn)單問(wèn)了下公司的上下班時(shí)間。他們讓我回到關(guān)公身邊稍作等待。

4.峰回路轉(zhuǎn)

那個(gè)男的進(jìn)去了,妹子沒(méi)有離開(kāi),此時(shí)和我一起坐在關(guān)公身邊。

她也不說(shuō)話。我對(duì)于面試過(guò)程如此艱難而耿耿于懷,內(nèi)心不能平靜。那個(gè)男的進(jìn)去了好久都沒(méi)有出來(lái)。我左看右看,百無(wú)聊賴(lài)。我一看她也坐在這里,我是無(wú)法忍受和妹子相對(duì)而坐卻相顧無(wú)言的。

“你是他的助理嗎?”

我覺(jué)得像華為這樣的大廠,技術(shù)做到一定級(jí)別,配個(gè)助理也是正常的。而且她和他一起面試,卻又不說(shuō)話,很像是一個(gè)助理。

“我是做前端開(kāi)發(fā)的”她笑著說(shuō)。

我一下就來(lái)了興趣。我注意到她皮膚白皙,長(zhǎng)得挺好看。

“你是做前端開(kāi)發(fā)的?”

“是的,這邊的前端都是我負(fù)責(zé)”

“那剛才面試我的那位是?”

“噢,他是我的下屬,我不太擅長(zhǎng)面試,他比較擅長(zhǎng),是我安排他給你面試的”

“噢,是這樣啊”

之后男的和另一個(gè)女的出來(lái)了,那是人事。他們簡(jiǎn)短交流了一下,美女前端和男的進(jìn)去了,人事留下來(lái),我起身準(zhǔn)備離開(kāi)。

人事送我到門(mén)口。

“怎么樣?面試還順利嗎?”她看起來(lái)挺友善。

“還可以,討論得挺激烈”

“激烈是吧,不錯(cuò),說(shuō)明互動(dòng)不錯(cuò),面試最怕冷場(chǎng),激烈是好事”

“你說(shuō)得對(duì)”

我都不知道該說(shuō)啥。

“好吧,一路注意安全,我們會(huì)經(jīng)過(guò)一輪審核,如果通過(guò)會(huì)在一周時(shí)間內(nèi)通知你復(fù)試”

“好的,謝謝”

后語(yǔ)

整個(gè)面試過(guò)程差不多是這樣,前后大概20分鐘。是一次失敗的面試。

總結(jié)起教訓(xùn)來(lái),有以下幾點(diǎn),供大家參考:

-1.不要去太遠(yuǎn)的地方去面試。

超過(guò)兩個(gè)小時(shí),就不要去了。因?yàn)樽?chē)太遠(yuǎn),人到了以后已經(jīng)是累得個(gè)七葷八素了,面試時(shí)的精面貌非常重要,而且你的臨場(chǎng)反應(yīng)能力也會(huì)因?yàn)槟愕钠v而大幅下降。通常都不會(huì)有好的結(jié)果。

我那天早上7點(diǎn)半出門(mén),匆匆吃了個(gè)炒粉,那個(gè)炒粉炒的太咸,我為了趕時(shí)間也沒(méi)和老板理論,匆匆吃完就走了。趕上公交車(chē)已經(jīng)是8點(diǎn)。途中轉(zhuǎn)了3次公交,因?yàn)槌捶鄣脑?,口渴得不行。?lái)到松山湖已經(jīng)10:30,遲到了半個(gè)小時(shí)。松山湖雖然到處是湖水,卻沒(méi)有一個(gè)賣(mài)礦泉水的地方??梢哉f(shuō)我趕到那里時(shí),狀態(tài)是非常差的(雖然我技術(shù)非常的牛,嘿嘿)。

-2.要和面試官建立良性互動(dòng)。

這個(gè)沒(méi)有辦法,因?yàn)橹鲃?dòng)權(quán)不在你手里,如果面試官不主動(dòng)釋放良性的善意,你再怎么釋放善意都是沒(méi)有用的。除非你能做到滴水不漏,讓他無(wú)可挑剔,即便如此也還要看他心情,他完全可以認(rèn)為你這人不太好溝通而拒絕你。我認(rèn)為失敗的面試?yán)?,面試官的提?wèn)有一多半是沒(méi)有必要問(wèn)的,之所以問(wèn)是因?yàn)樗呷枘悖M(jìn)一步驗(yàn)證他心里的你不行的判斷。對(duì)于這種情況,沒(méi)有任何辦法,只能硬頂硬地干。

-3.面試前要放空自己。

我在面試前天晚上還在背算法,搞到將近12點(diǎn)才上床睡覺(jué),躺在床上還在默默念叨著剛才的算法。這無(wú)形種給我增加了壓力,具體是幾點(diǎn)睡著的我都不清楚總之那天我睡得非常少。事后回想起來(lái),我認(rèn)為正確的做法是,面試前一天晚上什么都不要做,早早睡覺(jué),養(yǎng)好精神,給第二天的自己一個(gè)元?dú)鉂M滿的開(kāi)始。

-4.很遺憾沒(méi)有那個(gè)前端妹子的微信

真的很遺憾,這種緣分就這么錯(cuò)過(guò)了。當(dāng)然我不確定如果時(shí)光倒流,是否真的有勇氣主動(dòng)要她微信。人家是真正的大佬,那個(gè)咄咄逼人的家伙僅僅是她手下的小嘍啰,所謂圣人無(wú)相,高手總是那些看起來(lái)不像高手的人。這讓我想起《天龍八部》開(kāi)頭的情景:鏡湖莊比劍。無(wú)量劍和逍遙派的兩名大漢比劍,兩派互為世仇,不共戴天。梁上卻有一名少女吃吃冷笑,兩名大漢大漢怒了,叫囂著要把少女抓住教訓(xùn)一番。沒(méi)想到少女自己跳下來(lái),三下兩下把兩名大漢都打倒了。眾人一時(shí)都驚呆了。那個(gè)少女叫鐘靈。我和那位咄咄逼人的面試官上演的那場(chǎng)狗咬狗式的面試,正像無(wú)量劍和逍遙派的兩名大漢比劍,而鐘靈卻在旁邊冷眼相看。當(dāng)然我不確定她是否真的還年輕,也許只是看起來(lái)年輕,也許她已經(jīng)三十好幾四十好幾了,也許她是幾個(gè)孩子的媽了。誰(shuí)知道呢?

前文有提到手寫(xiě)排序算法。這個(gè)真的非常重要。微軟曾經(jīng)一面的面試題:手寫(xiě)二分查找排序算法。大家注意,整個(gè)一面就這一道題,寫(xiě)出來(lái)就過(guò),寫(xiě)不出來(lái)就滾蛋。這道題的面試通過(guò)率為5%,低得讓面試官都非常驚訝,于是面試官把這道題拿到內(nèi)部去給員工進(jìn)行測(cè)驗(yàn),通過(guò)率也僅為25%。提到手寫(xiě)算法,就不得不提一下軟件之神--高德納。比爾蓋茨就是他粉絲。這個(gè)人在計(jì)算機(jī)領(lǐng)域的地方就相當(dāng)于籃球界的喬丹,科學(xué)界的愛(ài)因斯坦。這個(gè)人有一個(gè)非常獨(dú)特的習(xí)慣,就是喜歡在紙上寫(xiě)代碼。他曾經(jīng)說(shuō)過(guò)“我寫(xiě)出來(lái)的代碼,都是在腦子里運(yùn)行了好幾遍的,因此我寫(xiě)出來(lái)的代碼沒(méi)有bug”。他做出來(lái)一款Tex軟件,并向全世界宣布將以二的N次方懸賞那些找到他的軟件bug的人,找到第一個(gè)的懸賞2美元,找到第二個(gè)的懸賞4美元,依次遞增,30多年過(guò)去,一共找出來(lái)15個(gè)bug。紙上寫(xiě)代碼要求你對(duì)代碼有更深入的理解,對(duì)流程有更精確的控制,你必須像機(jī)器一樣思考,對(duì)各種邊界條件要了然于胸。你是否能理解為什么微軟會(huì)提出這么一道面試題呢?高德納年輕時(shí)寫(xiě)過(guò)一本書(shū)《計(jì)算機(jī)編程藝術(shù)》,他一口氣就寫(xiě)了三千多頁(yè),編輯去催稿時(shí),他說(shuō)還只是寫(xiě)了個(gè)開(kāi)頭,編輯認(rèn)為可以做些刪減,于是請(qǐng)技術(shù)專(zhuān)家鑒定一下,鑒定的結(jié)果是最好一字不差地出版。這套書(shū)一共七本,微軟創(chuàng)業(yè)早期的招人標(biāo)準(zhǔn)就是讀過(guò)《計(jì)算機(jī)編程藝術(shù)》其中一本,因?yàn)楸葼柹w茨自己就只讀過(guò)一本,因?yàn)樵偻伦x就看不下去了。這套書(shū)相當(dāng)于計(jì)算機(jī)領(lǐng)域的相對(duì)論,可以在網(wǎng)上買(mǎi)到英文版,沒(méi)有中文版,因?yàn)闆](méi)有中國(guó)人看得懂。有興趣地可以買(mǎi)來(lái)看一下,價(jià)格不便宜,當(dāng)然一般都是看不懂的,不過(guò)也可以把它當(dāng)作軟件行業(yè)的圣經(jīng),每天早晚三炷香地供著,保佑自己代碼隨便敲,bug全沒(méi)了。

好了,就到這里吧,希望你有所收獲。我將在下一篇文章里描述如何快速準(zhǔn)確地在10分鐘里手寫(xiě)5種排序算法。敬請(qǐng)期待。。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容