前言
不知不觉已经6月中了,细想2020年在家蹲着疯狂准备秋招实习,到已经实习一个多月,紧接着大厂秋招提前批也吹响了号角,时间节点衔接得很快,在这个时间点会有点感慨,以前在秋招的时候每天都在啃网上面经,拿到offer了直接去实习也没有时间在网上反馈回来,现在决定还是以一个“过来人”的身份写一篇关于自己的亲身经历来给有需要的朋友做一些参考,大佬轻喷。接下来将从个人情况,秋招实习面经总结和秋招的一些建议三个方面展开,赶时间看题看面经的小伙伴可以直接到第二部分。
另外我这里为大家准备了一线大厂面试资料和我原创的超硬核PDF技术文档,以及我为大家精心准备的多套大厂面试题(不断更新中),有需要的朋友点击这里备注简书,自行下载即可!希望大家都能找到心仪的工作!
个人情况
南京某985研二学生(下学期研三),本科比较爱玩,熬夜lol大师上不去之后,研究生阶段也意识到要学一点真本领,奈何研究生阶段学到的知识跟工作相关性不大,所以可以理解为秋招开始的时候对于找工作完全不懂!
选择语言我最后选择了Java,便开始了为期一个多月的啃面经、刷题的生活。这个过程是真的很辛苦的,体会过的人都懂。我很长时间没有找到那种全身心投入学习的感觉了,可能就比高考差一点点吧。我这里不谈合理安排时间,比如上午刷题下午刷面经晚上一起看之类的,不同的人有不同的效率,不同的学习方式,找一个自己最合适的最舒服的,当然也不能过于舒服而没有发挥出自己最大的潜力。
过程放在面经里吧,这里说一下结果吧。整体来说比较幸运,春招一共投了5个厂,字节、阿里、腾讯、网易、美团。美团笔试过了之后一个月没有动静,bat拿到offer之后网易也放弃二面了, 三个offer分别是阿里盒马,腾讯云,和抖音,最后选择了去抖音。
说实话这个结果比较出乎我的意料,以前没想到自己能去大厂实习或工作,因为真的很菜,别说我学婊了,系统准备之前java线程池都不知道,为什么不知道,因为没用过啊! 实践才是检验真理的唯一标准,有些知识真的只有自己去写一下,你才能有一个最深入的理解。
直接甩题目吧,记得的不多,我尽量全部贴出来。
腾讯
腾讯是最玄乎的面试体验了。我投的提前批前前后后被捞了三次,前两次被PCG吊起来打
PCG round1 腾讯视频tv版 一面挂
上来就做了两个算法题,归并排序,二叉树的中序遍历非递归,出完题就退出面试了,说是异步进行多人面试,感觉很舒服,不看着我还不紧张
redis淘汰策略
智力题,1000个苹果,10个篮子,要求拿任意个苹果都能整篮子拿,怎么放
要做一款盒子,能识别用户的语音命令,将其转化为文本,如何识别无意义的文本,开放题
就这些,这是我人生中第一次面试,但感觉还不错,算法题比较简单做得很快,智力题也想出来了,最后讨论的自认为也还可以,以为应该能复试,结果没有,挂了3天后灰掉了
PCG round2 未知部门 二面挂
一面:
- 写个单例模式吧
- 线程池工作说一下?
- 你项目里的难点说一下?(觉得我没说清楚,确实有点紧张了
- Vim会用吗?有多熟练?
- Git原理看过吗? 并发怎么实现的?
- java nio说一下
- 前面的回答的不怎么样,应该不想面我了,说 那你写个快排吧
二面:
- 问项目,聊项目,说一面面试官可能没问清楚又来问我一次,这次说清楚了。
- 问我能实习多久
- 让我准备一下应该还有一轮技术面
- 结果当然是没有等到许诺给我的技术面,直接给我挂掉了...
CSIG 腾讯云 拿offer
- 有了前两次的经验, 我对腾讯已经很佛系, 愿意要就要,不要就算了,甚至面试前一个小时我还在刷抖音。
一面:
- kmp算法(正好看到了,所以会
- 聊项目,一直聊
- Java锁机制,Reentrantlock和sync 有什么区别
- Jdk源码读过吗(把自己熟悉的地方讲一下,没有难为我
- 三次握手讲一下吧, 四次握手有去考虑过为什么要设置2msl等待时间吗? 1msl的时间是多少清楚吗
- Get Post区别懂吗
- 虚拟内存
- 我语速很快,没半小时就问我有没有什么问题,我说题呢?题也不用做吗,kpi这么明显吗?面试官笑了,说不是的,不是kpi面,我笑了笑觉得没戏了,结果竟然有2面
二面:
- 项目聊了半小时
- 问我最近有在刷题吗,我说当然有,那最近刷的一题比较好玩的题是什么,你的思路又是什么? (这个面试官很厉害,能根据你说的题判断你的思路,瞬间指出你的问题)
- 这个其实没什么参考的,我感觉是很合得来,聊的也很愉快,没有难为我,这种面试可遇不可求,和磁场相关,要说他水吧,其实也能把我问到说不出话,不水吧,又没有问很基础的东西。
- 总结腾讯的话就是:提前批一定要参加,不用笔试加无限被捞,是提升能力和耐操能力的一个绝好机会,题目可能会比较偏,但也可能会比较常规这不一定,但相信自己总有一场一起都很合适的面试
阿里
- 前面说到语言问题阿里除外,为什么呢,因为如果想要找研发岗,java知识真的很重要,不仅是java基础,你最好还得有一个自己的java项目,多多少少碰一点java的并发之类的。
一面:
- 项目
- java锁
- 锁优化过程
- 线程池核心参数
- Comparator和Comparable区别
- linux load
- linux 如何查看cpu情况
- 数据库读写锁
- 数据库隔离级别
- mvcc说一下
- like走不走索引,为什么, 怎么才能走
- b+树优势是什么
- HashMap源码说一下
- String 可变吗
- String a = new String("")创建了几个对象
- HashMap 安全吗?
- ConcurrentHashMap怎么实现的
- 三次握手
- Java反射
- Spring AOP IOC说一下
- 什么是可重入锁
二面:
- 项目
- 类加载机制
- 注解原理,如何自己实现一个注解
- Java的多态(方法表,问得很深
- Java的内存模型
- GC算法,回收器(问得很深
- 接口和继承区别
- 出了一道SQL题
- 出了一道很复杂的算法题, 题目描述就很长,就类似于去参加会议,不同天数不同地点不同时间不同会议有不同的得分,问最大得分,写了个数据结构框架大概,核心思路没有想明白,让我准备下一面
三面:
- 项目
- 出了一个场景题 如何写一个注解完成一个功能,不会
- JVM调优
- 双亲委派模型
- sleep 和yield区别
- 反射创建对象获取私有值
- spring哪里用到了反射
- 如何不用stack实现一个栈(说完一个问还有吗? 逼了我说出了三个才满意
- 总的来说,阿里的面试体验还不错,面试官都循序渐进引导,但真的像传言要把你的基础问个底朝天,所以一定要做好充分的准备,把Java啃透了
字节
- 字节是我放在最后才面的公司,原因有三:1.传言只有一次面试机会,挂了就不能再面了(假), 2.字节面试算法题很多,不做好准备不敢去(真) 3. 阿里腾讯太难了,只能当练级,字节一定要冲刺进去
结果1是假的,其实可以协调重新发起面试, 2 是真的,我面了4轮技术面 5道算法题... 不过是因为被转岗了,重新发起面试的,一般可能就两轮技术面吧。 3的话只能说看大家怎么想了,反正现在我在字节才发现字节的氛围、技术、待遇都不会比阿里腾讯差。话不多说,出题了。
一面:
- Java nio说一下
- epoll说一下
- epoll和 poll select区别
- Java线程池处理任务过程(这一点我们有不同的意见,我认为是先看队列满没满再去看最大线程数满没满,面试官说这样会有问题,但是我坚持了自己的看法,面试官好像不认同
- 四次挥手的意义是什么
- 二叉树的右视图 ( 递归+非递归
- 一个链表有一个random随机指针,如何去复制(问了一下用最简单的hashmap可以做吗, 问了我一下思路说可以,但是可以想想空间复杂度小一点的)
二面:10分钟后(这种感觉真的很爽,一鼓作气
- 项目聊了半小时
算法题:去除链表的重复节点 1->1->2->3 ==> 2 ->3 【说实话这个瞬间我觉得我的字节已经稳了, 这个题可以说是很简单的题了,但是洋洋洒洒5分钟写好后发现调试不对,看了看面试官说给我10分钟调试一下,他说没问题多久都可以,于是我仔细检查函数,也没发现问题,最后都快20多分钟了,我又写了一个递归算法,还是不对,心态炸了,真的觉得很难受,后面发现是链表头节点没获取到,也就是说把返回头节点的函数直接当void用了,所以调试打印的话打印不出来... - 二面结束后有点自闭,因为二面表现太差劲了,机会因为自己太轻视题目而溜走。但好在给我一个三面的机会了
三面: 几天后
- 上来就问我家是哪的,准备实习多久,我一度以为到了hr面,我还问咱们这是技术面吗?面试官说肯定是的,总不能上来就问题目吧 哈哈哈气氛瞬间轻松很多
- 如何实现一个登陆系统
- 有哪些安全问题需要注意
- 数据库acid表示什么,隔离级别说一下
- 一个链表,奇数递增,偶数递减排序
- 场景题,如何去找到错误日志,挺复杂的最后我说如果日志id排序过就好办了引到了二分查找
- 一个有序数组有重复元素,找到某元素的个数(必须两次二分找左右边界
四面:第二天
- 项目
- 算法题我就不问你了前面也问的够多了
- 对我们这有什么要了解的,如果要来的话你准备从哪里开始准备
... - 总的来说,字节的面试碰到的算法题虽然多但应该都是中等题简单题,应该会的,字节也确实挺看重编码能力,leetcode好好刷绝对没问题。
总结
最后为大家准备了Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。有需要的朋友点击这里备注简书,自行下载即可!,对于大厂面试,我最后想要强调的一点就是心态真的很重要,是决定你在面试过程中发挥的关键,若不能正常发挥,很可能就因为一个小失误与offer失之交臂,所以一定要重视起来。
还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书一起免费分享给大家!