秋招总结,从三味书屋到百草园
秋招全部面经均已发出,欢迎参考指正
前言
希望本文能给身处迷茫的你带去一丝帮助
背景
-
个人信息:双非本(双一流),物联网工程专业(属于计算机学院),后端开发,转语言(c# -> go),做过大小项目10个左右(包括竞赛项目和外包项目,基本没有学习项目)
- 学习情况:目标先是工作(大一大二大三上),后是考研(大三下),2021.2 - 2021.7 考研,2021.8 - 2021.11 秋招(实际上10月中旬就躺平了),没有技术深度(八股都是秋招两个月总结的),算法题600+(e:m:h = 200:300:100,考研之前写的,非acm选手,全凭兴趣,半系统性学习),前端客户端后端开发都做过并且有实际项目,go连console程序都写不顺
-
简历:5个奖(2国+2省+1校),1段实习(本地不知名小厂1个月外加1个无聊的项目,技术栈为c#),3个项目(1后端+2前端,均为竞赛项目,技术栈为c#、react),个人总结一团浆糊因为根本没什么技术栈可写
-
总结:典型的码农形象,没有技术深度,说好听点是项目经验丰富,说不好听就是只会敲代码,算法题是因为兴趣才多写了一些
-
自述:可能有人想问为什么放弃考研,这个道理很简单就是我认为自己考不上了,及时止损就跑路了,像我身边有些人明知道自己考不上还硬要耗到考研结束再做打算,我认为这是非常不负责任的表现,这样会导致秋招和春招都受到影响,我也和其中几个人交流过,主要原因还是没有勇气放弃,这里我建议以前途为重,不要太在意面子或者其他无聊的原因,一切以自身利益最大化为前提来做下一步打算,有时候做决定很困难,但是做出后会很轻松
统计(只记录终面)
-
累积投递:70左右,其中有效投递在60家左右(因为我一焦虑就爱投简历),岗位主要为后端开发为主(go),其次为云平台开发,最后是零零散散的岗位
-
笔试:50场左右,以牛客网为主,其次为赛码网,最后是自研平台或其他平台
-
以下顺序仅为时间顺序,非公司排名
-
一面:奇安信、深信服、最右、去哪、360、格力、北京亚控
-
二面:乐狗、京东、金山云、ThoughtWorks、神策、迅雷、云账户
-
三面:百度、度小满
-
加面:字节(能力不足的那种加面)
-
hr面:美团、58、爱笔、PingCAP、科大讯飞
-
oc:ThoughtWorks、富途、北京亚控、金山云、百度、字节、迅雷、爱笔、度小满、58、PingCAP、科大讯飞
-
12 / 22
-
自述:最后去哪个公司我就不说了,感觉这次秋招是阳寿局,把运气都用光了,所以积极地行善积德
参考资料
以博客为主,由于参考了众多博客这里无法一一列举了,感谢前辈们的慷慨分享
注:其他平台的资料自行百度即可,我就不贴链接了
-
计网:王道考研(某站),计算机网络自顶向下方法
-
数据库:官方文档 (注意选择数据库版本我看的是5.7),MySQL45讲(geektime)
-
数据结构:王道考研(某站)
-
OS:王道考研(某站)
-
Redis: 数据结构的底层实现以及其他Redis知识-大佬的博客
-
SQL题:牛客网 ,某扣
-
算法题:某扣
-
算法学习资料:花花酱List 、yxc算法基础课
-
面经:牛客网
面试题
面试题总结(看清楚了不是知识点总结),这里主要依照我的面试经历来进行总结,主观性较强,仅供参考,欢迎补充,频率从上到下递减(没有提到的也并不代表不重要,只是我面试没有遇到过)
突击性学习 或者 开始准备面试但无从下手,满足上述两种情况的可以看看,如果时间充裕建议系统学一下
-
计网(高)
-
传输层(tcp为主,udp一般和tcp一起问单独问的情况较少)
-
tcp和udp的区别(连接性、可靠性、首部大小、传输形式、传输对象个数、适用场景)
-
tcp三次握手、四次挥手
-
每个状态的名字
-
发出报文的详细信息(标志位、序号、确认号)
-
-
为什么是四次挥手
-
TIME_WAIT是什么,为什么要等2*MSL
-
tcp如何保证可靠传输
-
拥塞控制的过程
-
沾包的原因,如何解决
-
半连接队列、全连接队列
-
udp实现可靠传输
-
websocket基于哪些协议
-
-
应用层(http为主,https其次,最后dns)
-
网址输入url后发生了什么
-
常用状态码
-
求请报文结构,响应报文结构,常见请求头、响应头
-
https加密流程
-
随机数加密
-
数字证书加密解密
-
非对称加密
-
对称加密
-
整个握手流程
-
-
session、cookie是什么,有什么区别
-
本机向DNS服务器请求的过程(DNS的迭代查询、递归查询)
-
Ping命令在哪层,Telnet命令在哪层
-
-
网络层(ip为主,其次icmp、arp但是这俩基本没问过偶尔在回答问题的时候会提一嘴)
-
-
数据库(高)
-
索引
-
最左前缀匹配原则
-
建立索引的规范
-
索引的分类(按照结构分、按照类型分)
-
给几个查询语句问如何建立索引(最左前缀匹配、查询优化器)
-
常用的索引结构
-
为什么用B+树 不用B树,为什么用B+树不用hash索引,hash索引的优缺点
-
B、B+的结构特点,B+相对于B的优点
-
什么是索引,索引的目的是什么
-
-
事务
-
事务的特征
-
隔离级别有哪些,都解决了什么问题
-
可重复读如何解决幻读,MVCC是什么、如何实现(快照读、当前读)
-
原子性、持久性的实现(undo log、redo log的详细过程)
-
为什么要WAL,为什么要写入redo log而不是直接写入数据库(随机I/O与顺序I/O的区别)
-
给两个事务和几条sql语句问输出结果(lock in share mode / for share、for update 在不同情况下的详细行为)
-
-
innodb和myisam的区别
-
给情景和字段写建表语句或者口述建表
-
sql算法题(select、join、多表联合、子查询为主)
-
-
数据结构(高)
-
哈希表
-
如何存储,优点和缺点
-
如何解决哈希碰撞
-
查找过程
-
结合语言的底层实现来问一些东西
-
-
对于数据结构的理解(为什么会有数据结构,数据结构存在是为了什么),如何选择数据结构
-
B+、B的结构特点(关键字数量,度的数量等)
-
B+树如何计算树高
-
布隆过滤器、BitMap(设计题)
-
-
设计题/场景题(高):这类题没有什么套路可言,也没有准确的答案,面试官问也是以一种讨论的形式来进行交流,所以不要尬住,哪怕说一个最简单的思路出来都行,面试官一般会引导你进行一个完善或者对你实现中的某个点有疑惑,别怂就是了
-
项目经验,写过项目(哪怕是最简单纯业务curd)会知道一些功能的实现步骤(当然也要理解哈),场景题都大同小异,问你如何实现一个功能,基本就那几个步骤,
-
知识的广度,因为一般不会问的特别细致(具体怎么实现),所以一些概念还是要知道的(负载均衡,主从复制等),方便说一些出彩的话
-
-
OS(低)
-
内存分配(分页、分段)
-
分页和分段的区别,各自的优点
-
虚拟内存
-
进程和线程的区别,为什么有了进程还要有线程
-
进程间通信的方法
-
线程的共享资源、私有资源
-
进程线程协程的区别,协程相对于线程的优点
-
什么是内存泄漏,如何解决
-
-
Redis(低)
-
redis的使用情况(拿来做啥了)
-
如何实现分布式锁,有什么缺点
-
常用命令说几个
-
zset底层实现,跳表的前世今生
-
-
Go(低):应该是因为我转语言的缘故
-
make和new的区别
-
slice的底层实现
-
channel分哪几种
-
map的底层实现,什么类型不能做键
-
结构体是值类型吗,可以比较吗
-
算法
算法说的是面试算法不包括笔试算法,难度一般是easy/mid基本没遇到过hard(就遇到过两次吧),多找几个list按类型把题刷了然后都弄会笔试算法我不清楚,面试算法我觉得够用了
-
双指针:挺综合的一个算法,万物皆可双指针,其中滑动窗口考的比较多
-
链表:链表主要考的是细心,跟其他算法相比难度不大,主要是乱(指针指来指去),耐心多写几道就行了
-
树:把花花list树的部分全刷完的基础上,每个类型再多写几道题,然后都搞会基本就ok了,特别强调一下,五种遍历方式(前中后层垂)的递归和迭代实现必须得会,垂序可能出的比较少但是前四个必须得会
-
bfs、dfs、回溯:bfs还好说套路比较一致,dfs回溯涉及到递归比较吃感觉得多刷,回溯在dfs的基础上多一步恢复现场
-
贪心:全是数组区间问题(对某个端点进行排序,然后一趟遍历出结果)建议多练练,其他贪心我没遇到过
-
DP:编辑距离,股票问题,其他dp我没遇到过
-
排序
-
快排(代码实现,时空复杂度,哨兵的选择)
-
堆排(topk问题,写算法的时候可以用优先队列,但是还是建议会自己手动建堆,了解两种方式的时空复杂度,以及各个堆操作的时空复杂度)
-
归并(代码实现,时空复杂度,哨兵的选择)
- 以上算法建议找个顺手的模版理解着记忆,不要现场推,每种排序的代码实现时间最好不要超过五分钟
-
杂谈
包括但不限于HR面的问题,因为有些技术面也会问
这块一般就半聊天式的交流了(由于是半聊天式所以有很多后续的问题是跟你的回答来出的),主要目的是看你一些思维想法,毕竟技术好提升而有些思维是不好板正,答案主观性极强建议自己是啥样就说啥,可以不用准备,不过有人临场能力不太好的话建议提前想想(我在某公司的技术终面靠回答这种问题扳回一城,因为那次终面问了大量这种问题,而且我技术问题答崩了,至少我是觉得这块答得不错起作用了,所以不建议随便回答)
-
职业规划
-
秋招到现在你的情况怎么样(拿了几个offer)
-
对于自己想做的工作有什么想法吗(岗位,技术方向,业务)
-
有什么爱好
-
最让你有成就感的事情
-
✳️找工作的标准是什么(这个很重要,不仅在面试阶段,在后续的阶段里也会用到)
-
坚持了比较久的事情
-
平常是如何学习新技术的,最近在学什么,最近有什么收获吗
-
比较擅长什么技术,为什么要接触这门技术呢
-
做项目的时候如何跟导师还有同学沟通的,起过冲突吗
-
最让你有挫败感的事情
-
职场上最不能接受的事情
- 有关注技术社区吗(开源项目,各公司的技术之类的)
注意事项
这个就说一个吧我印象比较深刻的,就是坚持,经常在牛客看到一些帖子,或者在私下和一些正在秋招的朋友交流,有时候大家就是心态崩了,不想接着面或者不想接着笔试了,就直接放掉了,但其实有些公司的笔试我也做过有些岗位我也面过,他真的想对来说没有那么的难,也许就是一个很好的机会,所以不要随便放弃任何一次机会,除非你认定这公司你绝对不会去
颁奖
我本来把空都填好了,免责声明也写好了,后来想了下还是算了,不想引战,留给各位自行讨论好了
笔试最难的公司:
笔试最简单的公司:
最曲折的面试:
最无语的面试:
最短的面试:
最长的面试:
最棒的面试官:
最差的面试官:
最棒的hr:
最差的hr:
流程最短的公司:
流程最快的公司:
流程最慢的公司:
流程最难进的公司:
总结
按照我写帖子的习惯,废话放最后
秋招嘛,比较出人意料,说实话没想到,我记得7月24决定不考研了,当时在写一道极限的题,感觉在哪见过,但是还是没写出来,在脑子里回想了一下自己的复习进度,说实话不咋地基本只看了数学,英语和专业课进度跟没有一样,然后就觉得数学花这么大精力,还是这个德行,考研肯定是没戏了,英语专业课差那么多更是补不回来,想通这个之后,几分钟之内作出决定,跑路,放弃之后整个人都释然了,之前心里总像压着点东西一样,那感觉就像"不去想他就一定能成功",什么意思呢?就是我只管做而不考虑这件事能不能成功,在正常情况下,或者说在一切合理的情况下确实应该这么勇往直前一股脑地学,不然胡思乱想容易焦虑,但是话又说回来,在不合理的情况下就不能这样了,举个夸张点的例子,如果考研复习期间每天只看半个小时书连续几个月,这就是不合理,那么还按照上述的想法(只管做而不考虑这件事能不能成功)来做,那在我看来就是自我欺骗了,或者说是学麻木了,显然,我的6月中旬到7月底都是这种状态,主要也是因为6月初的时候大病了一场,然后状态就持续下滑了,一直想的是歇会过两天再学,明日复明日,事情就发展到了不可挽回的地步
秋招嘛,比较出人意料,说实话真没想到,我现在在写这篇文的总结,也不知道把重心放在哪,顺着放弃之后讲,秋招起步是艰难的,我连B+树的结构都不清楚,当时随便面了某个公司的实习给我问懵了当时直接背混了,过了两天就挂了,这才一面,当时托在映客的学长给我内推暑假实习,此后的一周我基本一天登两次moka看进度,在部门筛选阶段卡挺久的,后来的某天中午我感觉自己是挂了,第六感吧可能是,一看果然tmd挂了,哭了,秋招一共哭了两次,这是第一次,当时不行了都不想活了,给我学弟A打电话前五分钟还是在哭,缓过来之后聊了会儿天突发奇想又点了个麦当劳的全家桶,真香,我平常嫌kfc麦当劳太贵,一般只吃比较朴素(便宜)的汉堡,那天我咬下的第一个口就发现这个汉堡不一般,真香,第一次就这么结束了耗时两三个小时吧,被学弟A和麦当劳给救了,跨过8月上旬的疯狂投简历环节,我们快进到8月中旬,那天中午美团笔试,是真tm难阿,但是写完笔试就破防了,不算附加题一共四个题,就A了一个,当时刚出来正郁闷呢,某个跳脱的学妹B正好给我发消息,那一大堆语音,看着头疼,当时就给她吐槽这个笔试,小姑娘反手一个电话打过来,用她新颖的开导方式给我"骂"笑了,笔试转天下午六点刚睡醒(我的作息异于常人,而且不受生物钟的约束),美团hr打电话约面,是个小哥,听声音就不像普通的hr,战战兢兢地约了一面的时间,我故意把时间约的靠后了点,想多复习几天,我和美团和他的不解之缘自此开始,这也是我第一次面正式岗第一次面大厂,之后就是疯狂的复习,焦虑,失眠,从没如此仔细地观察过我床上的天花报,嗯,挺白的,一面问的问题比我想象中的要简单许多,算法题是链表的hard但是我做过而且链表一向不难,于是迎来了秋招的第一次滑铁卢,思路没问题,就是没写出来,人还巨紧张,我记得当时疯狂出汗,出来之后懊悔阿难过阿生气阿,人类的情绪还是比较复杂的,正当我难受的要死时,美团hr又来电话了,这次是个小姐姐,约我二面,当时还没缓过来话都说不利索,约了二面之后又是疯狂地复习,二二三四再来一次,我妈当时都看不下去让我赶紧去睡觉(她都睡醒一觉了我还在客厅坐着呢),哈哈,二面问的也比较简单,算法题又是链表mid,幸运的是这题我也做过,这次先是光速A了算法,然后把问题都答出来了,面试出来之后我觉得没啥问题,果然,半小时后美团hr来电约hr面,是个新的小姐姐,她想约下午,但是我下午深信服笔试,我就找了个别的理由跟她讲,她表示理解并把时间改到了转天上午,说实话当时有种初战告捷的心情在,因为这也太魔幻了,时间来到第二天,hr迟到了,正当我幻想这又是哪个小姐姐来面我的时候,命运就是这么的巧合,面我的是约我一面的那个小哥,果然他验证了我的想法,不像个普通hr,他用凭借着高超的提问技巧以及沉稳的态度对我的弱点进行了猛烈的进攻,给予了我无限的压力,草,当时出来就觉得要凉了,找我的学姐和之前认识的hr进行了反复复盘,感觉又有点希望,时间快进到7天后,为啥是7天?因为他说了一周内出结果那是最后一天了,在一个风和日丽的下午,我正在实验室里背书,一个北京的电话过来,我激动地出去接,被告知他是美团医药的问我要不要进行一面,我就很懵,跟他说我hr面都结束了问这是啥情况,他说去确认一下再给我打电话,然后我就去群里请教别人,他们告诉我你应该是被捞了,当时也觉得hr面应该是挂了,果不其然他告知我上个流程已经结束问我有没有兴趣面他们部门,那我也只能接受了,当晚就开始了一面,噩梦的开始,比之前问的难多了都是数据库的应用,我现在答肯定没啥问题了,当时还年轻,确实不会,算法题选了难的也没做出来,他甚至直接略去了喜闻乐见的反问环节,到这,心态崩掉,秋招哭过两次,这是第二次,期望越高失望越大,也算是报应吧,美团怎么会那么好进呢,所幸实验室有个小屋不那么丢人,那感觉过不活了,学弟C给我买了瓶可乐,感动,不过来的快去的也快,转天就缓过来了,继续努力,过了两天喜提感谢信,现在回看这个结果可能也不错,如果当时真的过了可能就躺平了,也就拿个泔水团
秋招嘛,比较出人意料,说实话还是没想到,写到现在已经22:30了,前两段写了两小时,要加速了,时间快进到10月中上旬,这个时候各大公司约面,算是秋招的***了,包括百度终于在笔试一个月后捞我了,当时心里想的是肯定进不去感觉糊弄完了得了,于是百度面试的前一天我后半夜两点睡的,虽然从邮件里知道百度要连着面试,但我没想到是真的连着面试,从上午10连着干到下午1点,说实话挺爽的,不过三面的内存泄漏我是真不会,但是还是觉得自己有希望,就这样时间快进到字节三面完,当时算法题写的不太好,面试出来跟个朋友打电话聊呢,微信突然有人加我,我看了一眼验证消息,"您好 我是百度的hrxxx",我当时双手使劲拍了下桌子,暴起,我朋友都被我吓着了,秋招有两次狂喜,这是第一次,同时还收到字节的约面邮件,以为进hr面了,双重buff叠加我人差点过去,原谅我没见过世面,这足以令我笑死在家里了,然后字节的hr特意打点话来提醒我是加面,进一步考察我的编码能力,还建议我再练几天,把面试时间往后改一下(因为我反手就约的转天上午),到这里我对字节hr的好感度真是拉满了真的很不错,时间快进到某天下午我躺在床上准备睡个午觉,此时距离加面已经过去几天了,突然来了个电话,"您好,我是字节hr,想跟你谈一下offer的事情",我当时都惊了,因为在我的认知里还有一轮hr面,在我表达了疑惑之后,她告知我没有,就这样,突然地谈薪,秋招有两次狂喜,这是第二次,也是最后一次,那通电话挂断了,我整个人都麻了,可能是因为高兴也可能是因为缺觉我不知道,想告诉别人但也怕影响别人,最后我把电话打给了我妈,激动的聊了一刻钟,觉也睡不着了,直接出门遛弯(秋招阶段基本一周出一次门,所以遛弯已经是最大的放松),秋招后期就比较顺利了,有了之前的经验,心态ok,同时有了之前的学习,面试题也基本ok