Skip to content

22 级 快手数据库开发

0.背景

22级计科班,快手数据库开发。

本文分享基于SDUCST就业交流分享会讲座内容,感兴趣的同学可以加入就业群获取本次讲座的录播链接:

QQ

主要围绕以下几个主题分享:

  • 本科阶段,竞赛有用吗?
  • 如何快速找到自己想做的方向?
  • 关于数据库开发:内核侧与 DBA
  • 一些杂谈
  • 个人经历
  • 推荐阅读

1.本科阶段,竞赛有用吗?

结论:毫无异议,是有用的。

竞赛对提升个人能力、积累实战经验的帮助都很大,是本科生涯里非常宝贵的一段经历。但同时也要注意:

  • 硬核竞赛往往需要大量时间精力投入,可能动辄几个月甚至提前一年准备
  • 不确定性很大,在竞争激烈的情况下,哪怕很努力也不一定能取得很理想的成绩
  • 这种情况下,多刷一段实习、把项目打磨得更扎实,收益往往更直接

竞赛也可以项目化。部分工程向竞赛的产出,往往稍作沉淀就是一个很优秀的项目。当时,赛后要记得做笔记总结、复盘过程,同时量化每个 idea 的提升(做了什么、优化了什么、指标/规模/效果如何),方便后续整理简历

结合我个人经历,比较建议关注的竞赛:

  • 工程类竞赛:面向真实业务场景,上手难度高但收益大
    • 华为软件挑战精英赛(软挑)
    • OceanBase 数据库大赛
    • 全国大学生计算机系统能力大赛
  • 算法类竞赛:需要持之以恒的练习,投入很大,回报不确定
    • XCPC(ICPC/CCPC 系列)
    • 百度之星
  • 非保研不太推荐打的(个人看法)
    • 蓝桥杯(纯坑钱比赛,而且没有工信部盖章了,强烈建议避雷)
    • 数模、计算机设计大赛、互联网+、大创等(对互联网技术岗就业的帮助很小)

2.如何快速找到自己想做的方向?

2.1 对于大一/大二的同学

请多做尝试。你们时间很多,试错成本很低,而且未必只有就业一条路:今天觉得就业很好,明天说不定就想读研了。只有广泛接触技术栈,才能感觉出自己更想做什么。

2.2 对于大三决定就业的同学

如果决定就业,在大三上就该准备起来了:项目、实习、简历、面试都得同步推进。可以先根据讲座/资料了解各个岗位,选择几个感兴趣的深入学习;有问题也可以去 SDUCS 就业交流群多问多交流。


3.关于数据库开发:内核侧与 DBA

数据库开发我大致分成两类:内核侧DBA(不同公司/部门命名略有差异)。

3.1 内核侧

内核侧就是数据库系统的核心模块研发,包括但不限于:存储引擎、查询优化、事务处理等关键组件,核心工作离不开系统设计与性能调优。

学习路线我个人感觉相对明确,常见的项目/公开课一般也离不开这几套(CMU 15-445、MiniOB、MIT 6.824、TinyKV 等)。个人建议顺序:

  1. CMU 15-445 -> 2. MiniOB -> 3. OceanBase 决赛项目 / MIT 6.824 -> 4. TinyKV

注意:自己做和直接看现成源码的收益完全不一样。如果想切实提高水平,强烈建议踏踏实实花时间做 lab。

岗位现状我个人感觉是:

  • 岗位数量相对少(更多集中在少数大厂/数据库厂商),入门门槛较高,相对稳定性也高一些
  • 因为学习路线相对明确,竞争压力与上手难度都偏大
  • 数据库作为互联网基础设施,受 AI 浪潮影响,也有更深层的架构融合与演进趋势

3.2 DBA

DBA(Database Administrator)就是数据库管理员。它和运维有交集,但由于专精数据库领域,技术纵深和复杂度相对更大。

岗位现状我个人感觉:

  • 这个岗位在向“测开/开发”方向延伸,如部分企业校招 DBA 走的是后端开发通道
  • 大厂热点主要是高可用架构、容灾方案,也在推动 AI 赋能自动化运维(比如云厂的一些数据库自治服务)
  • 岗位数量有限,很多厂商直接上云,DBA 更集中于自建数据库集群的大厂;同时大厂更倾向有经验候选人,流动性相对低
  • 无论内核还是 DBA,基本都会有 oncall/轮值去应对线上突发故障;相对纯开发岗位,日常开发压力可能小一些,但运维应急压力更突出
  • 用我 mentor 的话来说,DBA 每天都在干“刀尖舔血的活”(指高危线上操作),需要一定的心理素质

