2022后端岗秋招总结(BAT等10+offer,更新中)

9.24收到了阿里云的意向书,我的秋招也就到此结束了。准备秋招包括之前准备实习的时候看了不少牛客的面经,我也想总结一下自己的经验,尽可能的帮助之后的牛友。
楼主是硕士,非科班,java选手,投递的都是后端岗位。

目前的offer情况:
已意向:腾讯、字节、阿里、美团、网易、京东、tplink、vivo、oppo、乐鑫科技,还有诺瓦等一些独角兽公司。
hr面完在泡池子:拼多多、华为
面试流程中:微软、intel、百度(想吐槽一下百度,我8.7投的提前批,隔了一个月9.7才给我发的笔试通知,那时候正式批都开始了,然后我做完了笔试又杳无音讯...)

关于整体面试难度,我个人的排序是这样的
字节, 阿里 > 腾讯, shopee, 拼多多 > 美团, 网易 > 京东 > vivo, oppo, 华为 > tplink

当然不同公司的侧重点也不同,比如字节注重算法,每轮面试必有算法题,如果撕不出来哪怕之前八股文回答的再好也得挂;阿里注重项目及实习,喜欢问一些具体的场景应用问题,算法题一般只需要口述思路即可;美团注重基础知识,以及一些将知识应用于实践的能力;而华为、tplink注重学历,所以有个好的本硕背景是很占优势的。

全文写完估计比较长,主要分成三大部分

写在前面的话
如何高效准备秋招
BAT相关面经

为节省时间大家可以根据自己需要看对应部分

———————————————————— 正文分割线 ———————————————————

写在前面的话

1. 提前批很重要,千万不要错过提前批。

现在互联网公司的招聘时间越来越提前,以前说的金九银十早已不适用,金八银九才是现状。大部分互联网大厂会在7、8月,甚至6月开放提前批,所谓的秋招渐渐变成了夏招。这样就导致等到正式批开放,hc所剩无几,竞争及其激烈,这时候再想上岸就更难了。有的同学会觉得提前批都是给一些极其优秀的同学参加的,或者觉得自己没准备好不敢参加。我认为这些都是错误的思想,首先没有哪一家公司的提前批是只针对双985学生开放的,甚至提前批hc足,竞争的激烈程度个人感觉要小于正式批;其次你觉得你没准备充分,实际上大家都是一样的,等你准备充分了,或许人家早都上岸了;退一万步说,哪怕你提前批挂了,正式批还可以参加,那不是多了一次的经验,帮助你更好的准备正式批吗?

我是从7月就开始边实习边陆续参加面试,先参加了一些小公司的提前批积累经验,先是拿了vivo、tplink提前批的offer,之后又拿了美团、网易提前批的offer。这时候有了保底offer,心态就不一样了,开始放心冲击bat等互联网一线公司。

2. 选择公司需要有策略,不能盲目的海投。

即便是有提前批这样一次多出来的机会,也需要有一定的策略和优先级,尽最大程度的利用这一次机会。如前文所说,我建议在一开始的时候先去尝试一些小公司,或者一些二三线互联网去积累经验。面试完后,及时总结面经,查漏补缺,不要去过分关注面试结果,而是要让自己每一次面试之后都能学到新东西,这个过程中也会慢慢提升你的交流能力和自信。这点我感同身受,我也是一开始见到面试官支支吾吾说不出话,到现在能和面试官侃天侃地一小时面不改色,这些都是需要去锻炼的。

在你觉得自己的能力得到一定提升后(比如面试通过的频率增加了,或者拿到了一些保底offer了),这时候就可以去试试bat了。同样也要摆正心态当作是一个进步学习的过程,bat挂你是很正常的事,毕竟面试难度摆在那里。当时字节我是经过了六轮面试(三面挂了,被其他部门捞了,又面了三轮通过了);阿里也经过了五轮技术面;在找实习的时候就被腾讯摩擦多次,还以为留下的面评会很不好,没想到是第一个bat offer(这里也验证了,不要怕留下不好的面评,只管冲就行了)。

3. 实习转正 or 准备秋招。

这也是一个老生常谈的问题。每年的4、5月份牛客上都会有很多牛友开帖问类似的问题:究竟是先去实习之后转正,还是准备秋招?

我的意见是,如果你那时候的能力已经达到了大厂实习的标准,那一定要去大厂实习,之后尽量转正,这是捷径中的捷径。当然也要考虑你的部门环境怎么样,是否是核心业务线,转正hc多不多等等。如果有不合适的地方,也要提前准备秋招跑路,别被弄的措手不及。但是如果你的能力那时候还达不到大厂的标准,那你就需要辛苦一些了,我的建议是尽量去找一些小厂的实习,在实习的同时去准备秋招。因为实习经历在秋招是很大的加分项,大厂就不说了,我说的小厂实习经历是指你真的去参与了开发项目,完成了一些功能的实现,而不是一些杂活。这些都是需要你自己去总结的,总结好了就是你日后和面试官“吹牛”的资本了。小厂实习的优势就在于,你可以把整个流程都跟一遍,而不像大厂各拧各的螺丝钉。

