背景
学习群里的清华学霸,去年这时候只有Java基础,后面帮他制定了学习路线开始学习,并参加了春季实习,这次秋招收获颇丰,基本都是顶级大厂的A+/A++ offer。
个人情况
TOP 2 - 985 本硕。本科电子系,硕士通信方向。实验室里基本做的是通信的事情。计算机基础方面,大一时学过一点 C++,更准确地说是 C with classes,研究生阶段学过一点机器学习。
2021年的秋招中,拿到了腾讯 WXG,蚂蚁金服,字节跳动,美团,快手,shopee 新加坡开发岗的 offer,并且基本都是SP/SSP。
岗位选择
研一的时候就打算去互联网公司做技术方面的工作,并一直在开发/算法二者中纠结,毕竟当时正是 AI 行业快速起飞的时候。在知乎上也看过许多相关的帖子,后来考虑到算法越来越卷了,许多非科班的专业都可以转到算法岗,竞争压力大。加上实验室导师不放实习,以及非科班很难出算法顶会文章,最后选择了开发岗位。
事实上,在今年的秋招中,再一次印证了“选择大于努力”这一句话。我身边选择开发的同学,基本都有 BAT 等大厂的 offer。而算法岗位由于 hc 较少,竞争大,内卷极其严重,和开发相比更难拿到大厂 offer。例如,我一个室友面腾讯算法岗位面到三面,才被告知部门里没有 hc 了。
并且, AI 行业也逐年趋于冷静,许多 AI 公司必须让业务落地,实现公司盈利。其次,AI 岗位的薪资也没前几年疯狂了,许多大厂算法岗基本与开发岗同薪了。所以如果没有充分竞争力的情况下,还是建议大家选择相对容易的开发岗位,当然大佬除外。
另外,在 C++/Java 二者的选择中,我选择了需求量更大的 Java。实际上,在校招面试中,面试官并不会在意你的语言。只要选择一种语言并且熟练掌握即可。正式工作中需要什么语言,入职后再进行学习即可。
学习路线
在确定下来走开发岗位后,我参考了许多过来人的学习经验,从 Java 基础学起,接着是 Java 并发,JVM,MySQL,Redis, 最后是 Java 后端生态常用的框架,例如 Spring,Zookeeper,Spring