【阿里内推】浙大师兄这样说: 多看经验,少走弯路

我是阳苏,来自于浙江大学光电学院。因为本专业就业前景不佳,转行互联网,目前就职于阿里巴巴。


目前已入职阿里,需要内推的同学可以发送简历到这个邮箱:[email protected]


岗位:Java后端开发


秋招目前已经拿了一些满意的offer,包含阿里巴巴/微软/美团/拼多多/vivo等,这里就不写面经了,牛客上很多。


因为我也是非科班转互联网的,所以我想分享一下我的转行经验,希望对有这个打算的同学们有帮助。少走弯路,顺利拿到大厂offer。


确定方向,尽早准备


对于大部分转行的人来说,就像当初高考选专业一样,开始的时候我们基本都是通过名字和热度去挑选,这样很容易进坑(因为坑太多orz)。

如果你已经选错了一次专业,那么就业方向一定不要再选错了。毕竟专业方向也就读书的几年受影响,就业方向影响的是你以后的整个人生。


如何去选择方向呢?去大厂校招网站搜一下招聘职位你就会有一个大概的了解。非技术岗我不太了解,简单说一下技术岗,技术岗主要分为算法/开发/测试三类(数据分析之类可以并为开发),每一类下面又会有细分,比如算法有计算机视觉/自然语言处理/自动驾驶等,开发有前端/客户端开发/后端开发/大数据开发等,测试不会太细分。


难度:算法>开发>测试

薪资:算法>开发>测试

热度:算法>开发>测试


以上排名都是在其它条件相同时的平均情况比较,如果拿小厂的算法和大厂的开发比较是没有意义的。


对于21届的同学来说,现在还有时间,如果你很纠结,我建议你可以花一周的时间去搜索一下各个岗位需要掌握的技能栈/目前市面上对这些岗位的需求量/岗位的平均薪资/工作强度等,就是你未来在做职业选择时在乎的条件,你完全可以花时间先调研好。


总之,无论选什么大方向,只要尽早做充分准备,拿一份大厂offer的可能性还是很大的。


编程语言


选好了大方向后,作为程序员肯定要选择一种“本命语言”来入门,以后工作过程中你可能需要学习其它语言,但是你必须至少精通一门语言。建议转行的入门语言还是选当下的热门语言,因为工作机会更多。


所以,选择基本就变成了在Python/C++/Java中选其一,算法选Python居多,开发三种语言都有,按就业机会排名:Java开发>C++开发>Python开发;按语言本身学习难度排名:C++>Java>Python


对于工科同学,本科应该都学过C或C++,有一定的基础,学起来会很快,但是语言是基础,学习的时候一定要认真对待,把握语言的特性。如果完全没有基础,Python学习推荐廖雪峰的博客,Java学习推荐how2J,C++我不太熟悉,同学们可以自己去搜索入门资源。最好买一本书,在网上学习有疑惑的时候,书可以作为“权威版本”拿来参考。


学习路线


选定了大方向,再选定小方向,选定了小方向后,需要花时间去调研,这个岗位需要掌握哪些技术栈。最简单的方法还是通过去各个大厂的招聘网站,查看岗位的技能需求。另外,如果你有师兄师姐已经入职的,直接去问师兄师姐更好。


Java后端开发的技术栈


  • 计算机基础:操作系统/计算机网络/数据结构与算法/设计模式
  • 语言:Java基础/Java容器/Java并发/JVM
  • 数据库:MySQL
  • 框架:Spring家族(Spring/SpringMVC/MyBatis/SpringBoot/SpringCloud)
  • 中间件:Redis/Dubbo/消息队列(RocketMQ/RabbitMQ等)/ElasticSearch
  • 其它:Zookeeper/Netty/Tomcat/系统设计(分布式/高并发)

以上列举的应该涵盖了大部分公司在后端开发时,需要用到的技术栈,当然还有不少我目前不了解的,对于应届生而言,如果以上部分都掌握的很好,就已经达到了绝大多数公司的要求。


刷题


至于学习顺序,个人建议:首先学习好语言基础,然后开始学习数据结构与算法,通过自己去实现一些数据结构和写算法题目,来巩固语言基础。这里的算法题,并不是指机器学习/深度学习的那些算法,而是一些初级算法题,可以参考leetcode。刷题与找工作的关系就像八股文和科举考试的关系,并不是说你八股文写的好,你以后就是个好官,但是八股文写不好,你连当官的机会都没有。


所以大家一定要重视刷题,零基础的同学建议去牛客网上看左神(左程云)的算法入门课,北邮人等资源网上能找到相关视频(也鼓励大家能够在牛客网上学习,支持正版233)。老老实实看完基础班和进阶班的视频,对于左神讲的每一道题,一定要自己coding做一次,刷完了左神的课程,你就有了独立刷题的能力。后面建议先刷完剑指offer上面的所有题目,再去刷leetcode的top。建议刷题的时候,按类别做一下笔记,方便日后复习,类似于这种。


刷题是比较耗时间的,刚开始可能一上午只能做2道题,所以不要求多,但是要坚持,每天刷一两道,长期积累下来你的刷题能力自然上去了。一定要重视刷题!!不然你可能连大厂面试的机会都没有。


PS:@HW真香同学的建议


如果先刷完leetcode再去回顾一遍剑指offer的话,效果可能会更好,实际上这本书最大的用处不是让人入门,而是冲破初级码农的门槛,一开始就直接上剑指可能很难领悟他的精髓和价值,纯粹把这些题刷过就完了那就没意思了。


