每一個程式設計師都擁有一座大廠夢,我也不例外,之前面試字節跳動,竟然被算法問倒了,很多算法都沒解出來,解出來的也還不是最優解,才2面就涼涼了。回去之後也潛心複習了,準備了二戰,如今終於進入了字節跳動,被錄用。
以下展示的字節面試題(含答案)、學習包、實戰文檔等,均可以分享給大家,需要的朋友,私信我【面試】即可哦!
01首站字節被掛對於這個獨角獸企業,LZ當時報了很大的期望,但是沒有確切的了解面試情況(對自己蜜汁自信),沒有了解到字節對算法這麼看重,稍稍懈怠了下,沒想到直接掛了,字節面試流程還是很快的,意識到不對的時候已經晚了……
之前的面試題都有做總結,具體內容整理成了文檔,本文是針對算法面試系列的,所以下面只展示了自己第一次面試字節時被血虐的算法題,其他專題內容(含答案)的文檔資料,私信我【面試】即可領取。
給定一個整型數組,查找三個元素相加等於0的所有三元組,要求去重
給定一個數組,調整該數組,使其滿足堆的性質(初始化建堆)
之字形列印二叉樹,使用輔助棧實現,實現完後問我:不使用輔助空間怎麼做。回答遞歸,並且遞歸時記錄當前層數
給定n個單詞,如果單詞組成一致但是元素順序不一致,該對單詞為同位詞,例如:abc,bca為同位詞.求所有同位詞的集合輸出
02二戰字節一面
1、問項目
2、任務系統怎麼保證任務完成後發獎一定成功
3、zset 延時隊列怎麼實現的
4、redis 數據結構有哪些?分別怎麼實現的?
5、redis 的持久化
6、mysql 的索引
7、一個無序數組找其子序列構成的和最大,要求子序列中的元素在原數組中兩兩都不相鄰
二面
1、Redis 的 ZSET 怎麼實現的?儘量介紹的全一點,跳躍表加哈希表以及壓縮鍊表
2、Redis 的 ZSET 做排行榜時,如果要實現分數相同時按時間順序排序怎麼實現?說了一個將 score 拆成高 32 位和低 32 位,高 32 位存分數,低 32 位存時間的方法。問還有沒有其他方法;
3、MySQL 事務的四個隔離級別?先說了四個級別的區別,然後說了每個級別可能產生的問題
4、binlog 日誌和 redolog 日誌清楚嗎?說了兩個日誌的作用以及兩階段提交
5、C++ 的動態多態怎麼實現的?
6、C++ 的構造函數可以是虛函數嗎?
7、缺失的第一個正數(leetcode第41題)
8、linux 系統裡,一個被打開的文件可以被另一個進程刪除嗎?
9、一個 10M 大小的 buffer 裡存滿了數據,現在要把這個 buffer 裡的數據儘量發出去,可以允許部分丟包,問是用TCP好還是UDP好?為什麼?
10、一個完整的 HTTP 請求會涉及到哪些協議?
三面
1、問項目
2、redis 的 ZSET 是怎麼實現的?
3、讓你設計一個限流的系統怎麼做?
4、讓你設計一個延時任務系統怎麼做?說了兩個方案,一個是使用 redis 的ZSET 來實現,考慮分片來抗高並發,使用 redis 的持久化來實現落地,使用 redis 的哨兵實現故障轉移。一個是使用時間輪的方法。
5、現有一個隨機數生成器可以生成0到4的數,現在要讓你用這個隨機數生成器生成0到6的隨機數,要保證生成的數概率均勻。
6、有 N 枚棋子,每個人一次可以拿1到 M 個,誰拿完後棋子的數量為0誰就獲勝。現在有1000顆棋子,每次最多拿8個,A 先拿,那麼 A 有必勝的拿法嗎?第一個人拿完後剩餘棋子的數量是8的倍數就必勝,否則就必輸。
7、給出一棵二叉樹的根節點,現在有這個二叉樹的部分節點,要求這些節點最近的公共祖先。
四面(HR)
到這一步就是正常走流程了,就不敘述了……
字節算法面試題
03 二戰前,我是如何複習的?LZ其他技術掌握的還算牢靠,主要是算法方面有些欠缺,複習時主攻的算法
左程雲左神《程式設計師代碼面試指南》
本書選取將近200道真實出現過的經典代碼面試題,幫助廣大程式設計師的面試準備做到萬無一一失。「刷」完本書後,你就是「題王」!
本書採用題目+解答的方式組織內容,並把面試題類型相近或者解法相近的題目儘量放在一起,讀者在學習本書時很容易看出面試題解法之間的聯繫,使知識的學習避免碎片化。書中將所有的面試題從難到易依次分為「將、校、尉、士」四個檔次,方便讀者有針對性地選擇「刷」題。本書所收錄的所有面試題都給出了最優解講解和代碼實現,並且提供了一些普通解法和最優解法的運行時間對比,讓讀者真切地感受到最優解的魅力!
左程雲左神算法視頻
某大神整理的算法筆記
這份筆記內容都是純手打的,排序算法/數據結構的代碼可能不是最優解,代碼的實現都是以比較容易理解的方式去寫的。幾乎每句代碼都有對應的注釋,應該是能看懂的。
某大神的專業刷題筆記
動態規劃專題
LeetCode:695. 島嶼的最大面積
LeetCode:474. 一和零
LeetCode:1314. 矩陣區域和
LeetCode:714. 買賣股票的最佳時機含手續費
由於篇幅限制,很多內容都只展示了目錄和截圖,這些都整理在文檔裡,需要這些文檔資料的,均可以分享給大家,希望所有的程式設計師都能夠學習起來,努力實現我們的大廠夢!
作者:該用戶已禿頭
連結:https://www.jianshu.com/p/4f4edd4e6a86
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。