拿到腾讯字节快手offer后,他的LeetCode刷题经验GitHub获1300星

新闻 前端
最近,GitHub上这样一套LeetCode笔记火了。一位Java研发工程师分享了一个名为「LeetCode题目分类与面试问题整理」,一时间获得1300星。

 

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

今天,你刷LeetCode了吗?

最近,GitHub上这样一套LeetCode笔记火了。

一位Java研发工程师分享了一个名为「LeetCode题目分类与面试问题整理」,一时间获得1300星。

拿到腾讯字节快手offer后,他的LeetCode刷题经验GitHub获1300星

这篇笔记的作者叫袁广鑫,面试三十多家互联网公司亲历整理,曾拿到字节、腾讯、滴滴offer,目前在快手担任Java工程师。

拿到腾讯字节快手offer后,他的LeetCode刷题经验GitHub获1300星

LeetCode有哪些题目是由作者钦点,是最最常考的题目呢?

又有哪些面试问题,是大厂必问?

整理三个月,现在还不时更新的「LeetCode笔记和大厂面试问题整理」,可以说是很全的指南了,赶紧来一睹为快~

LeetCode哪些题目最常考?

首先,作者按照自己的刷题经验,将题目分成了18个类别,每个类别都有一些高频题

有Hash相关、二叉搜索树相关,动态规划、堆相关……

拿到腾讯字节快手offer后,他的LeetCode刷题经验GitHub获1300星

作者在接受量子位采访时表示,其中链表操作、数组操作、栈相关、递归、动态规划、树的遍历、这些题目最最常考了。

那就以其中最最常考题目之一——链表操作为例。

拿到腾讯字节快手offer后,他的LeetCode刷题经验GitHub获1300星

这一分类下面包括,复制带随机指针的链表、删除链表的倒数第N个节点、反转链表、k个一组翻转链表、两数相加、旋转链表。

以「两数相加」为例。

拿到腾讯字节快手offer后,他的LeetCode刷题经验GitHub获1300星

「Solution」部分便是关于这道题目的解答。

  1. package 链表操作.q2_两数相加; 
  2.  
  3. /** 
  4.  * 两次遍历 
  5.  * 第一次遍历:两个链表对应每个节点分别取和,若含有空节点则空节点取0,产生一个新链表。 
  6.  * 第二次遍历:对取完和的新链表遍历,判断当前的val是否大于等于10,大于或等于则其自身-10其next加1,若next为空则新建0节点。 
  7.  */ 
  8. public class Solution { 
  9.     public ListNode addTwoNumbers(ListNode l1, ListNode l2) { 
  10.         ListNode rs = new ListNode(l1.val + l2.val); 
  11.  
  12.         l1 = l1.next; 
  13.         l2 = l2.next; 
  14.         ListNode temp = rs; 
  15.         while (l1 != null || l2 != null) { 
  16.             int a = 0
  17.             int b = 0
  18.             if (l1 != null) { 
  19.                 a = l1.val; 
  20.             } 
  21.             if (l2 != null) { 
  22.                 b = l2.val; 
  23.             } 
  24.  
  25.             int t = a + b; 
  26.             temp.next = new ListNode(t); 
  27.             temp = temp.next; 
  28.             if (l1 != null) { 
  29.                 l1 = l1.next; 
  30.             } 
  31.             if (l2 != null) { 
  32.                 l2 = l2.next; 
  33.             } 
  34.         } 
  35.  
  36.         temp = rs; 
  37.         while (temp != null) { 
  38.             if (temp.val >= 10) { 
  39.                 temp.val = temp.val - 10
  40.                 if (temp.next == null) { 
  41.                     temp.next = new ListNode(0); 
  42.                 } 
  43.                 temp.next.val = temp.next.val + 1
  44.             } 
  45.             temp = temp.next; 
  46.         } 
  47.  
  48.         return rs; 
  49.     } 

三万字的面试问题整理

这篇「面试问题整理」共36000+字,包含十个部分,分别是Zookeeper、Redis、Mysql、JVM、Java基础、Spring、消息队列、Dubbo、操作系统、计算机网络、数据结构与算法。

拿到腾讯字节快手offer后,他的LeetCode刷题经验GitHub获1300星

在整理的最后,还有一些实际场景问题。

  • 高并发系统的设计与实现
  • 负载均衡算法
  • 常见的限流算法
  • 秒杀并发情况下库存为负数问题
拿到腾讯字节快手offer后,他的LeetCode刷题经验GitHub获1300星

对于这部分,作者非常有话语权,因为他在今年先后面试了近三十多家互联网公司,包括腾讯、字节跳动、滴滴、蚂蚁花呗、美团、亚马逊等大厂。

拿到腾讯字节快手offer后,他的LeetCode刷题经验GitHub获1300星

部分大厂面试记录

对此,作者表示:

基本上涵盖了这三十多家互联网公司的面试内容,所以这部分是非常有价值的。

此外,作者还透露,是从去年12月底开始刷LeetCode,两个月之后拿到了字节的offer,在字节工作了一段时间。

好了,以上就是分享的题目分类和面试问题指南,希望能够对你有所帮助。

另外,如果你也有刷题、面试大厂的经历和经验,欢迎跟我们分享哦!

GitHub网址:

https://github.com/yuanguangxin/LeetCode

 

责任编辑:张燕妮 来源: 量子位
相关推荐

2020-06-19 15:05:43

GitHub 开发面试

2020-06-29 11:05:26

GitHub代码开发者

2020-12-29 10:52:20

开源技术 软件

2022-08-08 09:29:19

AIDeepMind

2019-06-21 11:06:15

Python 开发编程语言

2015-07-20 17:04:03

offer腾讯面试面试总结

2017-10-26 21:47:02

科技

2017-04-24 14:56:41

腾讯云

2019-02-15 08:32:09

阿里腾讯offer

2020-05-26 10:39:20

GitHub编程开发者

2018-05-23 09:11:42

微信Android开发面试

2023-11-05 15:23:26

2017-09-11 18:37:00

2021-05-17 09:44:34

程序员技能开发者

2015-05-12 10:33:09

程序员代码

2014-04-23 10:49:48

Offer巨头Offer面试

2017-04-24 16:16:27

2019-07-19 08:49:43

Java后端Offer

2018-03-05 17:32:06

开发者编程面试
点赞
收藏

51CTO技术栈公众号