自我介绍
感谢群主峰哥秋招过程中的帮助,在年底前对秋招做一个总结分享给其他同学。先说一下本人情况,本人本硕都是双非高校计算机专业,秋招拿了商汤科技、阿里等多个大数据offer,主要是想给来自双非高校计算机或者双非跟计算机沾边相关类似自动化、控制等一些同学建议。
对考研的看法
首先,如果你还是大三的本科生,条件允许的话,尽量去考计算机方向的研究生。从今年各大厂的秋招情况反馈来看,85%以上的候选人都是研究生。由此看出,就业形势一年比一年难,国家都逼着大家考研究生,这是一个非常现实忠恳的建议。
可能有有些人背景普通但也能收到大厂offer,但是每个人情况不一样,每年的行情也不一样。别人成功的道路,可能并不一定适合你,读研不能保证你的人生会多么成功,但是至少不会比你本科时差,本人学校虽然非211,但学校团队课题组的今年找的工作都说出名字大家都耳熟能详的单位,比上不足比下足足有余。
对实习的看法
如果你是大三或者研二准备明年找工作,那我建议你赶紧去找互联网公司的实习,大厂实习最好。大厂寒假的日常实习面试比起秋招都挺简单的,差不多两面就行,稍微准备一下就行。针对研究生,我强烈强烈建议你,就算是瞒着导师也要去找实习,你学校一般的话,发表的论文其实在hr眼里没什么大用。
还有就是建议找研发类实习,今年秋招算法岗简直是神仙打架,候选人基本上都是本硕985或一流211外加国外名校留学回来的,顶会文章是标配。所以如果你学校一般,建议投研发岗,这样以后秋招压力会小一些。找到寒假日常实习后,有一点要有清楚的认识:不要奢求你寒假通过日常实习以后能顺利转正,大厂转正基本上都是8月 9月才考虑,以及现在大环境不好,转正的hc是越来越少。
很多大厂因hc紧张,部门的实习生是送走一批又一批。所以你在实习积累项目经验的同时,千万别tm忘了刷题,刷题再刷题。连说三遍,可见重要性,手撕代码是秋招找工作必备环节。你能天天保持刷leetcode固然最好,如果不能,个人推荐一本书《程序员代码面试指南:IT名企算法与数据结构题目最优解》,这是左神用Java写得书。因为本人Java比较熟,所以很喜欢。本书是群主之前没推荐的书,所以拿来推荐。
实习刷题
这本书在牛客上有oj可以配合在线编程。本书比群主推荐的《剑指offer》最大的优势在于,作者对算法题做出来归类,并且都从一般解给出最优解,并且本书的题目200多道,包括了《剑指offer》的所有题目,我自从发现这本书,就把《剑指offer》那本书扔一边了。如果你寒假日常实习岗位是Java岗或大数据岗位,强烈强烈强烈建议白天实习攒项目,晚上认认真真刷《程序员代码面试指南:IT名企算法与数据结构题目最优解》。
如果在正式秋招前你把这本书刷完,既有项目经验并且能手撕代码,那你将有特别大的优势。总之一点,在大厂实习的你,千万别指望日常实习能转正,刷题撕秋招才是王道。本人就是在这一点上吃大亏,才导致秋招错过不少机会。总之,记住从明年到暑假,实习攒项目与刷题缺一不可。
阿里面经
最后按峰哥老规矩,列一列技术面试面经。本人因之前在公司实习,所以秋招时错过不少机会。在正式秋招时,没面多少公司,主要最有印象的是阿里,今年的秋招比去年难度提高不少,面试的学生几乎人人都有实习经历或比较好的项目经历。可能因为个人技术栈是Java大数据方向,所以跟阿里面的比较久,最后上岸阿里北京这边的部门。今年阿里校招hc比去年要少所以竞争是相当相当激烈。
一面
1.免去自我介绍,上来介绍一下实习时kafka在项目中的使用。
2. Kafka架构
3. Kafak如何保证数据一致性
4. 系统设计题:设计一个数据存储系统,如何保证每天同步的业务数据不丢失等。
5. Jvm垃圾回收算法
6. ArrayList与Linklist区别
7. Hashcode与equals方法区别,结合集合使用说一说。
8. 介绍一下Spark Streaming使用
9. 计算机网络常见状态码是否了解,比如404 500 301等
10. 面试官自我介绍,以及你有什么想问的。个人感觉面试官对kafka特别精通,一直在问kafka比较深入的问题。
二面
二面是突击面大晚上9点半面试官竟然打来电话,没有任何准备。面试官上来就会要你自我介绍,后来才知道这是阿里非常常见的面试形式。
1. 介绍一下数据挖掘比赛的情况,并针对比赛提出一系列问题。
2. Hadoop map reduce过程
3. Java StringBuffer与StringBuilder区别
4. MybitsPlus实现原理
5. SpringMVC实现流程
6. Java集合源码相关问题,put方法过程。
7. 说说未来个人职业规划以及有什么想问的。
三面
1. 自我介绍
2. 说一说实习项目经历。
3. 说一下Java与c++的区别。
4. 详细阐述Jvm垃圾回收与类加载机制。
5. 详细说一说计算机网络,网络数据包丢失与重传机制,流量控制与拥塞控制区别。
6. 详细说一下http请求过程。
7. http中get与post请求区别。
8. 访问网站淘宝网整个请求过程,并细说dns解析过程。
9. https与http区别,详细阐述其请求过程。
10. 问个人职业规划面试官,个人介绍以及问你有没有想问题的。
本次面试是一次关于计算机网络的盛宴,整个面试有一半以上的时间都在死磕计算机网络,是对计算机网络方面的知识一次灵魂上的检验。原因是面试官是做安卓开发的,而我的项目经历全是后台开发,对安卓不是很了解,所以面试官对我做的项目经历没有深入去问。
四面
1. 介绍实习项目经历
2. 说一说在项目中使用es的情况。
3. Es架构,如何进行路由以及选主等关于es比较深入的问题。
4. Mysql四个事物级别。
5. Mysql索引使用情况。
6. 组合索引使用及需要注意的问题。
7. 主索引与唯一索引的区别。
8. 根据场景,写出sql语句。
9. 数据库与Redis缓存一致问题。
10. Hashmap实现原理及扩容机制。
11. Jvm运行时内存使用区域划分。
12. 有无想问的以及面试官自我介绍。
本次面试可能是表现最不佳的面试了,由于当时本人在实习做的是大数据方向,而Java后台使用频繁的数据库接触的少,对数据库索引相关的问题忘的有点多。结果,一周以后简历直接进了池子。 所以再次告诫大家一边实习一边找工作的各位,实习下班回家后,好好刷题这个很重要。
五面
大概过了不到一个月,又一次接到阿里的电话,很幸运简历被从池子里捞起,可能是到了秋招末期,所以面试官为提高面试效率就约了现场面试,个人感觉现场面试整个流程还是比较快的。
1. 自我介绍
2. Linux基本命令使用,例如如何查看当前系统cpu和内存使用信息等
3. 尽可能说出Tcp与udp区别
4. Jvm和Java集合相关问题
5. 介绍一下数据库死锁
6. 手撕单例模式
7. 手撕快排遍历二叉树及一道剑指offer上原题最大和子序列
8. 系统场景设计题,与秒杀系统类似
9. 介绍一下项目情况
10. 聊天,面试官介绍部门情况。
关于面试其他能参考的书籍我就不一列举了,我在这里就推荐《程序员代码面试指南:IT名企算法与数据结构题目最优解》这本,其余的书群主峰哥已经推荐的非常多也非常丰富了,再次推荐没什么必要。
总结
1.尽量早的去实习,积累实习经历和项目经历。
2.实习也别忘了刷题,别 all in 实习,留后路。
3.最好能找个前辈指引你写简历、复习、面试什么的,能事半功倍。
最后,祝研二或大三规划明年要找工作的你,顺利找到理想的工作。
有道无术,术可成;有术无道,止于术
欢迎大家关注Java之道公众号
好文章,我在看❤️