最全BAT算法面試100題:阿里、百度、騰訊、京東、美團、今日頭條
第一:複雜度估算和排序算法(上)
1) 時間複雜度和空間複雜度linux
2)認識對數器面試
3)冒泡排序算法
4)選擇排序數組
5)插入排序數據結構
6)如何分析遞歸過程的時間複雜度分佈式
7)歸併排序函數
8)小和問題微服務
第二:複雜度估算和排序算法(下)
1)荷蘭國旗問題源碼分析
2)隨機快速排序性能
3)堆結構與堆排序
4)認識排序算法的穩定性
5)認識比較器
6)桶排序
7)計數排序
8)基數排序
9)數組排序後的最大差值問題
10)排序算法在工程中的應用
第三:章棧、隊列、鏈表、數組和矩陣結構
1)棧結構
2)隊列結構
3)鏈表結構
4)數組結構
5)矩陣結構
6)二分搜索的擴展
第四:二叉樹結構
1)二叉樹結構
2)二叉樹的遞歸與非遞歸遍歷
3)打印二叉樹
4)判斷搜索二叉樹
5)判斷徹底二叉樹
6)判斷平衡二叉樹
7)摺紙問題
8)二叉樹節點的前驅節點與後繼節點
9)二叉樹的序列化和反序列化
第五:和哈希函數有關的三個結構與並查集
1)哈希函數與哈希表
2)布隆過濾器詳解
3)一致性哈希結構
4)並查集結構與應用(島問題)
第六:章圖算法
1)圖結構的表示方法
2)圖的深度優先遍歷與寬度優先遍歷
3)拓撲排序問題
4)最小生成樹問題
5)單源最短路徑問題
第七:前綴樹、堆結構和貪心算法
1)前綴樹
2)堆結構的擴展與應用
3)介紹貪心算法及其相關題目
4)在面試中如何快速的嘗試出貪心策略
第八:暴力遞歸到動態規劃
1)遞歸
2)動態規劃
3)如何把暴力遞歸套路的變成動態規劃
算法高級:
第一:KMP算法和Manacher算法
1)KMP算法及其擴展面試題目
2)Manacher算法及其擴展面試題目
第二:窗口內最大值的更新結構和單調棧結構
1)窗口內最大值的更新結構
2)單調棧結構
第三:Morris遍歷和sortedMap
1)二叉樹的Morris遍歷
2)跳錶結構
3)AVL樹和紅黑樹結構
【今日頭條、拼多多題目】
分類算法的理解
聚類算法的理解
- 均值聚類,可選的參數,若是肯定聚類個數
- 聚類和分類的異同,舉例說明
特徵選擇算法的理解
集成提高的理解
【面試題目】
- 二叉樹前序遞歸遍歷算法(手寫代碼)
- 二叉樹的前中後遍歷
- 二叉樹的文件存儲,也就是序列化。
- 二叉樹遍歷,描述下層序遍歷。
- 二維數組,每行遞增,每列遞增,任意交換其中的兩數,發現並恢復。
- 二維數組,每行遞增,每列遞增,實現查找。
- 二維數組,每行遞增,每列遞增,求第k大的數。
- 什麼樣的數據結構能夠知足屢次插入刪除,取最小數,給出時間複雜度。
- 介紹二叉樹前序遍歷非遞歸遍歷算法(手寫代碼)
- 介紹大頂堆和小頂堆
- 從一組數中找出和爲sum的三個數(leetcode)
- 冒泡排序(手寫代碼)
- 寫 find 函數,在目標串中匹配模式串(要考慮中文字符的狀況)
- 寫一個二叉樹的非遞歸的後續遍歷
- 寫一個簡單的正則匹配表達式(將文本中的123.4匹配出來)
- 寫個動態規劃,最長公共子序列
- 判斷一個字符串是否爲另一個字符串旋轉以後的字符串
- 前k大的數
- 單鏈表的翻轉
- 去掉連續的重複數字,輸出新數組,例如:1,2,2,2,1,3,5——> 3,5。
- 去除字符串S1中的字符使得最終的字符串S2不包含’ab’和’c’。(Code)
- 合法括號匹配
- 在一個字符串中,找出最長的無重複字符的字串
- 在二叉樹結點結構中加一個指針域,使其指向層次遍歷的下一個結點,特別地,每一層的最後一個結點爲空。(Code)
- 堆排序(手寫代碼)
- 堆是怎麼調整的。
- 複雜鏈表的複製
大數據題目
- 100億數字,怎麼統計前100大的?
- 10億個url,每一個url大小小於56B,要求去重,內存4G。
- 1KW句子算類似度(仍是那套分塊+hash/建索引,可是由於本人不是作這個的,文本處理根本說一片空白,因此就不誤導你們了),以後就是一直圍繞大數據的題目不斷深化。
- Q1:給定一個1T的單詞文件,文件中每一行爲一個單詞,單詞無序且有重複,當前有5臺計算機。請問如何統計詞頻?
- Q2:每臺計算機須要計算200G左右的文件,內存沒法存放200G內容,那麼如何統計這些文件的詞頻?
- Q3:如何將1T的文件均勻地分配給5臺機器,且每臺機器統計完詞頻生成的文件只須要拼接起來便可(即每臺機器統計的單詞不出如今其餘機器中)
- 一個大文件A和一個小文件B,裏面存的是單詞,要求出在文件B中但不在文件A中的單詞。而後大文件A是沒法直接存到內存中的。
- 一道題目是若是有一我的註冊一個qq,如何保證這個qq號碼和以前已存在的qq號碼不重複呢?
- 扔硬幣,連續出現兩次正面即結束,問扔的次數指望
- 有100W個集合,每一個集合中的word是同義詞,同義詞具備傳遞性, 好比集合1中有word a, 集合2中也有word a, 則集合1,2中全部詞都是同義詞,對這100W個集合進行歸併,同義詞都在一個集合當中。
- 有幾個 G 的文本,每行記錄了訪問 ip 的 log ,如何快速統計 ip 出現次數最高的 10 個 ip,若是隻用 linux 指令又該怎麼解決;
- 海量數據的topk問題。
- 若是想學習Java工程化、高性能及分佈式、深刻淺出。微服務、Spring,MyBatis,Netty源碼分析的朋友能夠加個人Java高級交流:787707172,羣裏有阿里大牛直播講解技術,以及Java大型互聯網技術的視頻免費分享給你們。
歡迎關注本站公眾號,獲取更多信息