图 by:于海童@清华
关于号主:程序猿石头(ID: tangleithu),现任阿里巴巴技术专家,清华学渣,前大疆后端 Leader。欢迎关注,交流和指导!
最近秋招季,不知道参加校招的同学收获如何?
下面这篇文章来自 zz 学弟(石头稍作改动),作为非CS专业的选手,分享自己转行互联网,参与校招、斩获大厂 Offer 的经验。全篇干货满满,希望能给大家带来收获。
后续我将逐步找优秀的同学给大家分享校招经验,敬请期待。
先介绍一下自己的情况吧,本科和研究生都是通信专业,本科是某 Top2,研究生是香港某大学。了解了通信行业的就业情况和工作内容后,大概今年3月份的时候开始想转互联网。
本人相关的基础情况是:学校学了C++、数据结构与算法以及计算机网络,做大作业和毕业设计用的 python,毕业设计有接触机器学习。
当时是投递暑期实习,没有什么经验,以刷 LeetCode、复习计算机网络和看面经为主,最终面试的情况是:
字节视频架构实习3面挂
阿里蚂蚁金服交叉面挂
腾讯TEG实习offer
因为参加过春招,所以我对秋招的时间点很敏感:
6月中旬阿里巴巴和字节跳动开启提前批
7月中阿里开启正式秋招
8月初腾讯开启秋招
9月基本都是Hr面和谈offer了
牛客网上看到很多人8月底才开始投递,在那边抱怨为什么很久没有面试,这是因为时间安排上出了问题。所以想去什么公司,就要尽早做好准备,关注对应的招聘公众号和牛客网信息。
(石头注)时间点确实很重要,不少人包括很多清华的学弟在 9 月中下旬才来找我帮忙内推,而这个时候很多部门都已经招满了,所以比较尴尬。除非特别出色的,我会去帮忙问各个部门是否招满,是否还有 HC。
关于内推更多的内容可参考石头之前的这篇分享:互联网大厂内推求职的正确姿势?
下面,我将按照如下提纲来分享自己的一些经验,希望能给大家带来帮助:
面经分享:阿里、字节、网易、shopee、美团
Offer情况与选择
校招经验谈
自我介绍
在腾讯实习了多久了、做了哪些东西、技术栈如何、毕业设计的项目
最近在看的书(因为是非科班生,当时在看MySQL技术内幕和微服务设计,唠嗑了很久)
计算机网络:为什么要进行三次握手四次挥手、UDP如何可靠、FastTCP、Https建立连接的过程
数据库:说说对 MySQL 的了解,索引的底层实现,Redis老生常谈(持久化、雪崩、击穿)
算法题:记不清了,大概率 LeetCode 的简单题难度
项目:很详细的问了我毕设的项目,因为我本科是通信,但是毕设是机器学习相关的,问得很详细,追问我觉得的创新点在哪,为什么要从这个角度去优化,落地场景如何,如果继续去做,优化点在哪
主要是问的项目,问了我的三段实习经历,其中2段是通信的,然后毕设项目和一个小程序项目,以我讲为主,问的时候基本围绕是项目怎么去实现的,技术难点在哪,现在来优化的话怎么进行优化。
然后问了一下本科和研究生的课程情况,对于计算机专业,自己学了哪些东西,看了哪些源码(菜鸡只看了看Redis和ConcurrentHashMap)
理论知识:数据库的事务、脏读、对锁有了解吗(我只答了定义、乐观锁悲观锁、怎么实现)、数据库优化
自我介绍
俩算法题:单链表判断是否有环、LRU
理论知识:浏览器输入一个url后的具体过程、HTTP与HTTPS、TCP三次握手四次挥手、linux调优、进程调度算法
自我介绍
实习情况、学校学了哪些计算机相关课程
俩算法题:两链表交叉的第一个节点、二叉树的左视图
大量轰炸操作系统(这个是我的薄弱项):进程线程、进程通信、进程调度算法、死锁、逻辑地址到物理地址的转换、虚拟内存
自我介绍、为啥来互联网、学了哪些计算机的课程
理论知识:TCP如何实现可靠的、TCP和UDP异同、数据库基础知识、数据库结构优化
算法题:链表反转
实习做了哪些东西、小程序的项目、毕设机器学习项目
作为非科班生的来互联网的准备、规划
自我介绍
实习情况
理论知识:数据库范式、封锁类型、MVCC、乐观锁悲观锁、数据库索引的实现原理、B+树与B树、分布式的了解、线程不安全的情况、如何避免死锁、看了哪些源码
实习做了哪些东西
数据库日志相关的一个场景题
自我介绍
算法题:dfs实现层序遍历
理论知识:数据库基础知识、B+树与B树、LSF、进程线程协程区别、linux调优、TCP老生常谈、Google的BBR算法
实习的情况、小程序的项目
自我介绍
算法题:无重复字符的最长子串
理论知识:TCP老生常谈(三次握手四次挥手、TCP可靠实现、与UDP区别)、进程线程、进程调度、跳表、固定分区与可变分区、段页式存储、页面置换算法、死锁定义、死锁条件、如何预防死锁
自我介绍
实习情况
场景题:秒杀系统
理论知识:JAVA设计模式、进程通信、锁和 ThreadLocal
毕设机器学习项目、小程序项目
对于非科班转科班的看法、规划
目前手里的Offer情况是,腾讯TEG事业群、阿里云基础产品事业部、美团到店事业群、网易云音乐,岗位都是后台开发。
来谈谈我的Offer选择吧,具体怎么选,这个见仁见智,我个人是从城市、公司、部门、技术、岗位、薪资这几个角度来考虑的。
在北京上的大学,上海深圳都呆了不短的时间,由于气候和空气原因,我是坚决不选北京的。
上海深圳房价较高,杭州略低,但是杭州房价有点虚高,对应的医疗方面我不了解,没有纳入考虑范畴。
教育方面还不在考虑范围内(现在孩子都没,等有孩子上学了在哪工作还不知道呢),深圳和上海应该比杭州热一点,可游玩性和舒适度我更倾向上海和杭州(杭州到上海高铁75块,很近的)。
我个人倾向是大厂更好,大厂在员工福利、培养方案、晋升制度上更为完善,阿里和腾讯得分。
谈到部门,这个其实是重点,阿里、腾讯、百度、美团、字节、滴滴其实都是很大的公司了,不同部门之间的区别其实很大。
一个好的事业群,不论是人才培养、职位晋升、福利待遇上面都是远高于边缘部门的。
美团到店比较中庸;
网易云音乐是我很喜欢的产品,但是目前受到版权较少的困扰还未有明显突围的方向。
腾讯的事业群是TEG,压力没那么大,相应的待遇上比WXG和IEG差一些。
阿里是在阿里云,我对云这块比较熟悉,云市场上阿里云目前遥遥领先腾讯云和华为云,也跟面试官聊过好几次关于阿里云的发展方向,因此比较中意阿里云。
具体部门的业务找内推人和石头学长也有了解,现状和前景都很不错。阿里这边我认为的比较好的部门有:阿里妈妈、淘系核心、天猫、阿里云,钉钉目前也是非常红火的(最近刚刚和阿里云智能融合)。
技术成长看公司也看你的技术栈。腾讯、百度的 C++ 和 PHP 较强,字节这边应该是都有,但是今年招聘情况来看对 Go 的需求很大,阿里这边的 Java 就不必说了,我个人更倾向 Java,看好 Java 和 Golang 的发展,因此阿里得分。
石头注:学弟上面其实仅仅提到了编程语言,其实对于大多数程序员而言,我们在讨论技术的时候,其实不应该只限制于编程语言,毕竟语言知识帮助我们实现具体的业务需求的工具而已。
石头在这篇文章谈了下关于大厂码农的基本能力的观点,仅供参考:从一道面试题谈谈一线大厂码农应该具备的基本能力
岗位都是后台开发,没区别。
薪资上腾讯和阿里相当,美团得靠argue,云音乐略低一点(网易大本营还是游戏),薪资上其实我给的权重不是很高,我觉得差距在5W内都能接受。
作为应届生的第一份工作,我觉得更应该考虑的是平台和技术成长,用发展的眼光来看待自己的职业生涯。
我是一个做事喜欢讲究方法论的人,要做一件事,搜集相关信息,理清楚现状,看到事物的本质,找到自己的定位,做好规划,再稳步推进。
下面是一些资料,希望能给大家帮助:
招聘信息渠道:在互联网行业,一般是公司官网、牛客网、官方招聘公众号、内推群、非官方号(OfferShow等等)。
招聘信息时间线:可以去官网和牛客网,看看前一年的招聘时间,和牛客网前一年的帖子,知道大概的开始招聘的情况,避免投递过晚或者大量笔试面试堆在一起的情况。
实习:时间允许的话,最好实习,尤其是大厂的实习,能作为简历的敲门砖,面试的话题点,我在牛客网上甚至看到过阿里、字节、腾讯都有实习经历的同学。
笔试书籍:强推《剑指offer》、《编程之美》
刷题:我是以LeetCode为主,一开始也不会,从看答案到自己慢慢想,再到后面的一题多解
资源网站:图解算法 、AlgoCasts算法视频、Java Guide
数据库、计算机网络、操作系统这块的资料,作为一个非科班生,我觉得自己准备的也不好,就不献丑啦。
行业越来越内卷,再加上今年的疫情,大量海归回流,大家找工作都很艰难。
牛客网上每天都有不少负能量爆棚的帖子,但是心态是要靠自己调节的,负能量爆棚的帖子下面往往都是很多人鼓劲,找到情绪的宣泄点,做好生活、学习、工作的平衡,道阻且长,行则将至,与诸君共勉!