写点什么

金九银十:搞定这两个 GitHub 标星 50K 开源项目,拿个 30k 轻松吧?

用户头像
云流
关注
发布于: 2020 年 09 月 10 日

又到了金九银十的招聘黄金季了,显然今年行情不怎么样,僧多粥少,而且招聘门槛也是越来越高,面试深度也越来越偏底层。动辄就是几道 mid、hard 级别的算法题,做出来了说你 Leetcode 没少刷,没做出来就说你不行。


就像我之前面试的时候,问我的我都答上来了,面试官给我来一句:“没少刷题吧?”


很无奈。。。面试不应该刷题么?


你问的都是八股文,难道我还不能刷八股文?


但这并不是一件坏事,为了那份拧螺丝的活,咱们还是好好学习怎么造航母吧。 我在今年金三银四的时候也推荐给大家两个项目,一个是 LeetCodeAnimation,很有意思的一个项目,下面我还会提到,另外一个就是干货满满的 advanced-java 项目了。


本期继续给大家推荐两个 github 高星项目


  1.  LeetcodeTop—star:2.9k:字节、阿里巴巴、百度、猿辅导、快手等一线互联网大厂面试 leetcode 真题

  2.  advanced-java——star:47k:互联网 Java 工程师进阶知识完全扫盲,涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识。


我之前推荐的 LeetCodeAnimation 项目,推荐的时候还是 48.1k,现在已经 58.8k 了,新增了不少 Leetcode 题目的动画演示,并且还在持续维护。 示例图:leetcode 第 20 题——有效的括号



leetcode 第 20 题——有效的括号


大学的时候,我们进实验室搞 ACM,也是刷题,一开始刷杭电的题,刷 100 多道以后觉得自己有所提升了,就开始刷清华的题,然后参加校内赛,然后再去参加省赛。


我一直认为大家有空应该多刷刷 Leetcode 的,虽然大家平时都说业务开发就是 CRUD,但是你去观察,那些优秀的程序员或多或少的都在刷题。刷多了,你的逻辑思维会更加缜密,思考问题也更加全面,最终体现的就是你的代码质量会极大的提升,bug 也就自然少了,我觉得这才是刷题的最大好处。


下面我们就来具体看看本期推荐的两个项目。【项目地址文末有获取途径】


1、LeetcodeTop




汇总了阿里巴巴、百度、字节跳动、快手、猿辅导等一线互联网大厂技术岗面试过程中遇到的 Leetcode 题目,涵盖:后端、算法、客户端、前端、测试、数据开发等多岗位:



我们看看猿辅导 8 月 1 日至 8 月 31 日的后端面试都有哪些 leetcode 原题:



高频词汇:数组、二叉树、链表,面试必知必会的数据结构,开始刷题之前,一定要先学习这些数据结构哦~。


大家在刷这些题的时候,如果没有好的思路也可以先去文中推荐的 LeetCodeAnimation 项目里找到相关的动画演示,然后根据思路再实现自己的代码,一定要自己亲自 code,看懂到自己能说出来再到能写出来之间有很大的差距,一定要实操。


比如第 94 题:二叉树的中序遍历,题目难度为 Medium,目前通过率为 35.8% 。 输入: [1,null,2,3]   1    \     2    /   3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 是不是有种题都读不懂的感觉? 什么是二叉树的中序遍历?什么是递归?什么是迭代? 那就先看看动画演示:



94 题:二叉树的中序遍历


项目推荐:如果大家想在金九银十出去看看,那么现在就可以突击 leetcode 刷题了,但是总不能一题一题的刷,根据这份 leetcodeTop 来刷,至少他的命中率会很高,非常适合临时抱佛脚。


2、advance-java



项目主页:在文末有获取的途径


这个开源项目是多篇优质文章的汇总,我已经忍不住推荐第二次了,不仅仅面试时候突击各个方面的知识点,平时也值得大家持续学习,细细推敲。


第一部分推荐大家刷题,是因为面试时候真的就给你来两道 Medium 难度甚至 Hard 难度的题目,做不出来没办法进行下一步。大厂都认为这些是基础,你应该会,如果不会,大概率他不关心你的项目,除非你的项目非常有亮点。


如果我们能通过算法题考核,接下来就开始深入拆解你所做过的项目了:


1、你做过的项目最大的量级是多大?有没有遇到过什么困难?


2、分布式事务如何处理?如何保证最终一致性?这个过程中的每个节点出现问题了怎么办?


3、你用过哪些 MQ?都有什么区别?


4、分布式锁实现的方式有几种?锁到期了业务还没处理完怎么办?


5、甚至现场来一个比较难的场景,看你设计的思路和思考问题的逻辑是否连续且缜密。


那这个时候,你不仅仅需要对你曾经做过的项目有所总结、沉淀,并且你需要充分的理论知识、方法论来支撑你这个项目为什么这么设计。


如何让方法论能够实际落地到你的业务项目中去,比如为了保证数据的最终一致性,我们项目中如何如何做的,我们用到的是一个二阶段提交的思想,另外我们的业务场景满足 CAP 中的 CP,等等。


面试就是要吹牛,吹牛前一定要打好草稿。


高并发架构



这年头,是个技术岗就要求有高并发经验,问题是哪来那么多的高并发项目呢?我一直有这个疑问。


缓存



其实说高并发,大多数公司其实就是靠 redis 来顶流量的,没有什么业务是不能水平扩展的,十台机器不够就二十台,二十台不够就一百台。


数据库



丁奇的 MySQL 实战 45 讲不错,推荐大家阅读。


分布式系统



如果花时间把上面这些东西都系统的学习一下,月薪 30K 轻松吧


两个开源项目:


1.LeetcodeTop—star:2.9k:字节、阿里巴巴、百度、猿辅导、快手等一线互联网大厂面试 leetcode 真题; 

2.advanced-java——star:47k:互联网 Java 工程师进阶知识完全扫盲,涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识。


为了更好地提升大家的学习效率,以上这两个开源项目地址见下图获取



用户头像

云流

关注

还未添加个人签名 2020.09.02 加入

还未添加个人简介

评论

发布
暂无评论
金九银十:搞定这两个GitHub标星50K开源项目,拿个30k轻松吧?