大廠面試Android崗,到底要刷多少道算法題纔算穩?

寫在前面的話

國外人才的篩選標準有很多值得借鑑的地方,這些年來,國內互聯網面試的流程逐漸在向國外靠攏,像字節跳動、BAT 等大廠,手撕算法題 已經成爲了必選動作。

考算法也是公司面試篩選人的低成本辦法,如果你寫出了算法並且通過了,要麼你聰明要麼你勤奮(刷題了)。

不管你是學什麼語言:C、C++、python、Java、GO,算法這一關你必須得過。而且算法也算是一道工資水平的分水嶺,在和HR談薪的時候是佔有一定的地位的。

那麼,Android的大廠面試到底要刷多少道算法題纔算穩呢?

算法的地位

大廠考算法一般會分兩步,第一步:讓你直接說思路;第二步:讓你實操寫代碼。

通過這兩步,就可以看出你的編程內功是否深厚,除此之外還能多維度考察你的其他能力,比如:邏輯思維清晰與否、debug 能力如何、編碼習慣怎樣、是否能寫出可維護的代碼等等......所以,近幾年國內互聯網大廠面試中,算法的比重也越來越高,算法不紮實,筆試可能就直接被刷了。

既然已經瞭解了重要性,那就開始努力吧。

下面是大廠面試的常考算法題點

一般來說,數據結構和算法會連在一起考,這裏,我把面試核心知識點列了出來,大家可以參考學習,逐個擊破。

  • 棧與隊列:先進先出、後進先出
  • 線性鏈表
  • 查找:順序查找、二分查找
  • 排序:交換類、插入類、選擇類
  • 樹、二叉樹、圖:深度優先(DFS)、廣度優先(BFS)
  • 遞歸
  • 分治
  • 滑窗
  • 三大牛逼算法:回溯、貪心、動態規劃(DP)

算法到底該怎麼學?

最好或者最笨的方法就是刷題,強烈推薦力扣:https://leetcode-cn.com
建議刷300題以上,要覆蓋簡單、中等、困難的題目。面試前要訓練手感,不要生疏了,可以選保持每日或幾日一題。

在刷題之前建議看一下這些書(對刷題的理解會有很大的幫助):

《漫畫算法-小灰的算法之旅》

如果你之前沒有任何算法基礎,這邊書很適合你,可以補充數據結構和算法的基礎知識,像什麼是時間複雜度空間複雜度、查找、排序等。
如果你有了一定基礎了,建議你直接跳到最後面的算法實戰部分。

《劍指 offer》

非常經典的一本書,學算法的人必刷。但是要注意了,這邊書裏面的題目是用 C++寫的,如果你是 Java 開發人員可能會有點影響。但是要記住學習算法最關鍵的還是解題思路和方法,用什麼語言實現是其次的,如果你時間比較多我是建議你用 Java 語言再實現一遍。

《labuladong的算法小抄》

非常推薦!這是一本很新的書,寫書前作者在 Github 開源了一個項目,主要講解 LeetCode 解題套路,Start 總數排名前40。在書的開頭講解了學習算法的基本思維和套路,建議看這邊書的同時再配合 leetcode刷題,療效非常棒!

《算法導論》

要是不推薦這本書是不是顯得我有點 low 了,這是一本科班出身的同學必看必學的經典大部頭。國外大佬寫的,國內翻譯的經典之作,雖然是經典但是不建議剛入門算法的同學看,因爲看了這本書你可能要放棄算法了,比較難看懂。建議有了一定基礎再入手這邊書。

如果你覺得看書比較枯燥,可以推薦你看一些極客時間的專欄,不過是收費,但是質量非常高。

《數據結構與算法之美》

這個專欄是文字+語音,作者是王爭,前 Google 工程師。他採用最適合工程師的學習方式,不拘泥於某一特定編程語言,從實際開發場景出發,由淺入深教你學習數據結構與算法的方法,幫你搞懂基本概念和核心理論,深入理解算法精髓,幫你提升使用數據結構和算法思維解決問題的能力。

《算法面試通關40講》

這個專欄是視頻,作者是覃超,前Facebook工程師。作者會用白板帶你一步一步解題,層層深入一環扣一環,每一題還會用多種解題方法。我基本看完了,收穫頗多。

leetcode、書和極客專欄可以並行,學練結合,不要光看不練哦。

複習建議

(1)合理安排複習時間

準備來年春招的話,時間上不用太緊張,也不用廢寢忘食,只要好好做足準備,就可以坦然應對面試了。

複習週期個人建議是三個月,不宜太久,每天四五個小時(以上)就可以了(高效率專注的學習),久了就容易懈怠或者閉門造車,兩個多月的時候最好出去開始試水,檢驗一下自己的學習效果。

複習計劃的制定和進度的把控也很重要,可以參考別人的學習計劃去學習,再根據自己的實際情況去做適當的調整。

(2)複習內容建議:

建議以基礎知識爲主,尤其是準備校招的同學,在這個階段,用人單位會更加註重這一點。

(這個模塊要說完內容比較多,已經整理成立一份比較系統的資料,後文會展開詳細的解說,需要完整複習資料的朋友直接點擊文中的藍色字體領取)

(3)複習參考書目:

  • 《第一行代碼》
  • 《Android開發藝術探索》
  • 《Android高級進階》
  • 《劍指offer》
  • 《程序員面試金典》
  • 《程序員代碼面試指南 IT名企算法與數據結構題目最優解》
  • 《編程之美——微軟技術面試心得》
  • ……

這些經典的書都可以看看。(書有些多,可以點擊文中的藍色字體,獲取完整書單

(4)其他部分:

除了刷題和看書,系統的複習一下基礎知識,還有就是覆盤下自己的項目經歷,把亮點都發掘出來。在多如牛毛的簡歷中,一份簡歷能不能給面試官留下深刻的印象就看你的簡歷有沒有亮點,這些亮點是可以從你的項目中看出來的。

項目相關準備可以參考一下這篇文章:項目經驗不會說?字節跳動小姐姐手把手教你"套路"面試官!

附錄

面試的話,肯定不是隻有算法題,最近我刷遍了力扣和牛客的面試題,又問了很多最近參加大廠面試的羣友,然後給大家整理了一份《2021年Android大廠面試攻略大全》,歡迎大家前來領取,相信這份資料對大家的面試肯定是有幫助的。

下面是從牛客等網站上面收集整理出來的阿里等大廠Android崗常考常問的面試題,希望對正在準備面試的朋友有幫助。

算法根基不太穩的同學,想要進軍大廠的,不來加入我們快樂白嫖嗎?

完整版我和其他的Android學習資料一起放在了我的電腦,需要的可以通過戳這裏的藍色字體找我免費領取

最後在這裏,希望大家可以好好利用上面準備,在接下來的面試中大展拳腳,一舉拿下心儀的offer。

需要的可以通過戳這裏的藍色字體找我免費領取。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章