1. 总结
1.1. 职位信息
每天 中午花10分钟 用 腾讯文档 校招信息表(格式可参考该文中的表格)对感兴趣的职位进行收集。职位信息来源:
校招信息
- 校招薪水(表格底部 可切换到"独家薪语"等表格)
- 麦芒求职校招信息(表格底部 可切换行业)
- 牛客网-校招信息表
- 牛客网-校招信息汇总表(表格底部 可切换其他表)
- 国企汇总表、事业单位汇总表、银行等汇总表
- 牛客网-21届提前批汇总
- 笔试日历-每天更新,如果有感兴趣的公司,可以在校招日程中查询该公司日程安排,并在牛客网搜索框搜索内推
- 如果要找某个地方的工作,可以使用就业网筛选功能,比如西电就业网,西交,或者看地方高校就业网比如重大、重邮、西南大学智能云就业平台、西南大学、电子科大四川岗位、重庆岗位、川大重庆四川岗位(需自己重新筛选地点)
- 成都重庆的研究所:重庆声光电(9/24/26/44所)、东方红卫星移动通信,成都:611所、10所(天奥)、29所、30所、航天七院、航天九院
- 花 5分钟 看招聘相关的QQ群、微信群、微信订阅号和各大公司的微信招聘公众号
实习信息
1.2. 面经
网络面经
- 牛客优秀面经、牛客面经汇总(可按公司名搜索面经),如果你面试前几天有人分享相关面经,面经值得参考;平时看牛客的面经,可这样搜索"前端 面经"。注意,没有必要去看别人是否拿到offer的贴子。
- 自己的牛客收藏夹,根据tag(比如公司名)来针对性地看
- chrome面经文件夹
- 如何获得15家公司的 offer(面试银行、中国移动等国企有必要参考)
如何有效整理面经
参考Ray_wu
- 每次接到面试通知后,立刻开始整理这家公司这个岗位的面经。比如在牛客搜索腾讯,点击页面下方对应岗位。
以公司为大目录,基础知识科目为小目录(比如“腾讯/操作系统”、“腾讯/计网”、“腾讯/数据结构”……)分类整理牛客上搜到的面经,然后一科一科地看自己是否还存在知识漏洞,有的话进行相关的扩展学习。而且可以从中发现这家公司的提问重点等等规律,甚至可能可以预测到你即将被面试的原题。 - 有必要在每一场面试后记录自己被面的所有问题,因为多面几场你就会发现,不同的面试官根据你的简历提出的问题,其实大都差不多,自己的面经才是最有价值的面经。
我的面经
12月份回了北京实验室后打算找一下安全岗。最近做了些安全项目,毕竟自己本科和硕士阶段都是安全专业,还是想找找安全岗。12月份秋招补录阶段面了两家公司的安全岗,有一家面得还可以但是没过,估计是没hc了,所以大家要focus到秋招正式批。
做了安全相关实验后觉得安全涉及的计算机知识点更多,可能更有挑战性,但是还是围绕代码做事情,其实无论干啥干久了都会枯燥,把职业作为兴趣不太实际,让你开心的还是美食、电视剧之类的东西。后面我可能会看看春招是否有大城市好公司的安全岗,不然还是在家所在的城市工作更有幸福感。
注意自己所做的项目与岗位的匹配度。
- 找的岗位最好与所做的项目相关
以我自己为例,研究生阶段做的项目与漏洞库数据有关,用到的技术是自然语言处理,这一两个项目用到的都是很简单的自然语言处理技术,为了提高技术,参加了几个自然语言处理相关的比赛,后来了解到,如果没有算法的顶会论文、没有算法的实习,要想找一个比较好的公司的算法岗是很难的。所以放弃找算法岗了(后面自己投了一家算法岗,简历都没过)。漏洞库项目和安全关系也不大,后面面试360的安全岗时也没有优势。后面面试前端开发时,只有少数面试官会问这个漏洞库项目。面试后端时,倒是面试官会问一些相关问题(所以如果找开发岗,那么做AI方向可能比物联网安全方向更好)。而自己实验室搞物联网安全的同学,要找安全岗的话,就相对比较容易,由于项目对口,面试官基本会聊很多项目内容,问到的单纯地理论知识就比较少,有些公司还会省去安全岗(比如今年的猿辅导)的笔试环节。而当我面前端时,由于对口的项目只有一个(另加一个本科的实习),面试官就会问较多的理论知识,由于前端的理论知识太多了,不可能把前端每个方面都掌握得很熟悉,问到不熟的地点就gg了,所以面试难度就比较大。 - 增加与岗位相关的项目、实习经历
比如当我决定放弃投算法岗时,决定做前端,本科有前端的基础,但没有现在比较火的前端框架的项目,所以在面试前做了一个vue.js的项目,加上本科前端的实习,我就以为可以面前端了,但面试时,我发现这点经历要应付面试真是捉襟见肘,就如上一段所说,由于项目经历少,面试官就会问较多的前端理论知识,你不可能把前端每个方面都掌握得很熟悉,所以面试难度就比较大。所以赶紧找假期或者日常实习,如果导师不让实习,有没有相关的项目经历,那就可以到(慕课网、github)找至少两个比较大的项目来练手。
其实有点后悔研究生阶段做NLP而不做实验室的另一个研究方向:物联网安全,如果做物联网安全的话,面安全岗就比较容易,而自己找前端岗则比实验室其他几个找安全岗的同学花费了更多的时间,要抽时间学前端理论知识、做前端项目、刷更多的编程题(主要是牛客的剑指offer),结果几个大厂的前端offer都没拿到,主要原因还是做的前端项目太少,前端理论知识也不够扎实。从这个方面来看的话,选择真是比努力更重要。
但我后面和自己和解了,大厂的岗位基本都在北上广深杭成,而自己以后肯定是要回重庆(家人在重庆、重庆房价比较低),而重庆基本没有安全岗,到时候从大城市跳槽回重庆比较难。最后自己确定的offer是开发,所以以后即使要跳槽也比较容易。比较开心的是,在成渝投的开发岗基本都拿到了offer。
除了少数大厂,我投的其他大部分公司都在成渝,对于这些公司我主要是投的开发岗,包括以下公司。
* 重庆:东方红卫星移动通信(航天科技子公司,前端开发)、长安工业(研究所,通信开发)、联想(CNBU部门,通信开发)、长安汽车(智能化研究院,车联网大数据开发)、中移物联网(前端开发)、重庆农商行(待遇比四大行好,面试过了笔试没过),其他没面的有中治赛迪、中兴(有同学说加班多工资少,所以没面)、紫光展锐(通信开发,工资、加班强度与联想差不多,拿到联想offer后得知联想、紫光展锐要加班,就没面紫光展锐了)、浪潮、京东方
* 成都:10所(面试官把我从前端开发转为信息安全工程师了)、30所(中国网安,前端开发)、中电网联安瑞(后端开发)
* 其他地方:宁波银行(总行金融科技岗)
对比offer时,除了考虑工资外还要考虑地点、加班情况、职业发展、岗位是否喜欢等等。后面自己也在私企和国企offer之间徘徊过,虽然国企的工资比私企一年少税前8万左右,但国企的加班较少(也有少数私企不加班),时薪还行,而且不用太担心被裁,压力较少,以后的身心较为健康。举个科研的例子,我在疫情期间在家科研时,在家效率低加上各种push,过着9117的生活(每天要做一家人的饭,每每隔一天要花大概一个小时去看外甥女姐姐她们,所以办公效率比较低),很少锻炼,过得很累,身体差了很多,而在学校科研时基本过的是885的生活,一周游泳两次,有时周末还从永乐庄跑步到雁栖镇吃早餐。对于岗位,我对私企的通信开发不感兴趣。另外,从私企跳槽到国企较难,国企、银行一般只进行校招。所以综合下来,自己选了国企(还有一方面原因是自己太菜,面字节跳动和腾讯都挂了,要是有个大厂offer,即使是在其他城市,只要工资给得够高,我大概率会去大厂)。
时间安排建议:如果缺少与岗位匹配的项目,建议在6月及之前做几个项目,在7月、8月刷牛客的剑指offer和复习,有的公司7月就开始正式批了,所以得趁早复习,我7月底才才开始刷剑指offer,时间有些晚了。对于复习,可以在牛客找岗位的面经,一面比较有参考价值,可以从一面面经中收集一些高频问题。其他复习资料可以参考本文后面提及的资料。
岗位内卷强度排名:算法>>后端>前端>客户端。
有很大帮助的app/网站:牛客网、脉脉、offershow小程序、滴答清单(电脑、手机同步)。
记住:没有最好的offer,只有最适合自己的offer。
其他注意事项
- 简历:文档->job->简历填写方法.docx
- 面试技巧:文档->job->面试技巧.docx
- 签约、三方:文档->job->签约、档案.docx
1.3. 整体面试过程
A. 提前批 & 正式批
- 注重提前批。8月提前批基本没有笔试,9月正式批有笔试;前者基本都是线上,后者基本都有线下面试(不过今年由于疫情原因大部分公司都采取线上面试)。有的公司的提前批面试会影响正式批(比如支付宝),有的不会(比如字节跳动)。
- 面试顺序:面试互联网公司之后再面试银行,银行一般在9月底开始笔试,刚好互联网面试已经结束了。开始不必特意准备银行,面试互联网公司之后再准备银行。
B. 注意
- 这段时间手机不要静音
- 硕士参与银行现场面试需要携带本科毕业证、学位证原件,英语四六级证书原件、成绩单
1.4. 具体面试过程
A. 选择公司、部门
- 银行分行与总行区别:省分行要轮岗一年/半年(去基层网点)
- 公司有的部门是边缘部门,多搜索,具体见 E. 搜索公司评价
B. 内推、网申
- 最好找师兄师姐内推,方便跟进进度
- 其次找牛客等的内推
C. 投递简历
- 简历填写方法:文档->job->简历填写方法.docx
- 在简历接收截止日期提前一周提交简历,最后一天提交可能不收简历了
- 校招信息表"已完成"这一列 记录投递、笔试等时间。如果拖的时间比较长,应该是被拒了。
D. 笔试、面试
- 面试技巧:文档->job->面试技巧.docx
- 看面经
- 笔试可以选择编程语言,语言通常包括c、c++、java、python,可能会有JavaScript,有的公司前端笔试编程题居然没有JavaScript的选项就很神奇。面试遇到编程题如果不会可以让面试官给一点提示。确实不会可以写下伪代码说下自己的思路。确确实实不会就说自己不会。
- 如果公司不愿意说具体offer或者其他信息,可以找师兄师姐帮忙问一下
E. 搜索公司评价
搜索公司的评价:
- 搜索部门评价
- 搜索有无毁约的情况,有的公司在入职不久就把你裁了
- 搜索下班时间
搜索渠道:
- 问hr,问部门具体做什么之类问题,了解全面
- 脉脉、牛客。看脉脉搜索结果中的“职言交流”,搜索团队是否效益不好、有裁员动态;在牛客搜索相关信息。
- 师兄师姐,或者同学的师兄师姐,问是否了解某个部门。
F. 薪酬、签约等
- 搜索一下如何计算税后工资,看印象笔记《618师兄师姐求职分享》。向hr问清楚自己和企业各自的公积金缴纳比例、基本工资、基本工资与绩效占整体工资的比例,年终奖、餐补房补、加班情况,银行hr一般不说清楚,最好打听到
- 面试时间可以写进去,如果比较长,应该是被拒了
- 签约、三方:文档->job->签约、档案.docx
G. 总结
多把问到的问题总结,下次问到就会回答了
2. 岗位
2.1. 情结
作为网络空间安全专业的学生,我对安全岗位是有一些憧憬的。然而,硕士期间研究的内容与安全关系不大,而个人并没有很多精力研究安全,现在到了找工作的节骨眼,只有根据目前已经做过的项目和实习来选择感兴趣的工作了。
2.2. 计算找的岗位
打算找的岗位是开发(主要是web前端开发)以及算法。
- 本科期间做过web前端开发的实习,而自己对web前端开发也比较感兴趣。以后找工作所做的准备主要针对该岗位。
- 硕士期间做的项目主要是和漏洞库相关的,用的技术主要是深度学习和自然语言处理。对算法原理有了解,也用keras和pytorch写过算法,但算法的竞争是很激烈的,自己对算法又不是很感兴趣,可能会投少量算法岗。
2.3. 职业规划
在一次web前端培训qq群的直播中,老师分享了web前端学习路径,那时我才发现我之前的计划以及现在的计划,都只是web前端的入门,而要实现提升,则需要学习“大前端”和“设计模式”,虽然现在对这些还不懂,但以后的职业规划需要渐渐朝着这个方向前进。
3.具体计划
下面是一些具体的计划,目前已经完成了一部分,正在继续实施中。可在github、牛客网搜索相关资料。
3.1. 代码
无论是搞前端还是其他岗位,必须把代码能力掌握得很好。
书籍
- 《漫画算法》
- 《数据结构与算法JavaScript描述》
训练平台
- 牛客的剑指offer(剑指offer里面的题基本都要考)
- leetcode hot 100
- 赛码网
编程技巧
主要包括:
技巧(参考Ray_wu):
- 逐渐脱离或者直接脱离IDE,一天5-10道题,开始较困难,后面越来越简单。
- 先刷剑指offer,看一道做一道可能是全凭瞬间记忆,看完整本书再去做可能你根本啥都没记住。所以可以采取看三题,去牛客线上编程做三题的策略,高效地学习别人的思路并且转化为自己的东西。
- 再做leetcode top100。不能光刷题,光刷题会让你立刻忘光光。要有所总结,按基本数据结构以及排序、二分、动规等常见算法,把做过的高频题分类整理好,并且写详细的注释说明自己当下的思路(因为真的很容易忘)和写这道题时犯过哪些错(因为真的很容易在面试写code的时候一紧张就再犯)。
- 这份算法总结不求量多(总结可以参考wikiwen的分类总结方法),每个分类平均收录四五个常见题型就够,关键在于写思路和易错点,方便自己回忆复习。
有这份算法总结的目的是,每次面试前抽30min把自己分类好内容看一遍,那么所有面试中的算法部分你都可以轻松面对,我碰到的70%的题或核心思路都一模一样在自己的题库里收录。 - 我实际只刷了一遍剑指offer,还没来得及好好总结,就开始繁忙的笔试面试了,大家要早点刷题呀,至少6月份得开始刷题了。
程序员客栈的方法:
- 第一遍:可以先思考,之后看参考答案、结合其他人的题解刷。思考、总结并掌握本题的类型的思考方式、最优题解。
- 第二遍:先思考,回忆最优解法,并与之前自己写过的解答作比对,总结问题和方法。
- 第三遍:提升刷题速度,拿出一个题,就能够知道其考察重点,解题方法,在短时间内写出解答。
3.2. 前端
以后主要精力花在前端。
书籍
主要包括:
实践
主要包括: 慕课网(包括免费的和付费的课程)
知识点总结
参考
3.3. 计算机网络
知识点总结
- 一文帮你理清面试知识点(不只是包括计算机网络)
- CS-Notes-计算机网络
- 卢本伟广场-计算机网络
- Waking-up-计算机网络
- 牛客-计算机网络收藏贴
- bank_interview-计算机网络(在Mendeley/ipad中看)
书籍
主要包括:
- 《图解HTTP》
- 《图解TCP/IP》
- 《Wireshark数据包分析实战》
3.4. 操作系统
知识点总结
- CS-Notes-操作系统
- Waking-up-操作系统
- bank_interview-操作系统(在Mendeley/ipad中看)
书籍
主要包括《linux内核设计与实现》
3.5. 数据库
之前学数据库用的课本放在实验室了,自己在网上找找教程复习一下,菜鸟教程的系列教程挺不错的,可以参考下: MySQL菜鸟教程
知识点总结
- CS-Notes-数据库
- Waking-up-数据库
- bank_interview-数据库、银行笔试-计算机知识部分(在Mendeley/ipad中看)
3.6. 工具:Git、linux常用命令、正则
知识点总结
3.7.编程语言的复习
主要针对后端,参考Ray_wu
- 时间还早: java或者c++选个认真、深入学一下,虽然大厂基本都表示不介意语言,但毕竟水平相同的两个人,一个语言方向和部门match,一个不match,大部分人还是会选择那个match的,Ray_wu也确实因为语言不match吃过挺多亏。
- 来不及学java和c++的同学,重点关注这几个高级语言之间的异同和优缺点,比如静态、动态,强数据类型、弱数据类型,编译型、解释型,各自的优缺点,某些特点。
- 同时一定要融入自己的实践、见解等,才能帮你的语言不match扳回一城。
3.8. 深度学习/NLP
需要掌握logistic regression、xgboost、gbdt等常见算法的原理。
书籍
主要包括:
- 《百面机器学习》
- word2vec原理
- 综述:神经网络语言模型
- github自行搜索相关知识点
实践
主要是参加比赛,机器学习主要用到sklearn包,深度学习建议用keras或者pytorch。比赛主要包括:
- kaggle,入门可以参考:泰坦尼克之灾
- datafountain
- 腾讯游戏安全竞赛
初学者建议
如果是初学者,可以学习台湾大学李宏毅的机器学习、深度学习视频教程,在bilibili或youtube可以观看相应视频。其他参考:
- 一天入门深度学习.pptx-李宏毅(如果无法访问,请自行搜索)
- 李宏毅主页
- 刘建平博客 (建议按照博客右侧的分类来阅读)
4. 结尾
- 欢迎在评论区交流或者和我私信
- 如果您觉得我的文章对您有一些帮助,您可以请我喝一瓶饮料:

