【经验分享】回馈牛客,阿里云后端春招+实习经历
过年在家闲着没事干,打算总结一下去年的春招+实习经历,回馈牛客。
春招经历
个人情况
资历:985本科2020届,软件工程专业,GPA前50%,coding能力中等偏上,
若干院校级优秀称号,两个省部级专业竞赛水奖,学院技术社团负责人,有Web前后端开发经历。
投递:阿里、腾讯、华为、字节跳动、小米、Bilibili、猿辅导、酷狗、虎牙、中国移动,均偏后端方向
参与笔试:阿里、腾讯、华为、字节跳动、酷狗、虎牙
发起面试邀约:阿里、腾讯、华为、酷狗、中国移动
参与面试:阿里、腾讯、华为
收获意向书:阿里、华为
最终去向:阿里云后端开发
春招历程
准备面试:3.18~4.30
参加面试:3.27~5.10
收获意向书:5.10~5.15
面试准备
为什么是3月18才开始呢?我在之前是有保研倾向的,就是保研和工作两条路都有打算。对于保研这条路而言,我有自己感兴趣的方向,英语六级也刚过,学业成绩刚好能压线进圈,但不太稳。所以打算两边准备,反正就试试,如果能收到大厂offer的话就还挺赚的,说不定直接转正就不读研了。3月18之前我们学院安排大家在培训机构里面实训,我觉得三心二意复习效果不是很好,所以等到这个时候才开始。
我对照着技能树看了一下,大部分知识点都是比较熟悉的,平时也会反复通过实践中(包括coding和实验)的案例碎片化地巩固一些知识点,所以我对技能树上面大部分的概念都比较熟悉,一些细节可能了解的深度不够。我几乎所有专业基础课的成绩也都在85分以上,并没有明显的弱点,基础知识还算牢固。所以结合我的情况来看,我要干几件事:
- 对照技能树,复习专业课上学过的基础知识,拓展学习面试中的高频知识点。
- 将实践中的碎片化的知识进行整理与总结,形成对所有知识系统性的认识。
- 针对面试中的常考问题,尝试使用自己的语言表达。
- 刷一遍《剑指Offer》、写一遍七大排序,练习其它常见的编程题。
- 回顾一遍简历上的项目,尽管它们都很水。
具体来说,到三月底为止,我平均每天刷4道剑指offer,到最后也只剩几道题没刷完,七大排序也写了一遍。
基础知识方面,我拿了cyc同学在github上的面试指南和技能树照着看,对于需要复习的知识点,看一遍过,对于没学过需要拓展的知识点,多用谷歌和度娘在网上搜搜相关文章,深刻理解一下。必要的时候,选读一些经典书籍,比如我就选读了《深入理解JVM》。
同时,在复习、拓展和总结的过程中,要结合之前的实践对知识点产生自己的理解。
最后,别忘了知识点不光要理解,还要会表达哦~
其实大部分技术都万变不离其宗,特别是后端方向只要专业课基础打好,有一定的实践经历,那些面试高频知识点都可以很快搞定!所以其实我一个月差不多就复习完了。
面试经过
我一共参与了11场面试,阿里7场,腾讯2场,华为2场。
阿里一共是四面技术面,其中二面最难,加一面HR面,后面还追加了一面技术和一面HR。几乎全是电话面,不是很看重笔试和coding。总体持续时长从4月开始一共一个月多一点。
我第一次面试是3月27面的腾讯,不出意外地挂了,一个月后转到另一个BG鞭尸一下,后面5月中旬又来了一个面试电话,我不想面,拒掉了,我面到的两面也是电话面。
华为是三道笔试题里面拿下一道笔试题就可以晋级现场面试,一面技术一面HR,水水的,我基本就是在学校里面干过什么就说什么,基础问得也不多,最后也是过了。
除了面试之外,我还参加了虎牙、酷狗、字节跳动的笔试,其中字节跳动的笔试挂了,另外两家的实习招聘像是走过场。
这里记录下了三面技术面的经历,大家可以参考一下:
实习经历
我从6月8日起前往杭州阿里云实习,8月底到9月进行转正答辩,收到意向书,然后回学校回家休息了一个月,后面又继续实习到了年底。实习总时长接近半年。下面分享一下实习期间做的事和个人体会。
技术栈
阿里的后端当然是Java+Spring,包管理用的Maven,版本管理用的Git,除此之外,阿里内部还有很多框架和平台,比如微服务框架Hsf、配置中心Diamond、阿里基于各种缓存数据库自研的Tair等,这些工具也只能等进来以后才能了解,但其实可以提前了解同类系统。
业务
实习期间我主要负责阿里云内部支撑平台和附属工具、接口的开发。
主要是阿里云APP某个页面的数据接口和某个消息推送业务,有时候暂时没有需求也会负责其它接口的开发。是一个不折不扣的API boy。
体会
技术
- 阿里内部的技术体系建设可以说是比较完善了,很多情况下都不需要自己造轮子来完成一个业务。
- 基础知识真的很重要,当数据量膨胀的时候,各种问题都来了,这时候算法复杂度分析、数据库系统原理、操作系统并发模型全都可以用上。我还亲眼见到了一个外包同学把复杂度从O(n)优化到了O(n^2)的有趣情况,原因就是没有养成复杂度的意识。写一段代码,就应该考虑一下它的复杂度,这应该成为一种意识。
- 虽然基础知识很重要,但是只懂基础不完全够,还需要的是综合分析的能力。很多时候一个系统的设计,综合应用我们掌握的技术可以有很多种解决方案,但是你要明白哪种方案采用了哪种技术,会对系统的各种质量属性有什么影响,影响大概有多少,最后再想想哪种解决方案更适合这个系统的设计。
- 在大厂做事确实是拧螺丝,但是这个螺丝没点力气还真不好拧。
- 在学校里学了一个学期软件架构和软件工程相关的知识,不如来公司里实习一个月。一个月之后,课本上说的各种现象你都深有体会,醍醐灌顶。
环境
- 同事和主管都很Nice,感觉大家都有很强的coding和系统分析设计能力。团队平均年龄大概接近30岁。
- 在大公司做事会比较规范。比如说当甲方有业务需求的时候,应该先对接产品,产品再联系开发,让甲方直接联系开发会让项目产生一些问题。
- 当一个业务只剩下coding的时候,那可舒服了。在阿里很多情况下一个业务不是你一个人能完成的,因为业务需要的数据你没有啊!这时候就需要找到有这个数据的团队,让人家给你开个接口,或者直接给你数据。所以一个产品的开发不是coding就能完成的,还需要沟通和协调其它团队。所以说技术不是全部。
- 研发团队的男女比例是真的很大甚至在实数范围内不存在,所以我觉得妹子挺有性别优势的(疯狂暗示)。
工作状态
阿里云的996目前还比较少,大部分是9(6~9)5,而且由于我是实习生所以事情会比正式少一些,而且没有KPI压力,所以感觉还比较舒服。但是像上面所说的,有一些业务就是需要你去push进度的。有时候别人也会push你。
加班极少情况下会到11点,极少情况下半夜起来改bug。但是我认为作为年轻人做事情的主动性还是要有的。
#阿里云##字节跳动##腾讯##华为##实习##面经#