ACM金牌選手,後任職Facebook進階架構師,拿過國内幾乎一二線網際網路公司的offer,以及10+北美國内頂尖IT公司offer,面試超過200人。
從當年的準備面試到後來的面試别人,一個最大的感觸就是“面試最難二叉樹”的年代已經過去了。
最主要是因為很多公司面臨業務和技術的發展,必須在前來面試的上千候選人中挑選出比對的人。面試的題目不是為了考察你會不會什麼,而是為了考察你有沒有解決問題的能力。
根據我以往的經驗來看,每個公司都會根據自己的業務需求建立一個專屬的面試題庫。我也爆肝各大面經和企業的面試題庫,為同學整理出了國内各大廠對算法知識點的不同考察頻率,以及不同公司的面試中的高頻題。
本文中的所有題目以及題解均上傳在 Github 的倉庫中啦,并且附上了我整理的一份“高濃度精華”算法模闆,遇到不會的題目直接套用模闆基本就可以解決, 戳我直達Github !
拿下offer并不是比你懂得多,而是在刷題的過程中學會了解決問題的辦法。想要快速培養自己這方面的能力,針對性地刷題是見效最快的,也是必須要做的。
國内大廠

1. 阿裡巴巴
① 考察知識點
重點考察動态規劃、其次是字元串處理、二分法、數組和分治法。注重在問題回答的擴充程度,以及實踐經驗。當然,對自己做過的項目一定要深入,包括使用使用到的技術原理、為什麼要使用這些技術。
② 必刷題目
312.牛牌 876.連接配接字元串 877.同和分割數組 1089.有效的括号字元串 1358.路徑和 1168.數組評分 183.木材加工 437.書籍影印 1219.地圖跳躍 194.尋找單詞 1817.分享巧克力位元組跳動
位元組跳動考察的知識點并不會很多,就四個知識點:字元串、map、rand、perfix sum。但是會深挖一個知識點,難度比較大。
在做題目的時候注重候選人的四個能力:算法能力、重原理(基礎)、實踐能力、未來的潛力。
244.删除字元 305.矩陣中的最長遞增路徑 332.恢複數組 964.食物集合 1314.組合新數字 120.單詞接龍 415.有效回文串 2.尾部的零 116.跳躍遊戲 109.數字三角形騰訊
算法題分布主要在動态規劃、數學以及貪心。騰訊的算法面試不會有很多花樣,都比較正常,是以隻要踏踏實實刷題把算法的原理以及應用場景掌握就行了。
在面試中的加分項是你的項目以及比賽經曆,面試官會根據項目中的方法以及項目優化這些方面進行拓展提問。
267.最短休息日 282.解壓字元串 339.中位數 1180.移除箱子 871.最小分解 344.歌曲時間 920.會議室 602.俄羅斯套娃信封 304.最大乘積 187.加油站 45.最大子數組差美團
動态規劃,雙指針,單調棧,棧,模拟法,在面試前最好去弄懂如何處理高并發這類事情,以及資料庫的分庫分表,底層實作,索引優化。
273.考試政策 382.字元串劃分 346.區間極值異或 1141.月份天數 1145.關聯查詢 1905.字元删除刷題的數量不是做題的最終目的,最重要的是從刷題中學會解決問題的方式,希望大家在自己的總結中不斷提升自己的算法能力,最終能拿到心儀的offer!