劍指offer
本來(lái)不想讀,但是由于“真香定律”操控鲤看,還是讀了耍群。為了算法提升,認(rèn)知進(jìn)階蹈垢,還是有必要去認(rèn)真閱讀曹抬。考慮書(shū)的內(nèi)容還是比較多,那么就按照2周的節(jié)奏讀完
面試官談面試
- 對(duì)于初級(jí)程序員谤民,我一般會(huì)偏向考查算法和數(shù)據(jù)結(jié)構(gòu)堰酿,看應(yīng)聘者的基本功张足;對(duì)于高級(jí)程序員,我會(huì)多關(guān)注專(zhuān)業(yè)技能和項(xiàng)目經(jīng)驗(yàn)
--何幸杰(SAP,高級(jí)工程師) - 應(yīng)聘者要事先做好準(zhǔn)備哼绑,對(duì)公司近況碉咆、項(xiàng)目情況有所了解,對(duì)所應(yīng)聘的工作很有熱情茂浮,另外壳咕,應(yīng)聘者還要準(zhǔn)備好合適的問(wèn)題問(wèn)面試官
--韓偉東(盛大,高級(jí)研究員) - 應(yīng)聘者在面試過(guò)程中首先需要放松驹尼,不雅過(guò)于緊張庞呕,這有助于后面解決問(wèn)題時(shí)開(kāi)拓思路程帕。其次不要急于編寫(xiě)完成地啰,應(yīng)該了解清楚所要解決的問(wèn)題亏吝。這個(gè)時(shí)候最好和面試官先多做溝通,然后開(kāi)始做一些整體設(shè)計(jì)和規(guī)劃蔚鸥,這有助于編寫(xiě)高質(zhì)量和高可讀性的代碼。完成代碼后不要馬上提交馆类,最好自己檢查并且借助一些測(cè)試用例來(lái)測(cè)試幾遍代碼弹谁,找出可能出現(xiàn)的錯(cuò)誤
--堯敏(淘寶,資深經(jīng)理) - 神馬都是浮云沟于,應(yīng)聘技術(shù)崗位就是踏實(shí)寫(xiě)程序
--田超(微軟植康,SDE II)
一、面試的三種形式
1、電話(huà)面試
特點(diǎn):見(jiàn)不到對(duì)方榄攀,雙方溝通只能依靠聲音
1金句、應(yīng)聘者盡盡可能用形象化語(yǔ)言把細(xì)節(jié)說(shuō)清楚
2、約好面試時(shí)間贞瞒,面對(duì)突然襲擊趁曼,提前保證手機(jī)電量和周?chē)h(huán)境安靜
3、如果沒(méi)有聽(tīng)懂或聽(tīng)清楚面試官問(wèn)題乒融,千萬(wàn)不要不懂裝懂,答非所問(wèn)
4赞季、當(dāng)不確定面試官問(wèn)題時(shí)申钩,一定要大膽向面試官多提問(wèn),直到弄清楚面試官意圖為止
5撒遣、外企會(huì)有英語(yǔ)面試
2愉舔、共享遠(yuǎn)程桌面面試(少數(shù)大公司)
利用一些共享桌面的軟件(Skype,WebEx),應(yīng)聘者把自己電腦桌面共享給遠(yuǎn)程面試官
關(guān)注點(diǎn):應(yīng)聘者的編程習(xí)慣及調(diào)試能力
思考清楚再開(kāi)始編碼
沒(méi)有形成清晰思路之前寫(xiě)出的代碼通常漏洞百出,被面試官發(fā)現(xiàn)后命迈,應(yīng)聘者容易慌張火的,代碼越改越亂,導(dǎo)致面試結(jié)果不理想征椒。良好的代碼命名和縮進(jìn)對(duì)齊習(xí)慣
一目了然的變量和函數(shù)名湃累,加以合理的縮進(jìn)和括號(hào)對(duì)齊,會(huì)讓面試官覺(jué)得應(yīng)聘者有參與大型項(xiàng)目的開(kāi)發(fā)經(jīng)驗(yàn)能夠進(jìn)行單元測(cè)試
如果應(yīng)聘者能夠在定義函數(shù)之后蒙秒,立即對(duì)該函數(shù)進(jìn)行全面單元測(cè)試宵统,那就相當(dāng)于向面試官證明自己有專(zhuān)業(yè)軟件開(kāi)發(fā)經(jīng)驗(yàn)。如果應(yīng)聘者先寫(xiě)單元測(cè)試用例瓢省,再寫(xiě)解決問(wèn)題函數(shù)痊班,會(huì)刮目相看調(diào)試能力
當(dāng)發(fā)現(xiàn)運(yùn)行結(jié)果不對(duì)之后反應(yīng),也是面試官關(guān)注重點(diǎn)蛔六。此時(shí)反應(yīng)體現(xiàn)他的調(diào)試功底,若熟練設(shè)置斷點(diǎn)具钥、單步跟蹤液兽、查看內(nèi)存、分析調(diào)用棧宁玫,快速發(fā)現(xiàn)問(wèn)題根源并解決柑晒,面試官會(huì)覺(jué)得開(kāi)發(fā)經(jīng)驗(yàn)豐富,調(diào)試能力是書(shū)本學(xué)不到的
現(xiàn)場(chǎng)面試
- 規(guī)劃好路線(xiàn)并估算出行時(shí)間佛掖。
提前半個(gè)小時(shí)涌庭,遲到會(huì)扣印象分 - 準(zhǔn)備好得體的衣服
IT公司通常衣著隨意,一般舒服干凈的衣服都可以 - 注意面試邀請(qǐng)函里面的面試流程
如果面試有好幾輪拴魄,時(shí)間也很長(zhǎng)席镀,那么在你面試過(guò)程中可能出現(xiàn)疲勞和思維遲鈍,準(zhǔn)備一些提神飲料或者食品 - 準(zhǔn)備幾個(gè)問(wèn)題
每一輪面試的最后顶捷,面試官都會(huì)讓?xiě)?yīng)聘者問(wèn)幾個(gè)問(wèn)題跛溉,應(yīng)聘者都可以提前準(zhǔn)備好問(wèn)題扮授。
現(xiàn)場(chǎng)面試考察溝通能力刹勃、學(xué)習(xí)能力、編程能力等綜合能力
面試的3個(gè)環(huán)節(jié)
行為面試--》技術(shù)面試--》應(yīng)聘者提問(wèn)
1.3.1行為面試環(huán)節(jié)
簡(jiǎn)短的自我介紹伍宦,自我學(xué)習(xí)經(jīng)歷、工作經(jīng)歷即可次洼,面試官會(huì)針對(duì)性提出幾個(gè)問(wèn)題了解
- 1卖毁、應(yīng)聘者的項(xiàng)目經(jīng)驗(yàn)
采用STAR模型描述項(xiàng)目經(jīng)歷
Situation :短暫的項(xiàng)目背景
比如項(xiàng)目的規(guī)模,開(kāi)發(fā)的軟件功能炭剪、目標(biāo)用戶(hù)等Task:自己完成的任務(wù)
這個(gè)要寫(xiě)詳細(xì)翔脱,讓面試官對(duì)自己工作一目了然。注意用詞區(qū)分“參與”和負(fù)責(zé)错妖。負(fù)責(zé)涉及項(xiàng)目的總體架構(gòu)設(shè)計(jì)瓷产、核心算法、團(tuán)隊(duì)合作問(wèn)題株旷,“參與”的人員很難負(fù)責(zé)Action:為完成任務(wù)自己做了哪些工作尔邓,是怎么做的
做系統(tǒng)人員梯嗽,可以介紹系統(tǒng)架構(gòu)特點(diǎn),軟件開(kāi)發(fā)可以寫(xiě)基于什么工具應(yīng)用那些技術(shù)灯节,做軟件測(cè)試的炎疆,可以寫(xiě)手工測(cè)試,還是自動(dòng)化測(cè)試形入,白盒還是黑盒測(cè)試Result :自己的貢獻(xiàn)
最好用數(shù)字加以說(shuō)明亿遂,參與功能開(kāi)發(fā)渺杉,則說(shuō)按時(shí)完成多少功能挪钓,做優(yōu)化,性能提高百分比英妓,維護(hù)可以說(shuō)改正多少bug舉例
Winforms是微軟.NET中的一個(gè)成熟的UI平臺(tái)(Situation)绍赛。本人的工作是在添加少量新功能之外主要負(fù)責(zé)維護(hù)已有的功能(Task)吗蚌。新的功能主要是讓W(xué)inForms的控件風(fēng)格的Vista、Windows 7風(fēng)格保持一致蚯妇。在維護(hù)方面箩言,對(duì)于較難問(wèn)題,我用WinDbg等工具進(jìn)行調(diào)試(Action)饭豹。在過(guò)去兩年中务漩,我共修改了超過(guò)200個(gè)Bug(Result)
常問(wèn)問(wèn)題
- 你在該項(xiàng)目中碰到最大的問(wèn)題是什么,你是如何解決的翘悉?
- 從這個(gè)項(xiàng)目中你學(xué)到了什么居触?
- 什么時(shí)候會(huì)和其他團(tuán)隊(duì)成員有什么樣子沖突,你們是如何解決沖突的制市?
提示:
在介紹項(xiàng)目經(jīng)驗(yàn)時(shí)砖瞧,應(yīng)聘者不必詳述項(xiàng)目背景嚷狞,而要突出介紹自己完成的工作及取得的成績(jī)
- 應(yīng)聘者掌握的技能
了解:指上過(guò)課或者看過(guò)書(shū),但沒(méi)有做過(guò)實(shí)際項(xiàng)目
熟悉:在實(shí)際項(xiàng)目中使用某項(xiàng)技術(shù)已經(jīng)有較長(zhǎng)的時(shí)間竭翠,通過(guò)查閱文檔可以獨(dú)立解決大部分問(wèn)題
精通:對(duì)一項(xiàng)技術(shù)得心應(yīng)手斋扰,開(kāi)發(fā)過(guò)程中,請(qǐng)教該領(lǐng)域問(wèn)題传货,都有能力解決问裕,精通會(huì)讓面試官對(duì)你期望很高,會(huì)調(diào)一些比較難的問(wèn)題來(lái)問(wèn)窥淆,除非你是“高人”
回答為什么跳槽
面試官總喜歡問(wèn)為什么打算跳槽
回答這個(gè)問(wèn)題時(shí)不要抱怨巍杈,也不要流露出負(fù)面的情緒。負(fù)面情緒通常是能夠傳染的词裤,當(dāng)應(yīng)聘者總是在抱怨時(shí)汁咏,面試官就會(huì)擔(dān)心把他招進(jìn)來(lái),那么他將會(huì)成為團(tuán)隊(duì)負(fù)面情緒的傳染源帅刊,從而影響整個(gè)團(tuán)隊(duì)士氣漂问。
盡量避免四大原因
- 老板太苛刻
- 同事太難相處
- 加班太頻繁
- 工資太低
前3個(gè)原因蚤假,會(huì)讓面試官聯(lián)想到自身,反而對(duì)應(yīng)聘者產(chǎn)生戒備袍嬉,后1個(gè)原因真實(shí),但是不必要說(shuō)
作者通常答案:現(xiàn)在的工作做了一段時(shí)間箍土,已經(jīng)沒(méi)有太多激情了罐监。因此希望尋找一份更有挑戰(zhàn)的工作,然后具體論述為什么有些厭倦現(xiàn)在職位
技術(shù)面試環(huán)節(jié)
1.扎實(shí)的基礎(chǔ)知識(shí)
扎實(shí)的基本功是成為優(yōu)秀程序員的前提條件沟堡,因此面試官關(guān)注的是否具備扎實(shí)的基礎(chǔ)知識(shí)航罗。通称ㄒ基本功體現(xiàn)3個(gè)方面:編程語(yǔ)言、數(shù)據(jù)結(jié)構(gòu)和算法
首先立莉,要掌握至少一兩門(mén)編程語(yǔ)言
其次七问,數(shù)據(jù)結(jié)構(gòu)通常是面試過(guò)程中考點(diǎn),應(yīng)聘者應(yīng)熟練掌握鏈表刹淌、樹(shù)讥耗、棧、隊(duì)列和哈希表等數(shù)據(jù)結(jié)構(gòu)蔼卡,以及操作挣磨。重要集中于鏈表和二叉樹(shù)
最后茁裙,重點(diǎn)考查找、排序等算法掉蔬,如二分查找、歸并排序和快速排序女轿,動(dòng)態(tài)規(guī)劃谈喳、貪婪算法2.高質(zhì)量的代碼
只有注重質(zhì)量的程序員戈泼,才能寫(xiě)出魯棒、穩(wěn)定的大型軟件扭倾,在面試過(guò)程中面試官格外關(guān)注邊界條件挽绩、特殊輸入等看似細(xì)枝末節(jié)但實(shí)則至關(guān)重要的地方,以考察應(yīng)聘者是否注重代碼質(zhì)量模聋。很多時(shí)候面試官發(fā)現(xiàn)應(yīng)聘者寫(xiě)出的代碼只能完成最基本的功能唠亚,一旦輸入特殊邊界條件參數(shù)灶搜,就會(huì)錯(cuò)誤百出甚至崩潰
提示:面試官除了希望應(yīng)聘者代碼能夠完成基本功能,還會(huì)關(guān)注應(yīng)聘者是否考慮邊界條件前酿,特殊輸入(空指針鹏溯,空字符串)及錯(cuò)誤處理3.清晰的思路
只有思路清晰,應(yīng)聘者才有可能在面試過(guò)程中解決復(fù)雜的問(wèn)題言津。
解決復(fù)雜問(wèn)題方案:畫(huà)圖能使抽象問(wèn)題形象化取试,舉例使抽象問(wèn)題具體化瞬浓,分解使復(fù)雜問(wèn)題簡(jiǎn)單化4.優(yōu)化效率的能力
優(yōu)秀的程序員對(duì)時(shí)間和內(nèi)存消耗錙銖必較,他們很有激情地不斷優(yōu)化自己代碼磅叛,當(dāng)面試官出題目有很多解法時(shí)候,通常期待應(yīng)聘者最終能夠找打最優(yōu)解
想要優(yōu)化時(shí)間或者空間效率兆龙,首先知道如何分析效率
想要優(yōu)化代碼效率敲董,我們需要知道各種數(shù)據(jù)結(jié)構(gòu)和算法的優(yōu)缺點(diǎn)- 優(yōu)秀的綜合能力
應(yīng)聘者除了要展示自己編程能力和技術(shù)功底腋寨,還需要展示自己軟技能(Soft Skills),諸如自己的溝通能力和學(xué)習(xí)能力
如何考察學(xué)習(xí)能力:第一種,面試官會(huì)問(wèn)應(yīng)聘者最近在看什么書(shū)铃剔,從中學(xué)習(xí)那些新技術(shù)查刻,了解應(yīng)聘者的學(xué)習(xí)愿望和學(xué)習(xí)能力
第二種:拋出一個(gè)新概念,接下來(lái)他會(huì)觀察應(yīng)聘者能不能在短時(shí)間內(nèi)理解這個(gè)概念并解決相關(guān)問(wèn)題
知識(shí)遷移能力是一種特殊的學(xué)習(xí)能力
考察應(yīng)聘者的抽象建模能力和發(fā)散思維能力蝶押,考察應(yīng)聘者能不能將生活中所遇到問(wèn)題抽象成合理的數(shù)據(jù)結(jié)構(gòu)和算法
- 優(yōu)秀的綜合能力
應(yīng)聘者提問(wèn)環(huán)節(jié)
在結(jié)束面試前510分鐘棋电,面試官會(huì)給應(yīng)聘者問(wèn)幾個(gè)問(wèn)題苇侵,應(yīng)聘者問(wèn)題質(zhì)量對(duì)面試結(jié)果有影響,有些人溝通能力強(qiáng)于未,馬上就能想到有意思的問(wèn)題陡鹃。一般建議提前準(zhǔn)備23的問(wèn)題萍鲸,應(yīng)對(duì)提問(wèn) 環(huán)節(jié)
面試官讓?xiě)?yīng)聘者問(wèn)幾個(gè)問(wèn)題,主要是了解他最關(guān)心的問(wèn)題有哪些握侧,應(yīng)聘者至少要問(wèn)一兩個(gè)問(wèn)題,否則面試官覺(jué)得你對(duì)我們公司不感興趣埋合,問(wèn)得合適是個(gè)加分項(xiàng)萄传,問(wèn)題不得當(dāng)秀菱,印象分會(huì)大打折扣
禁忌
1、不要問(wèn)和自己的職位沒(méi)有關(guān)系的問(wèn)題答朋,比如“公司未來(lái)五年發(fā)展戰(zhàn)略是什么梦碗?”
2蓖救、不要問(wèn)薪水循捺,技術(shù)面試不是談薪水的時(shí)候,談工資要等通過(guò)面試之后和HR談
3从橘、不要打聽(tīng)面試結(jié)果,最終決定應(yīng)聘者能不能通過(guò)面試叉谜,是要把所有面試官的評(píng)價(jià)綜合起來(lái)踩萎,問(wèn)了等于白問(wèn),會(huì)讓面試官覺(jué)得你沒(méi)有自我評(píng)估能力
推薦:
推薦問(wèn)題是與應(yīng)聘的職位或者項(xiàng)目相關(guān)問(wèn)題董栽,如果這種類(lèi)型問(wèn)題問(wèn)得很到位企孩,那么面試官就會(huì)覺(jué)得你對(duì)應(yīng)聘職位很有興趣
如何提問(wèn)好:
- 1勿璃、首先要對(duì)應(yīng)聘的職位或者項(xiàng)目背景有一定了解
1)面試前做足功課运提,到網(wǎng)上搜集相關(guān)信息闻葵,做到對(duì)公司成立時(shí)間槽畔,主營(yíng)業(yè)務(wù),職位要求了然于胸
2)面試過(guò)程中留意面試官說(shuō)過(guò)的話(huà)鳞尔,不少面試官會(huì)簡(jiǎn)單介紹招聘職位和相關(guān)項(xiàng)目早直,其中也包含從其他渠道無(wú)法得到信息霞扬,找出一兩點(diǎn),對(duì)面試官提問(wèn)
總結(jié)
重點(diǎn)介紹面試流程喻圃,從電話(huà)面試開(kāi)始萤彩,接下來(lái)遠(yuǎn)程桌面面試,到現(xiàn)場(chǎng)面試
現(xiàn)場(chǎng)面試斧拍,包含三部分雀扶,行為面試環(huán)節(jié),技術(shù)面試環(huán)節(jié)肆汹,應(yīng)聘者提問(wèn)環(huán)節(jié)
其中面試官關(guān)注應(yīng)聘者5個(gè)方面的素質(zhì)
1愚墓、基礎(chǔ)知識(shí)
2、寫(xiě)出高質(zhì)量代碼
3昂勉、解決問(wèn)題思路清晰
4转绷、優(yōu)化效率的能力
5、綜合素質(zhì)硼啤,即軟技能(學(xué)習(xí)能力,溝通能力)
5種能力是后續(xù)專(zhuān)門(mén)深入探討