这也是我的经历,因为不是计算机科班出身,决定转码的时间又晚,所以4月找实习的时候一个愿意收留我的大厂都没有,最后之后去了一家创业初期的公司,甚至连独角兽都还称不上,但我那里确实学到了不少东西,也真正参与到了项目中去,成为了我秋招的加分项。

如何高效的准备秋招

秋招的难度是略高于春招实习的难度的,但其实也在同一个范围内,毕竟需要准备的东西基本是一样的。无非就是:
基础知识(即八股文,包括但不限于java相关、计算机网络、数据结构、操作系统、数据库、linux、redis等等)+ 项目经历 + 实习经历 + leetcode刷题
那我们就依次说起。

1. 基础知识

首先对所有的八股文重要性按我的理解做一个排序(只针对面试考察):
计算机网络, 操作系统,数据结构, java基础 (这些是必须掌握的)> 数据库, linux, redis(这些也要掌握,优先级略低于前面)> Spring+SpringMVC+MyBatis框架, 各种中间件, 微服务, 云计算等等(有了解会是加分项,可以体现在项目里)

以上的其实也只是一个概括性的说法,比如说java基础包括但不限于JVM内存模型、GC机制、类加载、锁机制、多线程安全等等知识点。如果不是科班出生又时间紧迫的小伙伴,建议去b站或者慕课跟着课程学一遍,让自己的知识成体系架构,不然看别人的面经都看不懂。

2. 项目经历

我的项目经历实际上就是在学校里完成的课程项目,虽然比较简单,但都是自己亲手完成的。我不建议在网上随便找个什么电商的项目就放到自己的简历上,除非你真的对这个项目的设计有深入的了解,并且有自己的思考和改进。面试官见的面试者那么多,两三句就能知道这个项目是不是你自己的。如果你真的没有拿得出手的项目,我建议花一个月去imooc完整的跟一个项目,用的技术栈要和你的岗位贴合,面试官问的时候就直说是mooc上跟着做的项目,主要讲你的收获和你对这个项目的思考和改进。

常被问到的开放性问题包括:该项目你最大的收获是什么?该项目最大的难点是什么?该项目最大的亮点在哪里?你认为还能做出什么改进?项目的背景是什么?

总而言之,一定要对自己的项目的细节很清楚。如果不是自己的项目,也一定要把写在简历上的项目尽量变成你自己的东西。

3. 实习经历

这一part是你如果写在简历上,面试官必然会问的东西。我觉得实习最需要考虑的是岗位和工作内容,而不是大厂或小厂,毕竟只是实习三四个月,又不是永远在这家公司(想去大厂实习转正的除外)。
所以我的排序优先级是:大厂对口岗位 > 小厂对口岗位 > 大厂不对口岗位 > 小厂不对口岗位

有的人可能会有疑问说,比如我之后想从事后端开发,但现在我的能力进不了大厂的后端实习岗,只能进客户端岗,那我是选大厂客户端还是小厂后端呢?这个仁者见仁,但我的答案就在上一段里了。

4. 刷算法题

算法题主要是为了解决笔试(当然大部分提前批都没有笔试) + 面试手撕代码(很常见,大厂基本每面都会有)。

我的刷题方法是速成刷法,直接从高频开始刷,刷一段时间再去做总结复习。我其实不太建议这样刷题,如果时间充足还是建议按照tag刷,更加扎实一些。关于刷题攻略牛客上已经有一大堆了,我就不赘述了。强调一点就是不建议太大量的刷题,我只刷了200道左右的力扣,每道题至少刷了两遍,少数题刷了五六遍的也有(主要是老忘...),但我可以保证我吃透了这200道的大部分。我觉得这个刷题量就足以应付面试的手撕代码了。

一般面试手撕代码的难度在力扣medium左右,很少遇到hard。也有例外比如面试官想试试你的深浅,拼多多三面的时候直接让我手写线程安全的hashmap。遇到这种情况也只能尽力而为了。
统一笔试的话很多情况下都不是硬指标,只要做的别太离谱都能通过。这里多插一句,一定要提前适应ACM模式,别被leetcode的核心代码模式惯坏了,用自己ide如何打断点调试这种基本技能也是必须具备的。

BAT相关面经


to be continued...

#2022秋招##秋招#
全部评论
楼主更新了踢我一下
1 回复 分享
发布于 2021-09-25 09:04
厉害
点赞 回复 分享
发布于 2021-09-25 09:26
太厉害了吧
点赞 回复 分享
发布于 2021-09-25 14:18
大佬求更新呀,然后可以讲讲具体学习的历程嘛,就是大概什么时间开始学的,每块学了多久这样,感觉非科班还这么强太值得学习了!想了解下时间线
点赞 回复 分享
发布于 2021-11-13 20:02
插眼,等待大佬更新
点赞 回复 分享
发布于 2021-11-16 15:03

相关推荐

面试反馈 3.5号 --  卓望公司- redis 改造那里有问题 -- > 一定会顺着问很多redis的相关知识- linux 关于网络的命令(netstat的了解)+ Linux命令:创建一个文件、查看进程以及如何过滤某个特定进程(管道)、修改文件读写权限、归属权(不知道)、杀死一个进程- 设计模式 -- 单例模式- 深拷贝和浅拷贝的理解, 如果要自己写一个工具类的话需要实现什么类?你知道哪些工具类?- jdk动态代理和CGlib代理的区别- 介绍下常见的垃圾回收器?parralle?G1?- 如果一个接口无法访问,怀疑是网络请求的问题应该如何操作?- ConcurrentHashMap如何保证线程安全的?- 讲一下hashmap的自动扩容?- 过滤器和拦截器了解吗?是基于什么实现的?- 了解哪些加密算法? Redis 中的 hash格式使用的是什么加密算法?- 你对CAS 如何理解?(保证并发的过程+ CAS 存在 ABA 问题,即值可能被修改后又恢复原样。) -- AtomicInteger和 ConcurrentHashMap面试反馈-- 3.6号-- 合肥大智慧0605面试汇总1、进程和线程的区别2、进程间通信方式3、线程间可以通信吗4、多进程实现方式5、线程池执行流程6、多线程实现ABC打印(多种方式)7、信号量机制在Java中实现8、树结构(二叉树、平衡二叉树、搜索二叉树、红黑树、B、B+)9、SQL优化10、LinkedList11、HashMap底层结构和原理12、HashMap为什么使用红黑树13、为什么不用二叉搜索树14、场景题:1亿条url数据,查询指定的url。不使用数据库怎么实现?15、场景题:设计表实现两种角色的权限访问和控制?面试反馈 -- 3.7 合肥大智慧用过es吗?redis了解多少?mysql了解多少?spring框架了解多少?面试反馈 -- 3.8 北京信狐天诚- Integer对象 -- 常量池那个- String 和 buffer 和builder- redis 改造 (感觉还应该再深挖一些技术)- mysql - 索引查询- oom 排查方法- docker 常用命令- spring boot 和spring cloud 的区别- redis的 事务- mysql的事务- mysql 脏读 ,幻读- 对象被创建的 过程面试反馈 -- 3.10 微购 (深圳)- Integer对象 -- 常量池那个- String 和 new String- JVM 内存模型- 计算机网络的七层网络模型- 网络层和传输层的具体内容- ip 的映射表 寻址(内网)面试反馈 -- 3.10 阿拉钉(济南)- 算法 -- 简单题(inhot 100)- 简单的八股- 排序算法考的比较多-- 还有基本的数据结构(这个感觉还是挺重要的)面试反馈 -- 3.13 小西科技 -- 南京- 项目场景描述-- 理清了思路(两个场景, 一个是使用key 获取一个用户; 另一个是分批次的一个redis接口 -- 感觉后面还是自己实际写一下比较好)- redis结合springboot -- 如何实现一个starter? -- 考察基本的运行流程和注解使用- mysql 的索引优化 -- 最左匹配 ; or左右失效 ; 模糊查询百分号在like前失效;type -- range 和index 的区别- Spring 中的事务的使用和为什么会回滚? 底层是如何设计的- 事务的失效情况?- 线程池的作用 和线程池的构造参数, 实际使用?面试反馈 -- 3.14 望尘科技 -- 深圳- 线程池的核心构造参数- 乐观锁和悲观锁- **HTTP 请求无状态,如何区分用户?**-  **TCP vs HTTP 区别**?- llimit 关键字分页的时候为什么会越来越慢?--- 走的是全表扫描- 什么是mysql 中的回表? 什么情况下会出现回表?(普通index -- > primary key -- > value )按理说应该直接走主键;- **Java 的默认排序算法**  Java 中的默认排序算法取决于 **数据结构**,常见的排序方法包括:  - **数组排序(Arrays.sort())** → **双轴快速排序(Dual-Pivot Quicksort)**  - 列表排序(Collections.sort()) → **归并排序(TimSort)**  - 并行排序(Arrays.parallelSort()) → **并行归并排序(Parallel Sort)**- mysql 的innerdb  相关知识 ? - mysql中的锁机制(说了间隙锁, 然后引用场景-- 结合了之前说的事务的方向说的)好未来 面试反馈 -- 3.15- 线程池核心参数- 线程池的实际使用- 算法回文 - 双指针(plus -- 看一下 回溯实现全排列)- 场景题-- 大厂的二维码动态刷新打卡- 订单场景 --- redis 分布式锁- 订单-- 同一个按钮短时间快速点击- 问了一道mysql题目 -- 一个用户表(id , name , phone) -- 找出手机号重复的所有用户- Synchronized 底层实现- 集合的类型- ConcurrentHashMap -- 如何保证线程安全#牛客AI配图神器#
点赞 评论 收藏
分享
评论
3
31
分享

创作者周榜

更多
牛客网
牛客企业服务