点击“开发者技术前线”,选择“星标????”
在看|星标|留言, 真爱
今天,你刷LeetCode了吗?
最近,GitHub上这样一套LeetCode笔记火了。
一位Java研发工程师分享了一个名为「LeetCode题目分类与面试问题整理」,一时间获得1300星。
这篇笔记的作者叫袁广鑫,毕业于黑龙江大学,面试三十多家互联网公司亲历整理,曾拿到字节、腾讯、滴滴offer,目前在快手担任Java工程师。
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
英文原版、中文版及PDF以为大家整理好 !
如何获取?
1. 识别并关加我好友「下面的二维码」;2. 加我微信备注来意:「刷题无压力」坐等资料。
????长按上方二维码 2 秒 回复「刷题无压力」即可获取资料另外,如果你也有刷题、面试大厂的经历和经验,欢迎跟我们分享哦!
好了,以上就是分享的题目分类和面试问题指南,希望能够对你有所帮助。
更多前线推出学习交流群,加群一定要备注:
研究/工作方向+地点+学校/公司+昵称(如Java+上海+上交+可可)
根据格式备注,可更快被通过且邀请进群,领取一份专属学习礼包
历史推荐
为什么建议大家使用 Linux 开发?
刷题一个半月,一口气拿下腾讯、华为、Oppo 、微软7个大厂offer,字节跳动薪资涨幅60%!
为什么有些大公司技术弱爆了?
Java 14 新增 5 项新特性, 我还在用Java 8
好文点个在看吧!