# 二本上岸大厂,我的秋招

大家好,我是小龙,很多新关注的粉丝还不知道曾经小龙也是从末流二本一路披荆斩棘杀出来的

今天想给大家带来的是我秋招上岸大厂的个人经验,希望能帮助到正在准备大厂面试的小伙伴们~

作为二本上岸大厂的后端应届生,深知没人带一路摸索的艰辛,想把自己的心路历程与经验心得收获分享给大家。

# 校招经历

本人是来自一个二本院校,也可以说是以前的三本院校的,直至大三实习 9月初,崭获vivo、腾讯、讯飞、网易、绿盟等offer,还有一些中厂到了终面拒啦;

想必大家和我起初的想法一致,认为进入一线互联网大厂BAT TMD 对于一个三无选手来说是几乎不可能的事(没比赛、没项目、没学历)。没错,刚进大学时的我从未敢奢望进入大厂,想的是毕业能找一个 1w 出头的工作就很优秀啦。

但是,随着眼界的开阔,知识面的增加,同时身边也有学历差进入一线大厂的案例,便心想:别人能进,为啥我不行。由于和那些 985 211名校相比,二本学院相比非常劣势,没有及时有效的消息,没有资源,直到大三上末我连什么是春招什么是秋招都不知道,也不了解大厂面试需要考算法,更不了解牛客,力扣等求职法宝。

虽然前面一直在学习,但是一直学的都是“拧螺丝”,后来发现大厂面试全是“造火箭”。我的秋招之路是从2021年2月开始,1月知道了有春招实习,进大厂要考算法,2 月开始看面经整理笔记复习刷题,3、4、5月陆续投简历找实习。

实习战况:

新华智云:一面挂(算法没写出来)

京东健康:四面挂(RPC不了解)

阿里供应链:一面挂(KPI)

阿里菜鸟:二面挂(不明白)

阿里蚂蚁金服:老KPI

京东集团:HR挂

腾讯二战:无OC挂

.........

现在想来,实习真的太菜,可能是太多顾虑,后来没办法,去实习僧投了一些中小厂,后来感谢海康威视给了我实习机会,让我有了一定实习经历,期间不断学习,反思实习的不足,查漏补缺,随后随着vivo提前批开启吹响了秋招的号角,由于之前实习先头的大厂,好多都没经验没准备就上,导致损失惨重。

之后秋招我改变策略,先投中小,陆陆续续投了绿盟,北森,讯飞等,然后由于前期的积累,这三个公司一路过关斩将,除了北森与面试官不和其他都拿到了offer,这下气焰高涨,伴随着不断面试,期间也夹杂面了百度,美团,奇安信,网易,米哈游等,除了百度三面挂与北森二面挂(面试不和),其他都过,不是拿了offer就是拒了面试。

然后就没投了,休息哈后续再投。大致我的秋招经历就是这样啦,也许会去美团,或者再看网易,也许后面再去冲击阿里,不过不想表达的是只要方法对,战略做好,二本也能进大厂,我身边也有许多转升本的朋友,几乎人均大厂(阿里sp、腾讯wxg、字节、百度等)。

当时没人给我指明路线,导致走了很多弯路,于是我想把我的心得与收获分享给大家,帮助大家直击大厂,咱非大厂不进好吧!

# 如何冲击大厂

干货满满,作为过路人,深知没人指明一路摸索的艰辛,想把自己的心路历程与经验心得收获分享给大家。

需要的知识点:算法+项目+计算机网络+OS+数据结构+设计模式+Java基础。

# 算法与数据结构

怎样做:算法与数据结构先学下理论概念,学完之后就刷题。

1、相关资料:

理论概念我当初学的是极客时间的《数据结构与算法之美》专栏,讲的很不错。(这一块看你自己,看书或者看视频都行)。

2、刷题顺序:

https://github.com/greyireland/algorithm-pattern