4.一些杂谈

4.1 关于 vibe code / AI coding

AI 发展确实很快,各种 agent 编程工具也层出不穷。看着几行自然语言生成的项目比自己熬夜半天写的还好,有落差感很正常。

但我仍然坚持:在使用 AI coding 之前,确保自己不成为 AI 的工具——也就是不借助 AI,你也有大致思路,知道哪个部分该写什么;能看懂 AI 的代码,并在它的基础上调试修改。否则能力上限很容易固化成“AI 的能力上限”,也就很难打出差异化。

但也要注意,不过度依赖 vibe code ≠ 不用 AI。请记住:AI 是最耐心、最知无不言的新手导师,不懂就要问。

4.2 关于“底层滤镜”

我不是否定底层技术的重要性,而是不建议为其过度附加“光环”。诸如数据库内核、操作系统内核、编译器、infra 等方向,实际工作内容可能并不如很多人想象中那么理想,甚至会有不少 dirty work。

但反过来说,如果你能去掉滤镜之后仍然愿意钻研下去,即使没有取得特别好的成绩,个人能力的提升也难以估量,面试里也会有更多能聊出深度的谈资。

4.3 关于城市

城市往往是决定幸福感的第一要素,请慎重选择。

4.4 关于实习

我个人感觉提前刷一段实习是非常非常必要的:即使你不指望实习转正,实习经历对秋招也很重要;如果能转正,相当于秋招多一个保底,心态会稳很多。

但实习和课程两头跑确实会很累。我的一次极限经历是:晚上八点下班 -> 1.5 小时地铁 -> 9 小时绿皮火车卧铺 -> 1.5 小时地铁回学校,考完试再反着走一遍,确实很折磨。所以尽量提前规划时间,给自己留好缓冲。

4.5 关于面经

面经可以用小红书/牛客搜(比如“字节 后端 实习 面经”),我个人感觉挺好用,但注意规避卖课卖题广告。


5.个人经历

  • 大一:懵懂无知,兴趣驱使下尝试了很多方向;刷过算法题但连实验室都进不去;写过一点前端
  • 大二:初窥门径,决定本科就业;加入 ACM 实验室和 OpenLab;开始尝试竞赛并取得一些微小成绩;写小玩具上线、写博客,接触更广泛的技术栈
  • 大三上:明确了后端/数据库方向;开始和同学合作写一个真正的 Web 项目(SHARESDU,API 文档有二十多页,从 0 到 1 一边学一边写,前后接近半年时间);开始上手做 CMU 15-445 的 lab
  • 大三下:SHARESDU 上线并持续维护;软挑进入复赛(公费旅游三天,遗憾止步决赛);通过快手数据库开发暑期实习并顺利转正;实习期间打了最后一场 CCPC 退役;也和 OpenLab 的同学合作给校医院重构并上线了一个 Web
  • 大四上:秋招继续投递,拿到其他 offer,但最终还是选择快手(在组里实习过一段时间,对环境更知根知底,我个人感觉靠谱的 leader 有时候比几千块的月 base 更重要);之后全力备战 OceanBase,两个月高压长跑进入全国二十强,也算小小圆梦了

同时给自己的web打个广告,欢迎来玩:https://sharesdu.com/#/indexQQ


6.一些补充

  • 快手实习体验:我个人感觉挺愉快的,稍微有点累;实习生也有房补,工资不算低
  • 转正流程:暑期实习和日常实习转正一般都需要答辩,具体形式看部门,原则上待满 40 个自然日就可以发起流程(实际仍看部门要求)
  • 基础能力:强烈建议新生装一个 WSL,在 Linux 环境下做项目开发;同时尽量熟练掌握 git 命令(vscode + wsl 确实很好用)
  • OpenLab/ACM:纳新一般在上学期;对大一大二同学来说,认真做纳新题能很快增强对抽象项目知识的理解,“师傅领进门修行看个人”,入门之后很多东西会自然打开

7.推荐阅读/资料


hw
2026-01-09