2020年演算法真的很重要,位元組3+1面成功拿到offer後的感悟
背景
武大計科本科應屆生,面試前看過馬老師的公開課,瞭解到演算法的重要性,利用這微薄的時間看完了左神的演算法書《程式設計師程式碼面試指南 IT名企演算法與資料結構題目最優解 》順帶著看了左神很多演算法影片,每天LeetCode題也是必刷三道以上。
皇天不負有心人,在馬老師指導下修改的簡歷成功拿到位元組跳動的面試邀請
位元組3+1面
一面(7.19)
TCP三握四揮,closewait,timewait
TCP擁塞控制
程序間通訊
訊息隊列了解嗎
訊息佇列怎樣解決訊息的重複消費和漏消費
瞭解logistic regression嗎
瞭解fm演算法嗎
用過哪些socket的封裝
大量url找出頻率最高的
演算法:手寫快排、二叉樹最長路徑
二面(7.19)
給一個sql,判斷資料庫索引是否生效,為什麼
聯合索引怎麼存的
專案裡出現過oom嗎,怎麼排查
redis持久化策略
Hadoop系列的技術有過了解嗎
演算法:兩個有序陣列找第k個,要求O(logk)時間複雜度
三面(7.23)
專案裡用過多執行緒相關嗎
執行緒幾種實現方式
callable和runnable有什麼本質區別
記憶體分頁分段
LRU LFU怎麼實現
hashmap資料結構和擴容
concurrenthashmap加鎖和擴容機制
synchronized原理
synchronized和lock
countdownlatch怎麼實現的
aqs原理
介紹一下java的gc
redis跳錶,為什麼不用樹
設計一個數據結構實現雙端佇列,支援兩端插入刪除和根據index查詢,所有操作O(1)時間複雜度
演算法:給定一個非空字串 s 和一個包含非空單詞列表的字典 wordDict,判定 s 是否可以被空格拆分為一個或多個在字典中出現的單詞。
四面(8.3)
聊人生,談理想……
總結
位元組的演算法題問的是真的多,雖然看完左神的演算法後感覺這些題並不是很難,建議想進位元組的朋友多看看左神的演算法書,寫的非常棒!
《程式設計師程式碼面試指南 IT名企演算法與資料結構題目最優解》
目錄(演算法有分 將、校、尉、士四個等級來表示難易程度)
第1章棧和佇列
設計一個有getMin功能的棧(士★)
由兩個棧組成的佇列(尉★★)
如何僅用遞迴函式和棧操作逆序一個棧(尉★★)
貓狗佇列(士★)
用一個棧實現另一個棧的排序(士★)
用棧來求解漢諾塔問題(校★★★)
生成視窗最大值陣列(尉★★)
構造陣列的MaxTree (校★★★)
求最大子矩陣的大小(校★★★)
最大值減去最小值小於或等於num的子陣列數量(校★★★)
感興趣的朋友可以幫忙轉發文章後,關注私信回覆【學習】來免費領取
第1章棧和佇列
設計一個有getMin功能的棧(士★)
面試位元組前看過的文件、影片、面試資料
書籍文件(左神演算法書、NIO、Redis、MySQL等)
面試資料(面經、大廠面試題整理)
影片(左神演算法影片、馬士兵多執行緒、JVM)
這些資料對我的幫助很大,也一同分享給大家,需要的朋友關注我,私信回覆【學習】即可免費領取!
最後
不要再背面試題了,面試官不會按照你背的面試題來面試的。只有掌握了這些知識才能自如的應對面試官!就像做數學題一樣,靠背是行不通的,你得會才行
面試造火箭,工作擰螺絲,希望能幫到你
多多轉發,讓更多人受益!!