拿到騰訊字節(jié)快手offer后,他的LeetCode刷題經(jīng)驗GitHub獲1300星
本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權轉載,轉載請聯(lián)系出處。
今天,你刷LeetCode了嗎?
最近,GitHub上這樣一套LeetCode筆記火了。
一位Java研發(fā)工程師分享了一個名為「LeetCode題目分類與面試問題整理」,一時間獲得1300星。

這篇筆記的作者叫袁廣鑫,面試三十多家互聯(lián)網(wǎng)公司親歷整理,曾拿到字節(jié)、騰訊、滴滴offer,目前在快手擔任Java工程師。

LeetCode有哪些題目是由作者欽點,是最最常考的題目呢?
又有哪些面試問題,是大廠必問?
整理三個月,現(xiàn)在還不時更新的「LeetCode筆記和大廠面試問題整理」,可以說是很全的指南了,趕緊來一睹為快~
LeetCode哪些題目最常考?
首先,作者按照自己的刷題經(jīng)驗,將題目分成了18個類別,每個類別都有一些高頻題。
有Hash相關、二叉搜索樹相關,動態(tài)規(guī)劃、堆相關……

作者在接受量子位采訪時表示,其中鏈表操作、數(shù)組操作、棧相關、遞歸、動態(tài)規(guī)劃、樹的遍歷、這些題目最最常考了。
那就以其中最最常考題目之一——鏈表操作為例。

這一分類下面包括,復制帶隨機指針的鏈表、刪除鏈表的倒數(shù)第N個節(jié)點、反轉鏈表、k個一組翻轉鏈表、兩數(shù)相加、旋轉鏈表。
以「兩數(shù)相加」為例。

「Solution」部分便是關于這道題目的解答。
- package 鏈表操作.q2_兩數(shù)相加;
- /**
- * 兩次遍歷
- * 第一次遍歷:兩個鏈表對應每個節(jié)點分別取和,若含有空節(jié)點則空節(jié)點取0,產生一個新鏈表。
- * 第二次遍歷:對取完和的新鏈表遍歷,判斷當前的val是否大于等于10,大于或等于則其自身-10其next加1,若next為空則新建0節(jié)點。
- */
- 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、操作系統(tǒng)、計算機網(wǎng)絡、數(shù)據(jù)結構與算法。

在整理的最后,還有一些實際場景問題。
- 高并發(fā)系統(tǒng)的設計與實現(xiàn)
- 負載均衡算法
- 常見的限流算法
- 秒殺并發(fā)情況下庫存為負數(shù)問題

對于這部分,作者非常有話語權,因為他在今年先后面試了近三十多家互聯(lián)網(wǎng)公司,包括騰訊、字節(jié)跳動、滴滴、螞蟻花唄、美團、亞馬遜等大廠。

△部分大廠面試記錄
對此,作者表示:
基本上涵蓋了這三十多家互聯(lián)網(wǎng)公司的面試內容,所以這部分是非常有價值的。
此外,作者還透露,是從去年12月底開始刷LeetCode,兩個月之后拿到了字節(jié)的offer,在字節(jié)工作了一段時間。
好了,以上就是分享的題目分類和面試問題指南,希望能夠對你有所幫助。
另外,如果你也有刷題、面試大廠的經(jīng)歷和經(jīng)驗,歡迎跟我們分享哦!
GitHub網(wǎng)址:
https://github.com/yuanguangxin/LeetCode