背景

最近秋招季,不知道参加校招的同学收获如何?

下面这篇文章来自 zz 学弟(稍作改动),作为非CS专业的选手,分享自己转行互联网,参与校招、斩获大厂 Offer 的经验。全篇干货满满,希望能给大家带来收获。

后续我将逐步找优秀的同学给大家分享校招经验,敬请期待。

前言

先介绍一下自己的情况吧,本科和研究生都是通信专业,本科是某 Top2,研究生是香港某大学。了解了通信行业的就业情况和工作内容后,大概今年3月份的时候开始想转互联网。

本人相关的基础情况是:学校学了C++、数据结构与算法以及计算机网络,做大作业和毕业设计用的 Java,毕业设计有接触机器学习。

当时是投递暑期实习,没有什么经验,以刷 LeetCode、复习计算机网络和看面经为主,最终面试的情况是:

  • 字节视频架构实习3面挂
  • 阿里蚂蚁金服交叉面挂
  • 腾讯TEG实习offer

因为参加过春招,所以我对秋招的时间点很敏感:

  • 6月中旬阿里巴巴和字节跳动开启提前批
  • 7月中阿里开启正式秋招
  • 8月初腾讯开启秋招
  • 9月基本都是Hr面和谈offer了

牛客网上看到很多人8月底才开始投递,在那边抱怨为什么很久没有面试,这是因为时间安排上出了问题。所以想去什么公司,就要尽早做好准备,关注对应的招聘公众号和牛客网信息。

下面,我将按照如下提纲来分享自己的一些经验,希望能给大家带来帮助:

  • 面经分享:阿里、字节、网易、shopee、美团
  • Offer情况与选择
  • 校招经验谈

阿里云

简历面

  • 自我介绍
  • 在腾讯实习了多久了、做了哪些东西、技术栈如何、毕业设计的项目
  • 最近在看的书(因为是非科班生,当时在看MySQL技术内幕和微服务设计,唠嗑了很久)

二面(P9)

  • 计算机网络:为什么要进行三次握手四次挥手、UDP如何可靠、FastTCP、Https建立连接的过程
  • 数据库:说说对 MySQL 的了解,索引的底层实现,Redis老生常谈(持久化、雪崩、击穿)
  • 算法题:记不清了,大概率 LeetCode 的简单题难度
  • 项目:很详细的问了我毕设的项目,因为我本科是通信,但是毕设是机器学习相关的,问得很详细,追问我觉得的创新点在哪,为什么要从这个角度去优化,落地场景如何,如果继续去做,优化点在哪

交叉面(P9)

  • 主要是问的项目,问了我的三段实习经历,其中2段是通信的,然后毕设项目和一个小程序项目,以我讲为主,问的时候基本围绕是项目怎么去实现的,技术难点在哪,现在来优化的话怎么进行优化。
  • 然后问了一下本科和研究生的课程情况,对于计算机专业,自己学了哪些东西,看了哪些源码(菜鸡只看了看Redis和ConcurrentHashMap)
  • 理论知识:数据库的事务、脏读、对锁有了解吗(我只答了定义、乐观锁悲观锁、怎么实现)、数据库优化

字节(飞书)

一面

  • 自我介绍
  • 俩算法题:单链表判断是否有环、LRU
  • 理论知识:浏览器输入一个url后的具体过程、HTTP与HTTPS、TCP三次握手四次挥手、linux调优、进程调度算法

二面

  • 自我介绍
  • 实习情况、学校学了哪些计算机相关课程
  • 俩算法题:两链表交叉的第一个节点、二叉树的左视图
  • 大量轰炸操作系统(这个是我的薄弱项):进程线程、进程通信、进程调度算法、死锁、逻辑地址到物理地址的转换、虚拟内存

网易云音乐

一面

  • 自我介绍、为啥来互联网、学了哪些计算机的课程
  • 理论知识:TCP如何实现可靠的、TCP和UDP异同、数据库基础知识、数据库结构优化
  • 算法题:链表反转
  • 实习做了哪些东西、小程序的项目、毕设机器学习项目
  • 作为非科班生的来互联网的准备、规划

二面(主管面)

  • 自我介绍
  • 实习情况
  • 理论知识:数据库范式、封锁类型、MVCC、乐观锁悲观锁、数据库索引的实现原理、B+树与B树、分布式的了解、线程不安全的情况、如何避免死锁、看了哪些源码
  • 实习做了哪些东西
  • 数据库日志相关的一个场景题

Shopee

一面

  • 自我介绍
  • 算法题:dfs实现层序遍历
  • 理论知识:数据库基础知识、B+树与B树、LSF、进程线程协程区别、linux调优、TCP老生常谈、Google的BBR算法
  • 实习的情况、小程序的项目

美团

一面

  • 自我介绍
  • 算法题:无重复字符的最长子串
  • 理论知识:TCP老生常谈(三次握手四次挥手、TCP可靠实现、与UDP区别)、进程线程、进程调度、跳表、固定分区与可变分区、段页式存储、页面置换算法、死锁定义、死锁条件、如何预防死锁

二面

  • 自我介绍
  • 实习情况
  • 场景题:秒杀系统
  • 理论知识:JAVA设计模式、进程通信、锁和 ThreadLocal
  • 毕设机器学习项目、小程序项目
  • 对于非科班转科班的看法、规划

Offer情况与选择

目前手里的Offer情况是,腾讯TEG事业群、阿里云基础产品事业部、美团到店事业群、网易云音乐,岗位都是后台开发。

来谈谈我的Offer选择吧,具体怎么选,这个见仁见智,我个人是从城市、公司、部门、技术、岗位、薪资这几个角度来考虑的。

城市

在北京上的大学,上海深圳都呆了不短的时间,由于气候和空气原因,我是坚决不选北京的。

上海深圳房价较高,杭州略低,但是杭州房价有点虚高,对应的医疗方面我不了解,没有纳入考虑范畴。

教育方面还不在考虑范围内(现在孩子都没,等有孩子上学了在哪工作还不知道呢),深圳和上海应该比杭州热一点,可游玩性和舒适度我更倾向上海和杭州(杭州到上海高铁75块,很近的)。

公司、部门

我个人倾向是大厂更好,大厂在员工福利、培养方案、晋升制度上更为完善,阿里和腾讯得分。

谈到部门,这个其实是重点,阿里、腾讯、百度、美团、字节、滴滴其实都是很大的公司了,不同部门之间的区别其实很大。

一个好的事业群,不论是人才培养、职位晋升、福利待遇上面都是远高于边缘部门的。

  • 美团到店比较中庸;
  • 网易云音乐是我很喜欢的产品,但是目前受到版权较少的困扰还未有明显突围的方向。
  • 腾讯的事业群是TEG,压力没那么大,相应的待遇上比WXG和IEG差一些。
  • 阿里是在阿里云,我对云这块比较熟悉,云市场上阿里云目前遥遥领先腾讯云和华为云,也跟面试官聊过好几次关于阿里云的发展方向,因此比较中意阿里云。

技术

技术成长看公司也看你的技术栈。腾讯、百度的 C++ 和 PHP 较强,字节这边应该是都有,但是今年招聘情况来看对 Go 的需求很大,阿里这边的 Java 就不必说了,我个人更倾向 Java,看好 Java 和 Golang 的发展,因此阿里得分。

岗位

岗位都是后台开发,没区别。

薪资

薪资上腾讯和阿里相当,美团得靠argue,云音乐略低一点(网易大本营还是游戏),薪资上其实我给的权重不是很高,我觉得差距在5W内都能接受。

作为应届生的第一份工作,我觉得更应该考虑的是平台和技术成长,用发展的眼光来看待自己的职业生涯。

校招经验谈

我是一个做事喜欢讲究方法论的人,要做一件事,搜集相关信息,理清楚现状,看到事物的本质,找到自己的定位,做好规划,再稳步推进。

下面是一些资料,希望能给大家帮助:

  • 招聘信息渠道:在互联网行业,一般是公司官网、牛客网、官方招聘公众号、内推群、非官方号(OfferShow等等)。
  • 招聘信息时间线:可以去官网和牛客网,看看前一年的招聘时间,和牛客网前一年的帖子,知道大概的开始招聘的情况,避免投递过晚或者大量笔试面试堆在一起的情况。
  • 实习:时间允许的话,最好实习,尤其是大厂的实习,能作为简历的敲门砖,面试的话题点,我在牛客网上甚至看到过阿里、字节、腾讯都有实习经历的同学。
  • 笔试书籍:强推《剑指offer》、《编程之美》
  • 刷题:我是以LeetCode为主,一开始也不会,从看答案到自己慢慢想,再到后面的一题多解
  • 资源网站:图解算法 、AlgoCasts算法视频Java Guide

数据库、计算机网络、操作系统这块的资料,作为一个非科班生,我觉得自己准备的也不好,就不献丑啦。

行业越来越内卷,再加上今年的疫情,大量海归回流,大家找工作都很艰难。

牛客网上每天都有不少负能量爆棚的帖子,但是心态是要靠自己调节的,负能量爆棚的帖子下面往往都是很多人鼓劲,找到情绪的宣泄点,做好生活、学习、工作的平衡,道阻且长,行则将至,与诸君共勉!

最后再分享一下个人总结的面试资料,有需要获取到借鉴参考的朋友:帮忙转发后