【23届秋招总结】本科小学弟成功签约滴滴后端开发offer
二哥的编程星球已经有 1400 多名 球友加入了,如果你也需要一个良好的学习氛围,戳链接加入我们吧!这是一个编程学习指南+ Java 项目实战+ LeetCode 刷题的私密圈子,你可以阅读星球专栏、向二哥提问、帮你制定学习计划、和球友一起打卡成长,冲冲冲。
签了滴滴,担心过年回家会被骂
大家好,我是二哥呀。今天给大家分享一个球友的故事:他在秋招的时候,经历过简历石沉大海的无奈,也体验过 0offer 的焦虑,不过最后还是收到了滴滴网约车的 offer,唯一担心的是,滴滴名声臭了后自己这个决定是否正确。
我告诉他先不要想太多,如今我的秋招已基本结束,所以将我的秋招经历分享出来。
一、个人情况
双非本,有几个专业比赛的小奖,一段为期三个多月的腾讯云智实习经历,两段还不错的项目经历(校企合作项目——物联网平台、字节跳动青训营的大作业项目——分布式搜索引擎),自认为还不错的知识储备,300+ LeetCode。
其他:一个自己写的个人博客网站,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 八股(各种数据结构工具包,线程池,锁)
- Spring 框架源码
- 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)
- 自我介绍
- 有什么详细跟我讲一下的吗(又讲了下分布式搜索引擎)
- 打断了我,问我做了哪些(分布式和分片)
- 讲讲分片吧?
- 为什么做分片,业界有哪些做法,这个过程中要考虑哪些问题?
- 怎么分片?按什么来分?
- 扩展要考虑什么?设计的时候要考虑什么?一个分片有多大,大小如何确定?
- 多副本要考虑什么?
- 有在现网发布过吗?(私有云这块没有)
- 用什么中间件?
- 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 原理、操作系统、计算机网络等。这样的好处就在于可以根据面试官的问题快速定位到脑海中的知识体系,从脑海中调出相关知识,有针对性、有条理的回答问题。
总结
作为一个双非本,在今年地狱级难度的秋招中有如此结果,我已经很满意了,而这也要感谢之前一直奋斗学习的自己,和二哥的 Java程序员进阶之路,尤其是面渣逆袭给了我很大的帮助。
秋招结束了,但我明白我的人生才刚刚开始,希望未来能够持续学习,不断探索,走出一条属于自己的人生之路。
感谢大家阅读~
参考链接:https://mp.weixin.qq.com/s/wB7orwftNNswNd8dejKZaQ,出处:兴趣使然的草帽路飞,整理:沉默王二