刷题网站:力扣(https://leetcode-cn.com/problem-list/2cktkvj/)、牛客【top200+剑指offer】

注:如果要面试某个大厂,就在这个链接下找对应的题目看看(https://codetop.cc/#/home)

# 计算机基础

计算机基础校招中只会问:操作系统、计算机网络、数据结构与算法(前面已经讲过了)

  1. 操作系统:王道考研
  2. 计算机网络:湖南科技大学
  3. 数据库:
  • 《MySQL 实战45讲》
  • 《Redis核心技术与实战》
  • 推荐学习极客时间一些课程很nice,若有需要也可后台联系我发你。

# 设计模式

http://c.biancheng.net/design_pattern/

# Java基础

这里以 Java 为例

JavaSE、Java 并发、JVM、SSM、SpringBoot。

相关书籍:《深入理解Java虚拟机》、《Java并发编程的艺术》、《Java核心技术》

# 项目

实习过的项目最好,没有就在GitHub上找个,然后看懂它,可以适当变幻场景+增删功能(换汤不换药)。

个人经验:目前商城秒杀烂大街存在,若实在没项目,推荐《牛客论坛项目》、《RPC项目》、《博客类项目》,这种可以简单模拟高并发缓存之类的,找到适合自己的项目,再针对相应的技术的百度,分析其逻辑,研究对应技术原理,准备好可能问的问题再做相应研究回答,准备好一套说辞。项目没必要做的高大上,业务逻辑说明白即可。

# 八股文心得

即使学历不足,但最终仍能成功上岸。正是靠实习和秋招提前批不断面试总结、看书、研究面经、和面试官请教、查资料查漏补缺,不断熟悉面试的基本套路问题模式把每次的点点滴滴都总结记载了下来,每次面前复习预热

比如项目实习: 我提前便研究好了可能问的问题,对可能问的问题准备了几套回答,首先说基本回答,等面试官问优化思路再把准备的第二套方案拿出来,这样,一切在自己掌控之中!

又比如:MySQL知识,你可能问某个问题,我便把相关原理和场景都给你准备好啦,就等着面试官提MySQL这个词,然后一套装逼就来啦!!

然后遇到面试问到的什么基础,场景项目实习优化啥的,都会总结记录,然后针对该问题查询专栏书籍等进行总结,下次面试就是一套装逼过去!形成独一无二的一份专属【面试笔记】!!

可能网络上的什么八股文资料很多,无可厚非,你能把那些资料都理解,随便进大厂大概率没问题。但是个人觉得,那些资料每个知识都是一大偏文章,然后回答方式还特官方(我当时开始也背过网上的资料,但是随便一个问题都官方的一大片,不适合我这种懒记性差,面试还紧张的一个字都挤不出来的人)

然后一个知识一个pdf,我遭不住,这咋记得住。而且没针对没对策,没重点,不知道从何背起,也不知道面试是否真的要考,我当时就是这个心态。收集了一大堆八股资料然后就没然后啦!!

而且对于一个问题,网上的帖子资料众说纷纭,你一个问题查大半天的资料甚至都还不知道哪个是对的哪个是错的(别问我为啥知道,我都经历过)

而自己【面试笔记】上的总结归纳,我每次面试除了灵活一点的场景设计题和一些略偏的问题,基本每次面试我都按照我总结的回答的(回答是每次面试和无数次查询实践得出的结论,我觉得都是对的也很深入,逼格足够高啦,反正我每次面试就这样回答的)

然后也每次回答的起飞,除开算法和难一点的场景分析,我基本没有不会的(不是说简单的回答基本,而是BAT面试官喜欢的原理实质!)

比如:你问我事务是啥?我给你扯到ACID实现原理!牵扯到的离级别实现原理、顺带说一下幻读(自己亲自实验的过程)、再谈谈日志,扯到日志原理,不就又到了binlog,然后我再给你扯扯两阶段提交,主从原理之类的,这样时间也凑够了,逼格也高。【手动狗头】

大概就是这样,【面试笔记】涵盖的内容:

图片

内容说多不多,说少不少,基本涵盖了BAT和其他中大厂面试各方面爱问常问的问题,回答也都是用人能明白的话(讨厌官方懂不起记不到)总结提炼易记的形式呈现。

然后话说的前面,小龙也不是神,不是什么大佬。只不过将自己实习秋招的总结与点点滴滴分享出来,肯定有不足或者没考虑到的!然后我个人觉得【面试笔记】已经够用啦用来应对校招的各种面试,但是随着我知识的积累与工作所学,我也会把点点滴滴写进去记录下来,逐步形成完善的【斩offer神器

以下是历年秋招整理的大厂面试题与笔记,可供参考:

# MySQL 部分考题(太多了,截图空间有限,否则看不清晰):

image-20240608160206581

# JUC 并发编程

线程池篇

线程池概述汇总 (opens new window)

详细说说线程池的使用场景?结合具体业务场景谈谈? (opens new window)

平时遇到过哪些常见的线程池异常? (opens new window)

线程池解决的问题是什么? (opens new window)

实际开发线程池使用不当会有哪些影响,结合具体案例讲讲? (opens new window)

实际问题及方案思考 (opens new window)

Case1:XX页面展示接口大量调用降级 (opens new window)

Case2:2XX业务服务不可用S2级故障 (opens new window)

线程池任务执行机制?核心运行机制是怎样的? (opens new window)

线程池如何维护自身状态,生命周期有哪些? (opens new window)

线程数的设置和哪些因素有关? (opens new window)

是不是业务QPS越大,线程数就越大越好? (opens new window)

什么是 io密集型和cpu密集型?参数怎样设置? (opens new window)

如何去监控线程池的这些核心参数? (opens new window)

有哪几种线程池?那你了解 forkjoinpool 吗? (opens new window)

谈谈各种线程池的具体使用场景? (opens new window)

假如用 Executors 的静态方法创建线程池,有哪几种? (opens new window)

CachedThreadPool 和 FixedThreadPool 提交一个任务处理流程有啥区别? (opens new window)

锁🔒篇

JUC常用关键字及类? (opens new window)

4. Java中常见的锁有哪些,其特点简单说说? (opens new window)

synchronized 和 Lock 区别? (opens new window)

在并发量特别高的情况下是使用 synchronized 还是 ReentrantLock (opens new window)

说一下 ConcurrentHashMap 中并发安全的实现 (opens new window)

你说高并发下 ReentrantLock 性能比 synchronized 高,那为什么 ConcurrentHashMap 在 JDK 1.7 中要用 ReentrantLock,而 ConcurrentHashMap 在 JDK 1.8 要用 Synchronized ? (opens new window)

有哪些并发安全的实现方式 (opens new window)

5、乐观锁了解吗?有哪些实现方式? (opens new window)

6、悲观锁有哪些?有哪些实现方式? (opens new window)

乐观锁和悲观锁?分别在什么时候用? (opens new window)

详细说说锁升级机制? (opens new window)

syncronized 是可重入的吗,是轻量级还是重量级? (opens new window)

如果不可重入会有什么问题? (opens new window)

轻量级锁升级为重量级锁的过程? (opens new window)

进程线程的区别?线程死锁的原因?有哪四个必要条件? (opens new window)

JUC.lock咋实现的?AQS的原理? (opens new window)

并发容器&工具篇

Juc 有哪些并发容器?实际业务开发经常使用哪些? (opens new window)

结合具体业务场景讲讲每种容器的使用? (opens new window)

ArrayList 和 Vector有什么不同之处? (opens new window)

为什么HashTable是线程安全的? (opens new window)

多线程场景我们选用什么List? (opens new window)

用过ConcurrentHashMap,讲一下他和HashTable的不同之处? (opens new window)

如果你要去对一个map去维护线程安全,除了用synchronized,有其他更好的方式吗? (opens new window)

ConcurrentHashMap如何保证线程安全?底层实现原理? (opens new window)

SynchronizedMap 和 ConcurrentHashMap 有什么区别? (opens new window)

CopyOnWriteArrayList 是什么?底层实现原理?结合实际业务场景讲讲? (opens new window)

ReentrantReadWriteLock?底层实现原理?结合实际业务场景讲讲? (opens new window)

Jdk工具类:CountDownLatch、CyclicBarrier、Semaphore什么时候用的 (opens new window)

。。。。。

还有其他面试题就不一一列举啦,这些都是实习秋招总结的经典,不像其他帖子到处copy,纯自己有效整理的笔记

# 部分展示📚

图片

# MySQL深入底层剖析

图片

图片

# JVM吐血整理

图片

图片

# Kafka必知必会

图片

这些都是在斩获多个大厂offer的路上总结的点点滴滴。可以毫不夸张的说,你掌握这些知识,中小offer随便拿,大概率能大厂,因为进大厂还得看自己领悟与融会贯通能力。

最近总有很多小伙伴通过各种途径私聊加我!咨询关于我【面试笔记】的事,如果感兴趣,详情可以点击了解【面试笔记

最沉重的负担同时也成了最强盛的生命力的影像。负担越重,我们就越真切实在。——米兰·昆德拉 《不能承受的生命之轻》