剑指offer中题目虽然大多是medium或simple的题目,但是提供了很多很棒的解题方法,并且对编程规范和问题分析能力也有一定的帮助,这本书值得多刷几遍。至于每天的刷题量,还得根据同学们自己的时间来,刚开始刷题很容易有挫败感,可以从leetcode的simple刷起,有了自信再刷medium,偶尔刷一些hard。


项目


语言/数据结构与算法都学好了后,就可以开始找项目做了,做项目就会涉及到数据库以及框架的学习,对于Java后端的同学,可以将how2j中的项目作为入门学习,也可以在github上去寻找一些合适的项目,自己clone下来研究和学习。


做项目的时候,一定要记得目的!!因为一个项目会涉及很多方面的知识,比如web应用项目中肯定会有前端部分,如果你目的是学习后端部分开发,那么对于项目中前端的开发过程和细节,大概浏览一下,知道大概原理就可以了,不用深究。我之前就踩过一个坑,学习how2j中“一本糊涂账“的时候,我将JSwing相关组件的都学习了一遍,后面才知道这些组件web开发根本不会用,浪费了很多不必要的精力。另外,过于老旧的技术可以了解,也不必深入学习,比如web开发用的SSH框架,互联网公司基本都已经淘汰掉了。


做项目可以学习框架和数据库。至于中间件的学习,建议首先去查找一些入门学习资料,知道它是干什么的,然后找一些demo自己实现玩一下,最后可以考虑怎么将中间件融入到你的项目之中。关于操作系统/计算机网络这两门面试常问的计算机基础,时间充足的同学建议看看书学习,时间不够的话可以多刷面经,遇到相关问题就自己去网上搜索答案整理下来,面试常问的问题也就那些。


PS:@HW真香同学的建议


项目最好直接上大型项目先跟着敲下来一遍,再去慢慢研究其中用到的技术,尤其是比如遇到并发瓶颈怎么办,数据库缓存怎么优化,直接研究的话可能会觉得不知道到底怎么把这个和自己的project结合起来。


首先去了解项目的各个模块,然后将每一个模块自己敲一遍,思考作者的代码逻辑以及用到了哪些技术,甚至有时候可以自己做一些改进。最后,再思考和查阅资料,找出项目中值得改进的地方进行实践。


PS:@渴望0206同学的建议


关于项目,现在回头来看,除了网上烂大街的电商项目,其实还可以做一些其他。比如如何自己实现mini-SpringBoot,mini-Tomcat,mini-Nginx,mini-....,就是自己手写一个框架或工具。这样的尝试其实在github上也能找到不少参考的。

项目除了做电商系统之外,可以尝试自己去实现中间件的mini版。我有一个项目就是类似Dubbo的RPC框架,在实现一个框架时会涉及很多技术,面试问的也非常多。这是我做的RPC框架仓库,有兴趣的同学可以研究一下,其实还可以做很多改进的工作,如果有什么问题欢迎和我讨论。


实习


实习对于秋招而言非常重要。一方面,大厂实习经历本身就是一个加分项;更重要的是,实习时候你做的项目含金量更高,遇到不会的,还有很多同事可以问,可以更快地学到更多的东西。另外,还可以了解到公司的开发流程和技术栈。


所以,要尽早准备,春招实习生招聘积极去找实习,把它当作正式秋招的试炼,积攒面试经验。如果找到一份不错的实习,实习的时候要多看多学多问,为秋招做准备。如果学校实验室处于放养状态,也可以提早找一些日常实习。


当然,如果老板不允许实习,或者最终没找到满意的实习也没关系,也有很多同学没有实习经历,但是凭借扎实的基本功以及项目,秋招面试的时候也能拿到很多大厂offer。没有实习,就好好利用秋招前的时间,补充学习秋招需要的技术栈,夯实基本功。


秋招相关


关注时间


今年新浪和京东在9.1前就关闭了网申通道,我简历都没投上。所以大家一定要尽早关注公司的校招流程,可以记一下各公司的简历截止投递时间以及笔试时间,如果准备好了就可以投了,没有准备好就在截止时间之前投。


提前批or正式批


提前批早的公司可能6月就开始了,大部分公司7月开始提前批,提前批一般都免笔试直通面试,并且HC很多,所以准备好了就可以投了。提前批的面试难度并不会比秋招大,因为提前批人少HC多,正式秋招笔试+面试难度很可能会大于提前批。


有些公司提前批不通过会影响正式秋招,比如华为;有的不影响,比如拼多多,这个需要提前了解。如果觉得准备不充分,可以不投提前批,或者投一些自己不会去的公司提前批积攒面试经验。


投递方式


主要是官网投递和内推,墙裂推荐大家内推,秋招刚开始的时候很多内推是免笔试的,而且还可以让内推人帮你查面试进度和评级,内推主要在98或牛客上找。


面试技巧


  • 简历上的技术方向与项目一定要非常熟悉
  • 多刷牛客上的面经
  • 每次面试后复盘自己回答不好的问题
  • 回答问题时有意将话题引向你熟悉的技术

最后

今年的就业形势比去年更差,去年是中兴受影响,今年华为受影响缩招,互联网寒冬也导致大厂hc大幅减少。但是无论就业环境如何,只要同学们提前准备,一定能斩获心仪的offer,加油!


分享到:


相關文章: