3

面经分享:看非科班研究生如何转行斩获 ATM 大厂的 Offer ?(附干货分享)

 2 years ago
source link: https://studygolang.com/articles/31221?fr=sidebar
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
4a2046dd5b675fb1a80c6fde9f4acbe2.png

前言

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

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

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

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

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

  • 6月中旬阿里巴巴和字节跳动开启提前批
  • 7月中阿里开启正式秋招
  • 8月初腾讯开启秋招
    *t 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

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

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

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

幸运只给有准备的人,“狗屎运”并不是真狗屎

虽然自嘲自己走了狗屎运,但是我永远都明白一个道理:幸运永远只会留给有准备的人,机会来了,你得有能力才能抓住。

因此,在面试这些一线互联网公司之前,我早就开始做准备工作了,包括学习新的技术,提升自己的技术水平,甚至刷面试题,看面试帖,这些都对我的面试起到了极大的帮助,关于面试的准备,我主要是做了以下几个方面:

以下内容涉及到很多网盘资料(包括视频、笔记、技术文献以及面试题库),有需要的:点这里可以看到全部内容,免费进行下载

(1)通过视频来系统性地学习

大学学得内容广,但是泛,不够系统不够深入,所以只能够通过业余时间来“补课”。我的方式是自己搜罗整理了一套Java零基础的学习视频,从零开始学起,全部视频看完之后,基本上有一个非常清晰的思路和框架结构了。

c4fae29345a1850f8de7d2b4e2169e45.jpg

(2)阅读前辈的一些技术笔记

这些笔记是找学长和论坛上的技术牛讨来了,翻阅了不少,确实对很多技术点的认识有所帮助,学习到了不少的思路。

e09a88c4c453231bbe31ede54a6ecad4.jpg
835e8d96233a1473154b2332e3a0be20.jpg

(3)刷题备战,直通大厂

刷题是为了了解现在的大厂面试时会问到什么,另外也能够提升自己对技术的记忆点,使得在面试时更有底气。实际上,刷题时我们灵活一点,学会举一反三,在真正面试时还是能够起到一定作用的。

74086d6b576fd9f5cf37e87495fd3b14.jpg
86f48e0e82d368f890a18c32c676bd7f.jpg

总结

爱默生说:一个朝着自己目标前进的人,整个世界都给他让路。所以,作为二十岁的你,不惑很简单,多思考多规划,未来会更清晰,朝着自己的目标一步一步走下去,尽早地取得成功。毕竟,年龄在程序员界里,也是一种优势。

如果,你没有靠山,就让自己成为自己最稳的靠山吧!

以上文章中的资料,均可以免费分享给大家来学习,无论你是零基础还是工作多年,现在开始就不会晚。100%免费获取资料只需:
——点这里可以看到全部内容,免费进行下载


有疑问加站长微信联系(非本文作者)

280

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK