前言
因为大环境的影响,今年秋招hc骤缩,导致竞争的激烈程度比往年高了不少。
在秋招的时候,经历过简历石沉大海的无奈,也体验过人家收割offer而自己却依旧0offer的焦虑,不过好在最终也拿到了还算满意的结果。
如今我的秋招已基本结束,所以将我的秋招经历分享出来。
一、本人情况
本人小菜鸡一枚,双非本,有几个专业比赛的小奖,一段为期三个多月的腾讯云智实习经历,两段还不错的项目经历(校企合作项目——物联网平台、字节跳动青训营的大作业项目——分布式搜索引擎),自认为还不错的知识储备,300+LeetCode
其他:一个3w+粉丝的CSDN,自己写的个人博客网站,300+star的gitee,一段软件设计与创新协会会长和软件创新实验室负责人的经历
二、概述
我是从八月初开始投递秋招简历的,陆陆续续投到10月,方向主要是后端开发(Java、go、c)。
期间投递了100+企业,收到笔试30+,给面试机会的只有12家,其中只有3个明确的offer,分别是古茗、腾讯云智 腾讯会议、滴滴 网约车。
三、秋招经历
八月
其实我在七月份的时候就已经意识到要开始投秋招了,但当时我刚实习还没多久,也没啥产出,不太好写进简历,所以想着等等再投。
这一等便等到八月,那时我投了第一波简历,主要是一些知名公司。
后来发现投出去的简历石沉大海,了无音讯,我开始有点慌了,所以当时也是一有空就投简历。
因为我是采用牛客内推码+官网投递(很多没办法正确解析)的方式,所以投一份简历需要二十分钟左右。当时也是保持着一天2-3家的节奏去投递(基本也就是下班回家洗漱完就开始找公司投递了)。
8月中旬前基本没什么消息,直到8月下旬才有几场笔试和面试,但当时表现并不好。
当时真的非常焦虑,天天和同在秋招的同学视频电话吐槽各自的秋招进度。
九月
九月开始笔试渐渐多了起来,也有一些笔试冲突的情况,但面试依旧少的可怜,之前面的几家也进展缓慢。
九月末的时候收到实习转正失败的消息,当天晚上也恰巧是古茗二面,当时和同事云哥单独聊了聊这个结果后就赶回家面试去了,而无心插柳柳成荫,古茗也是我之后收获的第一个秋招offer。
十月
到了十月,我也停止投递了,算下来我整个秋招投递了不下100家公司,十月初的时候依然还是0offer。当我看到牛客上一些大牛开始offer收割时,我感受到了前所未有的焦虑。
当时十一放假,也是我结束实习后的第一周,夹带这实习转正失败的落寞和释然,我开始真正观摩这座伫立在长江之畔的城市——武汉。
十月中旬我收到古茗的offer,这也是我第一个秋招offer,对我而言,地点薪资我都挺满意的。
当时给了我一周的时间考虑,考虑到薪资和地点都挺不错的,其他公司面试进度不明朗,最终和古茗签了三方。
十一月
本以为秋招已经结束,十一月陆陆续续有了一些其他比较不错的面试,比如携程、Lazada、腾讯云智、浙商银行等等。
面试进展也还可以,腾讯云智、携程、浙商银行都走完了所有技术面,其中腾讯云智 腾讯会议部门 oc谈薪,但考虑到薪资我还是拒了。
在这个过程中呢,我一个想法就是既然三方已经签了,我不如提前去古茗实习,感受一下团队技术氛围,当我未来有其他offer进行选择时提供一个参考。简而言之就是,如果觉得古茗不适合我,我还可以溜(虽然这很不道德)
十二月
这时候我已经去古茗实习了,经过半个月的实习,个人感觉古茗团队氛围挺不错的,业务处于上升期,但是也和互联网一样卷,9点到9点半上班,一般都是八九点下班,我们组的其他正式员工加班到十点甚至更晚也是常态,leader非常热爱工作,往往能加班到凌晨(不过他倒没有要求过别人加班)。
在这期间滴滴网约车部门给我发了offer,
在这个选择上我也很纠结,古茗对我而言是离家近,氛围好,有在乎的人;滴滴是大厂,职业发展更好,薪资高一点。
纠结了好久,我个人还是有点大厂情结的,同时也是为了以后的职业发展,所以个人而言还是更倾向于选择滴滴。我目前也是打算去滴滴干个一两年就回杭州发展了。
四、面经(部分)
奇安信
一面 8.31 30min
实习经历,简单讲讲项目架构,负责的部分
GoDance项目你负责什么,如果Leader挂了,他会怎么做?
为什么选择一致性hash实现分片路由
在go中,如何判断一个变量在栈上还是堆上
如何高效的拼接字符串?
用过pprof吗?
反问(岗位内容、地点)
二面 9.1 50min
多是主观性的问题
滴滴面经
一面(48min)
go map相关,据此深挖,一开始问能不能以map为key,到后面go、Java中map的实现原理(元素是否是顺序的),再继续延伸到为什么不能为key
由map延伸到切片、数组(其核心是围绕hash本质探讨什么能作为key(心里也没有准确的答案,根据自己的想法告诉面试官)
Java中Arraylist遍历循环修改元素,再去遍历值是否会变
Java线程池如何去保活(回答了大概原理),如何判断去判断线程是否可用?
慢查询听过吗?(没)
数据库中索引的作用(由索引展开结合自己的经历去谈一些自己的理解,举例mysql的正排索引,到搜索引擎的倒排索引)
索引过多的影响(空间和性能)
是否有情况会导致索引没起作用(举了联合索引和引擎层的优化,第一时间没想到太多)
讲一讲项目中能体现你能力的点(物联网平台和分布式搜索引擎)
根据项目提了一些问题(面试官登录到我的项目演示网址开始把玩了)
如何去实现raft算法的?(论文和一些辅助资料,比如极客时间上的课程)
关于软件创新实验室的一些问题
算法(看了下笔试情况就不问了)
反问(评价、滴滴秋招流程)
二面(40+min)
没来得及录屏,忘了,给我的印象就是面试官比较冷漠,其他还好
一道树相关的easy算法,白板写,不难,但是写了有点问题,面试官也没过分纠结
印象里大多都是系统设计题,涉及到分布式事务、自增唯一id的生成方式等等,还问了我的项目分布式搜索引擎相关问题
三面(1h)
自我介绍
技术栈偏向
实习相关的一些问题(介绍一下团队业务,自己负责什么这种)
sql题
shell命令题(sql题和shell题都提示了,自己没完全做出来)
长连接/短连接
redis 数据类型 以及相关应用题
mysql 联合索引
…(省略一些题目,不记得了)
设计题(滴滴打车的过程,主要关于数据一致性的)
(也是一样没录屏,没来得及)
反问(滴滴团队业务相关)
面试官很好,对于一些题甚至都提示答案了,震惊!
深信服
一面(53min)
上来先手撕线程题…
go写线程题(go不是很熟悉,换了一题)
Java写限流器
各种八股项目…
二面(1h)
自我介绍
主要围绕GoDance和实习来问,问了一堆问题…
反问:业务,校招流程,评价(不回答…)
三面(10.12 40min)
谈一下对k8s的理解
了解k8s有哪些组件吗?
一道算法——字符串单词原地翻转(说了下思路,根本没想到那种巧妙的方法(先反转句子,再反转单词))
测试用例如何去设计
实习期间的工作
实习相关的问题
和传统意义上的相比分布式搜索引擎有什么区别吗?
具体是有哪些功能?(不该引向存储模块,因为这块不是我写的)
后面的规划是怎么样的?
在学校的成绩怎么样?
反问
流程、评价
古茗
一面(9.20 40min)
项目
实习
pulsar的理解
Java八股(各种数据结构工具包,线程池,锁)
框架
Mysql
二面(9.28 40min)
自我介绍
实习(遇到的问题)
项目
手撕算法题
聊天(实习转正情况)
反问
360
一面(10.11 55min)
自我介绍
Java
动态绑定的概念
反射
计算机网络
TCP和UDP的区别
TCP三次握手的过程
Mysql
MySQL索引所用的数据结构以及优点
什么情况下要用到索引
消息队列
Pulsar的架构和消息模型
关于pulsar的一些提问
Linux
内核中的内核态和用户态
JVM
分代回收模型
常见的垃圾回收器有哪些
现网的OOM如何定位和处理?
内存泄露一般用什么方法继续定位?
JMAP、dump文件知道吗?(不太了解)
堆栈设置的内存越大越好吗?(没答到点子上,应该往os cache方向答)
给三个代码片段,看看其中是否存在一些问题(两个和迭代器相关,一个和连接资源释放有关)
实习
TCMQ和Pulsar的关系
实习期间的工作内容
…
项目
介绍一下分布式搜索引擎GoDance
…
物联网平台(另一个项目)的技术难点有哪些?
监控数据的存储是放在哪的?
你觉得你做的最有挑战性的项目,哪个项目让你感觉最优成就感。
你觉得这两个项目有哪些可以改进的地方?
看你平时重点在项目和实践上做的比较多,那对你的课内学习是否有影响?
有没有你认为学习的比较好的或者突出的课程?
反问
岗位方向、团队节奏
恒生
一面(10.12 18min)
自我介绍
实习相关
定义两个线程获取对应的返回值(想说Future的,结果说成Condition了)
介绍一下外观/门面、装饰器模式(全忘了)
一千万的ip地址找出多次出现的ip地址,如果限制内存1G该怎么做?
现在有offer吗?
二面
纯聊天,劝退,拒了
腾讯云智
一面(50min)
自我介绍
实习经历(做的事情,详细问了几个点)
项目相关(架构设计、细节问题)
Java和go的区别(开始泛泛而谈,主要透露出我对go原理也是了解的)
三道go调试编程题
反问(岗位内容,工作节奏(面试官听到这个自己都笑了hh))
二面(30min)
自我介绍
实习经历(闲聊,介绍之前团队做的产品,讲架构(之前自己画过一张图,所以还是比较容易),为什么转正失败)
技术栈大概什么
一道编程调试题
秋招情况、学校在哪…
反问(面试流程(直接说接下来还有一场总监面,正常发挥就行))
三面(30min)
自我介绍
有什么详细跟我讲一下的吗(又讲了下分布式搜索引擎)
打断了我,问我做了哪些(分布式和分片)
讲讲分片吧?
为什么做分片,业界有哪些做法,这个过程中要考虑哪些问题?
怎么分片?按什么来分?
扩展要考虑什么?设计的时候要考虑什么?一个分片有多大,大小如何确定?
多副本要考虑什么?
…(开始疯狂输出了…把我搞蒙了)
好吧,能讲些大概,但我感觉有些更细的东西还要再去了解下,没关系
实习开发的语言(Java偏多,go也有)
有在现网发布过吗?(私有云这块没有)
用什么中间件?
RPC通信框架底层原理了解?(之前看过Java相关的实现原理,讲了些自己的理解)
http协议了解吗?用标准的语言(不用框架,不用库)如何解析Post请求报文?(这个感觉答得不是很好)
感觉还是做了些东西,但…没关系,你是本科还是研究生
反问
浙商银行
技术面(11.22 30min)
自我介绍
实习经历
校企合作项目介绍
SpringBoot里面的事务传播方式有哪些?
InnoDB中锁机制和缓存机制
数据页一页大小是多少?
CAP理论具体是什么样的?
对于实际的开发当中有什么价值,有什么指导?
科技部和科技公司,意向去哪边?
工作节奏大概是怎么样的?
薪资这块大概怎么样?
携程
一面(11.23 1h)
项目中jdk用的什么版本?
8的版本中的新特性有用到过吗?
order by差异点主要在哪?
Java和go的差异点?
它的类、接口、对象传递这些有了解过吗?
讲讲协程?
线程是怎么创建的?协程是怎么创建的?
Java有没有协程的机制?
对java的代理模式有几种?
项目(分片)
二面
主要是问项目和实习经历
五、一些建议
经历过秋招,也是有一点心得
海投
真的要海投,你最终拿的offer很可能是你无心投的一家公司。
认真复盘很重要
每场面试最好自己录个音,这样有利于复盘面试情况,针对自己发挥不好的点去回顾总结,将不熟悉的知识点重新复盘总结。这对于我们这些面试机会本就不多的双非本科同学而言非常重要,一定要珍惜每个面试机会。
保持心态,持续学习
0offer的时候真的非常焦虑,这种感觉在别人拿到offer的时候特别明显。对于焦虑我也没什么特别好的方法,对于我而言,我会用投简历、学习来填补空余时间,防止自己进行无意义的焦虑内耗,一定要持续学习。
项目、实习经历很重要
就我的面试经历而言,秋招面试和春招找实习的时候问的内容差别还是蛮大的,特别明显的感受就是秋招面试基本都是围绕着你的项目和实习经历来问,很多八股文知识点也是由此延伸出来问的。
当然有些公司也会手写算法题,以及考一些常见八股文。
按知识体系整理知识点
我的一个技巧是就是将知识点整理成知识脑图,形成自己的知识架构体系。根据知识点整理成不同的知识脑图,比如JVM原理、操作系统、计算机网络等。这样的好处就在于可以根据面试官的问题快速定位到脑海中的知识体系,从脑海中调出相关知识,有针对性、有条理的回答问题。
总结
作为一个双非本的小菜鸡,在今年地狱级难度的秋招中有如此结果,我已经很满意了,而这也要感谢之前一直奋斗学习的自己。
对于我而言,秋招已经结束,但是我明白我的人生才刚刚开始,希望我未来能够持续学习,不断探索,走出一条属于自己的人生之路。