拿到腾讯字节快手offer后,他的LeetCode刷题经验在GitHub上收获1.3k星
楊凈發自凹非寺
量子位報道公眾號 QbitAI
今天,你刷 LeetCode 了嗎?
最近,GitHub 上這樣一套 LeetCode 筆記火了。
一位 Java 研發工程師分享了一個名為「LeetCode 題目分類與面試問題整理」,一時間獲得 1300 星。
這篇筆記的作者叫袁廣鑫,畢業于黑龍江大學,面試三十多家互聯網公司親歷整理,曾拿到字節、騰訊、滴滴 offer,目前在快手擔任 Java 工程師。
LeetCode 有哪些題目是由作者欽點,是最最常考的題目呢?
又有哪些面試問題,是大廠必問?
整理三個月,現在還不時更新的「LeetCode 筆記和大廠面試問題整理」,可以說是很全的指南了,趕緊來一睹為快~
LeetCode 哪些題目最常考?
首先,作者按照自己的刷題經驗,將題目分成了 18 個類別,每個類別都有一些高頻題。
有 Hash 相關、二叉搜索樹相關,動態規劃、堆相關……
作者在接受量子位采訪時表示,其中鏈表操作、數組操作、棧相關、遞歸、動態規劃、樹的遍歷、這些題目最最常考了。
那就以其中最最常考題目之一——鏈表操作為例。
這一分類下面包括,復制帶隨機指針的鏈表、刪除鏈表的倒數第N個節點、反轉鏈表、k個一組翻轉鏈表、兩數相加、旋轉鏈表。
以「兩數相加」為例。
「Solution」部分便是關于這道題目的解答。
package鏈表操作 .q2_兩數相加;
/**
*兩次遍歷
*第一次遍歷:兩個鏈表對應每個節點分別取和,若含有空節點則空節點取0,產生一個新鏈表。
*第二次遍歷:對取完和的新鏈表遍歷,判斷當前的 val 是否大于等于 10,大于或等于則其自身-10 其 next 加1,若 next 為空則新建 0 節點。
*/
public class Solution {
public ListNode addTwoNumbers (ListNode l1, ListNode l2) {
ListNode rs = new ListNode (l1.val + l2.val);
l1 = l1.next;
l2 = l2.next;
ListNode temp = rs;
while (l1 != null l2 != null) {
int a = 0;
int b = 0;
if (l1 != null) {
a = l1.val;
}
if (l2 != null) {
b = l2.val;
}
int t = a + b;
temp.next = new ListNode (t);
temp = temp.next;
if (l1 != null) {
l1 = l1.next;
}
if (l2 != null) {
l2 = l2.next;
}
}
temp = rs;
while (temp != null) {
if (temp.val >= 10) {
temp.val = temp.val - 10;
if (temp.next == null) {
temp.next = new ListNode (0);
}
temp.next.val = temp.next.val + 1;
}
temp = temp.next;
}
return rs;
}
}
三萬字的面試問題整理
這篇「面試問題整理」共 36000+ 字,包含十個部分,分別是 Zookeeper、Redis、Mysql、JVM、Java 基礎、Spring、消息隊列、Dubbo、操作系統、計算機網絡、數據結構與算法。
在整理的最后,還有一些實際場景問題。
-
高并發系統的設計與實現
-
負載均衡算法
-
常見的限流算法
-
秒殺并發情況下庫存為負數問題
對于這部分,作者非常有話語權,因為他在今年先后面試了近三十多家互聯網公司,包括騰訊、字節跳動、滴滴、螞蟻花唄、美團、亞馬遜等大廠。
△部分大廠面試記錄
對此,作者表示:
基本上涵蓋了這三十多家互聯網公司的面試內容,所以這部分是非常有價值的。
此外,作者還透露,是從去年 12 月底開始刷 LeetCode,兩個月之后拿到了字節的 offer,在字節工作了一段時間。
好了,以上就是分享的題目分類和面試問題指南,希望能夠對你有所幫助。
另外,如果你也有刷題、面試大廠的經歷和經驗,歡迎跟我們分享哦!
GitHub 網址:https://github.com/yuanguangxin/LeetCode
總結
以上是生活随笔為你收集整理的拿到腾讯字节快手offer后,他的LeetCode刷题经验在GitHub上收获1.3k星的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Model 3车顶漏水连修数次修不好 特
- 下一篇: qq个性签名情侣一对