程式設計師面試題分享,掌握八成便可BAT一試!
最近,筆者在Github上看到了一個非常有趣的專案,來自一位谷歌軟體開發工程師的分享,主要講述了他是如何從一名web開發者蛻變為谷歌軟體開發工程師的,這一路走來,他都看了哪些書籍,哪些影片和哪些面試題,只可惜雖然作者給了連結,但部分內容在國內還是無法訪問。
(由於此處不便分享連結,所以對該專案感興趣的可以在Github上搜尋coding-interview-university,然後選擇中文版本進行閱讀)
看完,筆者也有了興致,便在網上搜集了一些國內一線網際網路公司的面試題和麵試技巧,特此整理分享給需要的技術人員,看你和BAT之間差了多少!
阿里巴巴
根據部分網友的反饋,阿里的面試共分為五輪,前兩輪均為電面(電話和影片),四輪技術一輪HR,大部分網友止步於二面。
技術面試部分,所掌握的程式語言和謀職的部門不同,問題自然也會不同。但是,主程式語言和專案經驗是必備基礎面試題。
首先是主程式語言,主要指開發者最拿手的,工作中使用的程式語言,不要和麵試官說自己沒有主程式語言但是會N多種程式語言,甚至是精通N多種語言,這樣可能連一面都活不過去。
此外,如果你的主程式語言是確定的,那麼接下來一半的問題會圍繞主程式語言的高階特性展開,這些相關問題是比較容易在面試中被問到的。
在面試中,Hashmap、Arraylist、各類排序演算法、紅黑樹、執行緒、訊息佇列、分散式、Forward和redirect都是常被問到的概念,每個概念又可以展開無數個問題。其中,螞蟻金服(上海)會更重視資料庫和開源相關技術。
HR面試的問題都是一些常見問題,比如期望的薪資、上一家公司的離職原因、為什麼選擇阿里、最有成就感的事情、專案中遇到的最大挑戰以及如何評價自己等,阿里是一家非常有情懷的企業,千萬不要小看HR詢問的這幾個看似常規的問題,或許就可以決定你最終是否被錄取。一定要認真、積極、讓HR感覺到你對阿里的熱情。
百度
百度是一家技術基因的公司,非常注重研發人員的程式碼能力和對演算法的瞭解程度,如果想入職百度研發崗,建議各位技術人先考察一下自身的能力再說,不然會被虐的很慘。
百度技術面共三輪,第一輪需要自我介紹,手寫一些簡單的演算法,比如單例模式,快速排序等,穿插著Hashmap、Object類、Finalize、JVM等概念性問題,最後一題可能需要設計一個大型管理系統,比如圖書管理系統之類的。
二面首先會問一些專案經歷,然後手撕各類演算法,比如某網友分享的試題中,提到了反轉單連結串列、爬樓梯,狀態轉移方程等,最後一道試題會考察程式設計師的智力,比如時針和分針什麼時候重合。
三面除了進一步瞭解專案經歷之外,會出現一些比較大型的手撕演算法題,比如給出一些基本條件,讓你求某兩點之間的最短路徑,之後在這個問題上繼續擴充套件,設計完成還需要運用不同方法求解,講出其中的設計原理等。
三輪面試的面試官使用的語言很可能不同,並且即便程式碼思路清晰,下筆也還是要快一點,不然面試官一催,很可能就慌了。
騰訊
騰訊的筆試透過率還是比較高的,前兩輪面試除了基本的自我介紹和專案介紹以外,主要會考察的知識點有Hibernate、mysql資料庫、Redis、memcache以及Java的full gc,手撕演算法和場景題同樣很重要。
這裡對演算法題就不舉例了,無非是常見的一些知識。網友提供的場景題示例為:千萬使用者搶購,如何處理高併發,並且有一個連結,指向前一天搶購成功的使用者,如何設計整個系統和資料庫。
網易
網易十分看中研發者的過往專案經驗,對專案介紹和專案開發過程中遇到的難點一定要提前梳理清楚,否則現場一定會被面試官懟得體無完膚。面試網易之前,可以多看看分散式事務方面的概念,網易也有自己的一些場景題,比如,設計一個下單系統,下單成功後可以給使用者發放優惠券。
今日頭條
今日頭條對手寫演算法的能力同樣很看重,根據反饋,今日頭條在面試中主要考查了資料庫最佳化、索引(聯合索引)、Java虛擬機器、設計模式(單例模式)、nio、Linux命令(隨機問某一個)、http協議和狀態碼、301和302的區別、502和503的區別、Redis資料結構、MySQL叢集資料等概念,每輪面試基本都會有手寫程式碼的題,演算法邏輯不會很難,但想寫好還是需要注意很多細節。
華為
華為對學歷是有一定門檻的,參加招聘之前,需要認真閱讀華為的招聘簡章,這一點非常重要。其次,面試之前務必認真梳理自己曾經參與過的完整專案流程,包括專案介紹、專案架構、完整執行流程、專案最佳化等,這些基本就是每輪面試的主要問題了,整體來講,華為的面試還是比較輕鬆的,如果你學歷達標的話。
美團
面試之前多刷刷網上的面試題,尤其是出現機率比較高的題是很有幫助的。面試中主要涉及的知識點有Redis(原始碼、叢集和持久化)、Hashmap(原理和容量)、Hashset的原始碼、Object類、hashcode和equals、排序演算法(快速排序等)、(概念,Mysql的級別)、執行緒池、Java(模型、垃圾回收)、資料庫索引......
如果之前刷過題,手寫演算法題應該問題不大,如果之前沒有刷過題,那演算法題也不是那種在現場馬上就可以很快寫出來的。所以,要重視面試前準備。回答面試官問題時,可以適當延伸將自己會的東西表現出來。
結語
1、自己確實會的知識可以多說說,適當延展;自己不是很擅長的也要第一時間大方承認,否則後面一定會跟著無休止的問題。
2、計算機系統原理知識、協議、資料結構與演算法這些基本知識是所有大廠面試必不可少的基本技能。
3、如果你貢獻過某個不錯的開源專案或者有自己的部落格將是很棒的加分項。
4、專案經驗很重要,無論是社招還是校招,專案經驗都需要認真準備。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/810/viewspace-2802494/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- “刷一波” 程式設計師面試題,掌握八成便可BATJ一試~程式設計師面試題BAT
- 2018年Java程式設計師最新BAT面試題Java程式設計師BAT面試題
- JAVA程式設計師面試題庫分享Java程式設計師面試題
- VUE的面試題分享-好程式設計師Vue面試題程式設計師
- 好程式設計師Java教程分享JavaScript常見面試題一程式設計師JavaScript面試題
- 好程式設計師分享:Java面試題常見問題程式設計師Java面試題
- 好程式設計師web前端教程分享JavaScript面試題程式設計師Web前端JavaScript面試題
- 好程式設計師web前端分享常見面試題程式設計師Web前端面試題
- 好程式設計師Java分享Javamain十個面試題程式設計師JavaAI面試題
- 好程式設計師Java培訓分享Java面試題集合篇一程式設計師Java面試題
- 好程式設計師Java教程分享XML常見面試題程式設計師JavaXML面試題
- 好程式設計師Java教程分享Java面試題之Hibernate程式設計師Java面試題
- 好程式設計師Java教程分享jsp相關面試題程式設計師JavaJS面試題
- 好程式設計師web前端培訓分享Vue面試題程式設計師Web前端Vue面試題
- 好程式設計師Java培訓分享Mybatis面試題集合程式設計師JavaMyBatis面試題
- 好程式設計師Java教程分享:Java工程師常見面試題程式設計師Java工程師面試題
- 好程式設計師Python培訓分享機器學習面試題一程式設計師Python機器學習面試題
- 好程式設計師Java培訓分享實用的Redis面試題一程式設計師JavaRedis面試題
- 好程式設計師web前端培訓分享JS面試題總結一程式設計師Web前端JS面試題
- iOS面試·一個iOS程式設計師的BAT面試全記錄(內含百度+網易+阿里面試真題)iOS面試程式設計師BAT阿里
- 好程式設計師Python培訓分享Python程式設計師面試技巧程式設計師Python面試
- 程式設計師50+Java面試題程式設計師Java面試題
- 智力題(程式設計師面試經典)程式設計師面試
- Java程式設計師面試題及解答Java程式設計師面試題
- 好程式設計師Python教程分享常見的Python面試題程式設計師Python面試題
- 好程式設計師Python教程分享Python常見面試問題程式設計師Python面試
- 好程式設計師web前端教程分享Jquery常見面試題程式設計師Web前端jQuery面試題
- 好程式設計師Java教程分享JavaScript常見面試題五程式設計師JavaScript面試題
- 好程式設計師Java教程分享JavaScript常見面試題四程式設計師JavaScript面試題
- 好程式設計師Java教程分享JavaScript常見面試題三程式設計師JavaScript面試題
- 好程式設計師Java教程分享JavaScript常見面試題二程式設計師JavaScript面試題
- 好程式設計師web前端教程分享Vue.js面試題程式設計師Web前端Vue.js面試題
- 好程式設計師Web前端培訓分享jQuery面試題梳理程式設計師Web前端jQuery面試題
- 5年程式設計師面試,常見面試問題解析程式設計師面試
- 看BAT技術面試官如何挑選Java程式設計師BAT面試Java程式設計師
- 一些有趣的程式設計師智力面試題程式設計師面試題
- 好程式設計師Java教程分享Java面試妙招程式設計師Java面試
- 【200人面試經驗】,程式設計師面試,常見面試題解析程式設計師面試題