大家好,我是程序员鱼皮。最近有位朋友想转数据开发,预期薪资 10k 以上,咱们来一起帮帮他!
鱼友提问
社招裸辞,找数据开发岗,该如何学习?
求职目标:在7月底(8月初)拿到不少于10k薪资的数仓开发(数据开发)岗位
个人情况:4月底裸辞后,6月开始补充知识技能和项目,目前学的都是大数据,数仓相关的内容
求职困惑:还能增添什么内容来增加自己的竞争力?简历可以写AI智能体项目吗?以此来突出有AI相关的经验
期望帮助:是否需要增添 AI 部分内容,还是说只需要把大数据相关的内容写好即可?
鱼皮回答
数仓开发薪资要求 10k 确实不高。对你来说,目前做下面这几件事性价比最高,如果都能做到,拿 15k 的 Offer 也是有希望的。
1、学技术
去网上找一份 20 - 30k 的大数据开发的简历、或者招聘网站上看一些 20 - 30k 的岗位要求,了解目前数仓开发的核心技术栈,从而知道自己要补充哪些技术知识。举一些例子,你会发现市面上大多数数仓开发工程师都要熟悉 Java / Python 编程语言、Hadoop 分布式系统基础架构、Hive/Spark/Flink 等数据开发工具和框架,有些还要求熟悉 Kafka 数据接入。
此外,最好再掌握 1 种 OLAP 引擎,比如 ClickHouse/Impala。对于你这个阶段来说,技术栈的广度比深度更重要。我当时在腾讯做大数据开发时,一年多就接触了 Spark、Druid、Presto、Kylin、ClickHouse 等各种技术,虽然每个都不算精通,但正是这种广度让我在跟面试官交流和直播分享时有更多话题可聊。毕竟不同公司的技术选型差异很大,你多会一种技术,就多了一个敲门砖。
补充一点,别只是会用这些工具,还得知道为什么用。比如面试官问你 “为什么选择 ClickHouse 而不是 Hive?”,你得能说出 ClickHouse 列存储、查询快、支持实时写入这些核心优势。我之前面试时就遇到过这种问题,很容易考察出候选人的技术积累。
2、做项目
项目经验是重中之重,至少完成 1 个离线数仓项目,比较建议先做电商数仓,因为业务场景大家都熟悉,面试官也容易理解。其中 数据量级 是区分大数据开发者能力的关键,项目中有百亿级大数据的开发经验肯定是比亿级更加分的。可以利用一些云服务平台快速搭建一些大数据仓库,利用 阿里云天池 等公开数据集快速准备海量数据,锻炼自己的数据开发和 SQL 调优能力。
光有数据量还不够,要通过面试的话,还得能讲出数据倾斜怎么解决、慢查询怎么优化、分区策略怎么设计,这些都是面试官爱问的,但只要你在项目中实践过,讲出真实的优化经历就能轻松应对。
举个例子,我当时用 Spark SQL 查数据的时候,就被一个慢 SQL 查询搞到崩溃,最后发现是 join 的时候没有考虑数据倾斜,某个 key 的数据特别多,导致单个 task 跑得特别慢。后来用了随机前缀 + 二次聚合的方式解决,查询时间从几小时优化到十几分钟。这种经历在面试时特别加分。
3、沉淀文档
做项目的过程中一定要整理好文档,因为大数据类的项目不像纯前后端,可展示性那么强。所以要尽可能通过在简历上分享文档或开源项目的方式来增加真实性。举个例子,文档里可以记录一些操作日志(比如数仓搭建过程)和 SQL 执行效果截图。
记住,写文档跟笔记还是不一样的,再加上现在有了 AI,很多同学做完项目就直接用 AI 生成个文档,虽然很快很爽,但是缺少了总结和自主思考的过程,不仅起不到巩固知识的作用,而且面试官一眼就能看出来是凑数的。所以一定要在文档中 重点突出你自己的思考过程。比如写数仓分层设计时,要说明为什么这样分层,每层解决什么问题。
另外,GitHub 上记得放几个精心优化过的 SQL 脚本,展示一下你的代码风格。因为很多数据开发大部分的时间在写 SQL(我之前也是个 SQL Boy),所以 SQL 质量的高低直接影响了别人对你水平的判断。
4、要做 AI 项目么?
简历里当然可以写我的 AI 超级智能体项目,毕竟这个时代的程序员,会 AI 就比不会 AI 要加分,这也是我带大家做这个项目的初衷。
代码开源:https://github.com/liyupi/yu-ai-agent
但项目更侧重于应用开发,对于数据开发来说,不应该把这个作为重点,可以稍微往后放放;不过学完后在简历的专业技能部分就能很自信地写上 “自己熟悉 AI” 了,简历上额外补充个 AI 项目,也更容易拿到 Offer。
如果时间足够,在做完 AI 智能体项目、有了 AI 相关知识后,你可以做个数据相关的 AI 项目,比如用大模型来自动生成大数据 SQL 查询,或者做个数据质量检测的智能助手,再或者利用 AI 进行数据血缘分析等等。不过一定不要本末倒置!AI 只是给大数据项目做了赋能和创新,数仓开发的核心能力还是数据建模、SQL 编写和数据处理。
最后还有个小建议,平时可以多关注一些数据相关的技术博客和开源项目,比如阿里的 DataX、美团的数据平台架构等。面试时能聊到这些,会让面试官觉得你对这个行业有足够的关注度。虽然这并不是 10k 薪资的要求,但只有你自身水平高于 10k,拿 10k Offer 才稳,不是么?加油!
评论区有没有做数仓开发的朋友,欢迎分享你们的经验~
更多编程学习资源
- Java前端程序员必做项目实战教程+毕设网站
- 程序员免费编程学习交流社区(自学必备)
- 程序员保姆级求职写简历指南(找工作必备)
- 程序员免费面试刷题网站工具(找工作必备)
- 最新Java零基础入门学习路线 + Java教程
- 最新Python零基础入门学习路线 + Python教程
- 最新前端零基础入门学习路线 + 前端教程
- 最新数据结构和算法零基础入门学习路线 + 算法教程
- 最新C++零基础入门学习路线、C++教程
- 最新数据库零基础入门学习路线 + 数据库教程
- 最新Redis零基础入门学习路线 + Redis教程
- 最新计算机基础入门学习路线 + 计算机基础教程
- 最新小程序入门学习路线 + 小程序开发教程
- 最新SQL零基础入门学习路线 + SQL教程
- 最新Linux零基础入门学习路线 + Linux教程
- 最新Git/GitHub零基础入门学习路线 + Git教程
- 最新操作系统零基础入门学习路线 + 操作系统教程
- 最新计算机网络零基础入门学习路线 + 计算机网络教程
- 最新设计模式零基础入门学习路线 + 设计模式教程
- 最新软件工程零基础入门学习路线 + 软件工程教程