简介:2023年大数据面试题合集共1个docx文档,包体约491KB,内容聚焦大数据开发、运维、云计算、数据治理与架构师等岗位的真实面试场景。文档按Linux&Shell、Hadoop、Zookeeper、Flume、Kafka、Hive、HBase、Sqoop、Scala、Spark等模块系统整理,从常用命令到集群调优,覆盖HDFS读写流程、MapReduce Shuffle、Yarn提交流程、Kafka架构与参数优化、Hive内部外部表及窗口函数、HBase RowKey设计、Spark部署与作业提交、RDD血统和宽窄依赖等核心知识点,并附有面试考察重点提示。同时穿插LZO压缩、数据倾斜、宕机处理、基准测试、Kafka消息积压等实战经验,附有“Spark有几种部署方式”“reduceByKey与groupByKey的区别”“动态分区的底层原理”等典型面试问题,目录结构清晰,便于定位薄弱环节。目前已有879人学习/下载,适合准备跳槽、系统梳理大数据知识体系或冲刺大数据开发/运维/架构师等岗位的读者按需快速查阅、重点突破。
1. 大数据面试题不是题库,是一张覆盖开发、运维、云计算、数据治理、架构师的能力边界地图
2023 年那张“史上最全的大数据面试题清单”在圈子里传得很广,我见过有人拿它当题库逐条背诵,也见过一线团队拿它当新人摸底试卷。真正拉开差距的不是题目本身,而是你能不能看清这份清单背后要验证的能力:大数据开发考的是数据链路的工程化能力,运维考的是集群出问题时的不慌能力,云计算考的是资源成本和弹性扩缩,数据治理考的是机制而不是“清洗”,架构师则考全局取舍。我参与过几次面试官培训和候选人复盘,发现一个反直觉的结论——背题的人往往挂在追问轮,反而是按方向拆解能力边界的人更容易通过。所以这篇文章不逐题罗列,而是把这堆面试题拆成四个方向的知识地图、必答框架和高频翻车点,让你既知道该准备什么,也知道面试官为什么这么问。适合正在准备跳槽的大数据开发、运维、数据治理工程师,也适合想往架构师方向走但还没梳理过知识体系的人。
2. 面对四个方向的大数据面试题:先分清开发、运维、云计算、数据治理各自考什么
同一个大数据平台,不同岗位的面试题侧重点完全不同。把 2023 年这份全量清单按岗位拆开看,会发现底层知识重叠度很高,但考核方式和追问逻辑差异极大。我见过候选人用开发视角答运维题,也见过治理方向的人满嘴 Spark 参数,结果都被面试官一句“那你实际怎么落地的”问住。先搞清楚每个方向考什么,再针对性地准备。
2.1 大数据开发向:算法之外的 SQL、离线链路与实时链路
大数据开发方向的面试题,通常分三块。第一块是 SQL 基本功,笔试里大概率有一道窗口函数 + join 的场景题,考察你对数据倾斜、去重、连续登录这类经典问题的熟练度。第二块是离线链路,从数据采集到 HDFS 落地,再到 Hive 数仓分层、Spark 调度,面试官关心的是你能否说清楚每个环节的异常处理。第三块是实时链路,Flink 的 state、checkpoint、exactly-once 语义、反压机制是出现频率极高的点。
开发岗面试有个典型特征:面试官喜欢从小切口往下追。比如你提到“我们用了 Spark 做日调度”,他会接着问“Shuffle 分区数怎么定的?数据倾斜当时怎么定位的?”如果你的回答是“默认 200 个分区”或“加了个随机前缀”,大概率会被追问到底。因为大厂面试题考察的不是你知道某个优化手段,而是你能否在限定资源下做取舍。我一般建议候选人准备一个“从 Kafka 到 HDFS 到数仓”的最小闭环项目,把每一环的参数、异常场景、数据量级都写清楚,比背 50 道题更有用。
2.2 运维方向的考点:集群不稳定才是真正的考题
大数据运维的面试题,重心完全不在“搭集群”上,而在“集群出问题时你怎么处理”。面试官常问的几类问题包括:NameNode 元数据目录损坏怎么恢复、DataNode 节点磁盘写满如何平滑下线、Yarn 队列资源被占满怎么定位是哪个任务、ZK 集群脑裂时服务是否还能正常读写。这些题没有标准答案,面试官想听的是你的排查路径。
我把这类题归纳成“监控指标 → 定位手段 → 止损操作 → 根治方案”四步答法。比如磁盘写满,先说监控告警指标(DataNode 剩余空间阈值),再说定位手段(df -h + 检查哪个副本目录增长最快),再说止损操作(下线节点前先确认副本数满足,然后排除目录),最后说根治方案(给 HDFS 配置磁盘空间配额 + 定期清理小文件)。运维岗还有一个高频考点是“扩容和缩容”。面试官会问“集群要加节点,你从哪几步开始”,答案是先看机架感知和网络拓扑,再看 Yarn 和 HDFS 的配置文件是否需要同步变更。这些知识在官方文档里都有,但如果你没亲手处理过故障,很难答出层次感。
2.3 云计算向:资源调度、容器化与成本治理
云计算方向的大数据面试题,2023 年的趋势是从“会不会用云产品”转向“懂不懂资源调度和成本控制”。比如:云上跑 Spark 作业,怎么根据作业的内存特征选择实例规格;混部场景下,离线任务和在线任务如何做资源隔离;K8s 调度大数据工作负载时,Driver 和 Executor 的亲和性怎么设置。这些题的本质是考察你对“单位计算成本”的理解。
我建议准备三个必答点:第一,资源模型。你能说清楚 Spark on K8s 的 executor 请求资源如何映射到 Pod 的 requests/limits,以及为什么 limits 设置过大会导致节点资源碎片化。第二,弹性扩缩。实时计算作业在流量洪峰时,K8s 自动扩缩容和 Flink 自身的并行度扩缩容有什么关系,哪个先触发。第三,成本治理。云厂商账单里出现大量 Spot 实例被中断,作业如何设计才能容忍节点丢失——答案通常指向 checkpoint 频率和状态后端的选择。给一个我常用的判断标准:如果候选人在回答资源问题时能主动提到“我算过这个作业的单日成本”,我会认为他真的在云上跑过作业,而不是只看过文档。
2.4 数据治理向:面试官要的不是“清理数据”,是机制设计
数据治理方向的面试题,最容易答偏。候选人以为面试官想听数据清洗规则,实际上面试官想知道你怎么设计一套机制,让数据质量问题在源头被拦截,而不是在数仓里反复打补丁。常考的点包括:元数据管理、数据血缘、数据质量规则、主数据管理、数据分级分类。比如“数仓里出现重复数据,你怎么定位是上游接口重推还是 ETL 逻辑问题”,这道题不是考 SQL,而是考血缘追踪和告警机制。
治理题的答题框架,我总结为“事前定义标准、事中执行校验、事后追踪问责”。事前包括定义数据质量规则(完整性、唯一性、及时性等),事中包括在数据接入层做校验并阻断脏数据,事后包括血缘解析和影响分析。面试官问“你怎么让业务方相信你的数据质量报告”,答案是你要有可量化的指标基线,比如“核心表数据质量规则通过率 99.5%,连续两周未达标会自动冻结下游任务”。把机制讲清楚,比堆术语有用得多。另外一个容易被忽略的点是数据安全,面试官常问“数据分级分类之后,怎么在权限上落地”,你要能说出从元数据打标到 Ranger 权限策略的映射过程。
3. 大数据开发面试题里最高频的硬核考点:从 HDFS 到 Flink
开发方向面试题的技术密度最高,也是大部分候选人感觉“复习不完”的重灾区。我从 2023 年这份全量清单里挑选了出现频率最高的四组考点,按“原理 → 常见追问 → 参数与选型”的顺序讲透。这四组不覆盖全部内容,但能把面试中 70% 的硬核题目串起来。
3.1 HDFS 读写链路与“副本机制”的后续追问
面试题几乎必考 HDFS 的读写流程。写入流程大概是:客户端调用 DistributedFileSystem.create,向 NameNode 发起请求,NameNode 检查文件是否已存在以及权限,然后返回可用的 DataNode 列表。客户端按 128MB 分块写入,DataNode 之间通过 pipeline 方式复制副本,写完返回确认。读流程则是客户端从 NameNode 获取块的位置信息,就近读取。
但只答到这一步只能算及格线。面试官通常紧接着追问三个问题,这决定了你能不能拉开差距。第一个是“副本数为 3 时,写完第一个副本后第二个副本和第三个副本分别放在哪里”。标准答案是:第一个副本放在客户端所在节点,第二个副本放在同机架不同节点,第三个副本放在不同机架。追问会进一步细化:“为什么第二个副本放在同机架”——答案是减少跨机架网络开销,同时保证机架级容错。第二个是“如果 DataNode 写入过程中宕机,pipeline 会发生什么”——你要说出客户端会从 pipeline 中移除该节点,继续向剩余节点写入,并在最后通过 NameNode 重新发起副本复制。第三个是“blocksize 改为 64MB 会有什么影响”——答案是元数据增多、文件块数量上升,MapReduce 的 task 数也随之增加,可能提升并行度但增加调度开销。
再给一个我遇到的真实追问:“HDFS 适合存大量小文件吗”。这个问题背后是小文件导致 NameNode 内存压力增大,以及 MapReduce 处理时 task 过多。你可以补充一句:“HDFS 不适合小文件,但小文件问题可以通过合并工具或把数据写入 Hive 分区表时控制文件数来缓解。”这样回答会让面试官觉得你有实战意识,而不是只背了原理。
3.2 离线链路必考:分区、小文件与数据倾斜
离线链路是开发岗面试题的大头,问题通常从“一张日活用户表怎么从埋点到数仓”展开。我最推荐候选人准备一个自洽的数仓分层回答:ODS 层原样落地埋点日志,DWD 层做清洗和规范化,DWS 层做汇总,ADS 层供业务查询。每一层的分区策略、存储格式、压缩方式都要能说清楚。分区建议按日期分区(如 dt=yyyy-MM-dd),如果数据量特别大,再考虑按天 + 按小时二级分区。
面试官大概率会追问“你用什么存储格式,为什么”。常见组合是 DWD 层用 Parquet + Snappy,ODS 层用 ORC 或不压缩的文本格式以便排查问题。这里要注意,千万不要回答“Parquet 性能更好”就结束,要补充“列式存储适合分析型查询,谓词下推能减少 IO,而 Snappy 压缩率高、解压速度快,适合大吞吐场景”。面试官想听的不是名词,而是你选型时权衡过什么。
离线链路里必考的一道题是数据倾斜。现象、原因、解决方式三步答法建议背熟:现象是 reduce 阶段某个 task 长时间不结束,或 Spark 执行时某个 stage 卡在 99%——看 Spark UI 上当前 stage 的 task 耗时分布,单个 task 处理时间远超中位数。常见原因包括:join 时 key 分布不均、group by 单个 key 值过多(如热点商品)、空值聚集到同一个分区。解决方式要从三层说:第一层是优化 SQL,比如过滤空值或把热点 key 加盐打散;第二层是调整参数,比如 Spark 的spark.sql.shuffle.partitions适当提高分区数,让数据分散;第三层是改架构,对超大热点 key 做广播 join 或拆分维度表。
参数部分补充一个记忆锚点:Spark 动态资源分配有两个参数,spark.dynamicAllocation.enabled必须设为 true 并配合spark.dynamicAllocation.minExecutors和maxExecutors使用。面试官问“为什么不用固定资源”,答案是动态分配能在闲时释放计算资源给其他作业,这在云上直接关系到账单金额。
3.3 实时链路必考:Flink 的状态、精确一次与反压
Flink 相关面试题,2023 年是绝对高频。必考题包括:状态存储用什么、checkpoint 和 savepoint 的区别、exactly-once 怎么实现、反压怎么发现和缓解。
先说状态。Flink 的状态分 operator state 和 keyed state 两种,存储后端有 MemoryStateBackend、FsStateBackend 和 RocksDBStateBackend。高频追问是“生产环境选哪个”——答案几乎总是 RocksDB,原因是大状态时内存放不下,需要落盘,且增量 checkpoint 能降低快照开销;小状态或测试环境可以选 FsStateBackend。要补充说明“状态后端的选择会影响 checkpoint 的时机和恢复耗时”,这样显得你真的配置过。
再讲 exactly-once。需要明确:Flink 本身不能单独保证端到端精确一次,需要配合 Kafka 等 source/sink 的幂等或事务机制——source 端通过 Kafka offset 记录位点,sink 端用两阶段提交协议。面试官追问“两阶段提交失败怎么办”时,回答重点在“checkpoint 失败则作业自动重启,从最近一次成功的 checkpoint 恢复”,以及“如果 sink 不支持事务,退化为 at-least-once,需要下游做幂等去重”。
反压是面试另一大高频题。现象是数据源消费速率下降、上游 Kafka 堆积、任务背压监控报警。定位方法是看 Flink Web UI 里每个 task 的 backpressure 状态,High 表示该 task 成为瓶颈;逐层向上游排查是哪个算子处理不过来,最常见原因是 window 计算内单条数据逻辑过重或 join 未做 state TTL 清理。缓解方向包括:提高该算子并行度、优化 SQL 里 join 的顺序、给状态设置state.time-to-live避免无限膨胀。注意面试官会问“提高并行度一定有效吗”——回答说“不一定,若瓶颈是下游 Kafka 分区数固定,需同步增加分区数否则会出现数据倾斜”,这是加分项。
参数部分给一张 Flink 高频配置锚点表。
| 参数 | 默认值 | 一句话记忆点 |
|---|---|---|
taskmanager.memory.process.size | 无 | TaskManager 总内存,生产推荐至少 1GB 起步,过大或过小都会影响并发度与 GC |
state.backend | 无 | 生产选rocksdb,测试选filesystem |
execution.checkpointing.interval | 无 | 建议设置为业务可容忍的数据重复窗口,如 60s |
execution.checkpointing.mode | EXACTLY_ONCE | 默认已是精确一次,不用改 |
restart-strategy | fixed-delay | 生产建议配 failure-rate,避免故障时无限重启 |
3.4 高频参数的记忆锚点:想清楚“默认值为什么是它”
面试题里有一种阴险考法——不直接问“怎么调优”,而是问“这个参数为什么默认是这个值”。比如spark.sql.shuffle.partitions默认 200,候选人若回答“因为 Spark 官方定的”,面试官会继续追问“如果数据量只有 1GB,用 200 分区会出现什么问题”——答案是每个分区数据量太小,task 调度开销占比变大,作业反而更慢。
我的习惯是把高频参数默认值背后的逻辑串成一句话:“默认值是基于平均集群规模估算的,既不是最优也不是最差,而是不会出大错的平衡点。”然后用这个思路解释dfs.replication为什么是 3:三副本既能容忍单节点故障,又能容忍单机架故障,且存储成本在多数企业可接受——如果数据非常重要,你会自己调成 4 或 5,而不是期待框架默认帮你满足。这个“默认值即中庸值”的认知框架,能帮你在面对没准备过的参数题时,至少给出一个合理的推理路径。
参数题的回答公式,我总结为“默认值 + 修改后会怎样 + 生产环境我改成了什么”。比如面试官问“Flink checkpoint 间隔怎么设”,你回答“默认是 0 不启用,生产我配置为 60 秒,因为我们的上游 Kafka 延迟可能达到秒级,60 秒内状态变化不会超过内存上限,且恢复时最多丢失 60 秒数据”——这就是面试官想听到的答案。纯背数值的候选人一旦被追问“为什么是 60 不是 30”就露馅了,而你能把数据量和延迟预算说清楚,这道题就是送分题。
4. 架构师与运维视角的大数据面试题:答好方案题的三个框架
如果把开发向面试题比作计算题,架构师和运维向的面试题就是方案题——没有唯一答案,但存在清晰的评分维度。面试官看的是你对约束条件的分析、对风险的判断,以及最终方案是否可落地。
4.1 架构设计题的“约束优先”答法
架构题常见形式是:“如果让你设计一个日均亿级日志的实时分析平台,你怎么做”。很多候选人上来就画组件:Kafka、Flink、ClickHouse……五分钟把架构图背完了,面试官却摇头。问题在于你没有先声明约束条件。一个亿级流量的平台,和千万级流量的平台,方案完全不一样。
我推荐的“约束优先”答法分三步:
第一步,先说业务指标和约束。明确数据量级(QPS、峰值、单条大小)、延迟要求(秒级还是分钟级)、成本上限(能否接受大内存机器)、团队维护能力(有没有专职运维)。这一步的价值是让面试官知道你会按需求做取舍,而不是套模板。
第二步,给出选型并说明理由。常见方案是:数据接入用 Kafka 做削峰填谷,实时计算按延迟要求选 Flink(秒级)或 Spark Streaming(分钟级),结果存储按查询模式选:明细查询用 Elasticsearch 或 ClickHouse,汇总指标用 Redis 或 OLAP 引擎。每选一个组件都要带一句“为什么不是另一个”。比如“用 Kafka 是因为它的分区模型天然适配多消费者,且能支撑 7 天的数据回溯,而消息队列只做临时存储”。
第三步,指出这个方案的短板和演进路径。你可以直说它“单点风险是 ZooKeeper 依赖,流量翻倍时 Kafka 分区数可能成为瓶颈,到时候要按 key 拆分多集群,或引入数据湖做分层存储”。主动讲短板反而给面试官留下好印象,因为他能看到你对系统边界有认知,而不是只会画模板图。
4.2 稳定性面试题:从监控指标反推故障场景
运维向面试题和架构向面试题在这里交汇。面试官常问:“线上突然大量任务失败,你怎么排查”。我不会只回答“看日志”,而是给出一个可以复用的排查路径:
第一步看全局监控大盘,确认影响范围。是单个任务失败,还是同一时间多个任务、多个队列的失败。如果是集群级故障,先看 HDFS 的健康状态和 Yarn 的资源使用率,通常能从趋势图上判断是磁盘满、NameNode 假死,还是网络抖动。
第二步缩小范围。从失败任务的反压、日志、资源三个维度排除:反压高说明下游处理速度不足,日志报错直接看异常堆栈定位到具体组件,资源不足则看 Yarn 队列中任务等待时间。曾经见过一个翻车案例:DataNode 磁盘写满,任务日志里全是“disk out of space”,但监控大盘没配磁盘使用率告警,导致业务方比运维先发现。所以我会在面试里主动说一句“监控比排查更重要,告警项至少要覆盖 HDFS 容量、Yarn 活跃节点数、ZK 存活数、Flink checkpoint 失败次数这四个指标”,这比讲十个排查技巧更有冲击力。
第三步给恢复预案。恢复预案要分“止血”和“根治”。止血是先把受影响的作业停掉或降级,保证核心链路优先恢复;根治是找到根因后调整配置或扩容。面试官追问“先恢复还是先查因”时,回答一定是“先止血,保留现场日志,再查根因”。这一句能避免你把排障顺序讲反。
4.3 数据治理实务题:元数据、血缘与数据质量的三层落点
数据治理面试题在架构师级的清单里占的比重很高,因为治理问题本质上就是架构问题——元数据混乱代表没有统一的资产目录,血缘断裂代表变更影响不可控,数据质量差代表缺失校验机制。
回答治理题,我建议分层讲。第一层是元数据管理。你要说清楚元数据中心解决什么问题:统一技术元数据(表结构、字段、存储路径、分区信息)和业务元数据(归属团队、业务口径),并提供表级和字段级的检索。落地方案常见是采集 Hive/MySQL/Kafka 的元数据进统一平台,再通过标签体系做数据分类分级。第二层是血缘解析。血缘不仅指“这张表来自哪里”,更要能回溯“字段级依赖”。面试官会问“血缘解析怎么做”,最常见做法是解析 SQL 的 AST,抽取 insert 与 select 的字段映射关系。你不需要当场写一段解析代码,但要能说出“我们通过解析 Hive/Spark SQL 生成血缘图,在表结构变更时自动通知下游所有依赖方”。第三层是数据质量。重点是定义规则和建立监控,例如核心表“主键不为空且唯一”的通过率必须达到 100%,低于阈值时自动阻断发布。把这三层讲完,面试官基本可以确认你做过真正的治理项目,而不是只在 PPT 上看过概念。
治理题还有一个高频陷阱:面试官问“数据治理你能给出哪些量化指标”。很多候选人只能说“规则数”“覆盖表数”,这种回答价值不大。更优的答案是“核心数据资产覆盖率、质量规则通过率、血缘完整性(可追溯的表占总表比例)、治理需求平均响应时长”。每一项都能对应到一个系统功能或运营流程,面试官才有依据判断你的治理体系是否闭环。
5. 大数据面试题备战中的常见翻车点与排查方法:四类案例复盘
这一章专门复盘我在面试和模拟面试里见到的典型翻车现场。每个案例都按“现象 → 原因 → 解决”的结构整理,方便你对照自查。
5.1 现象:简历写了“熟悉源码”,结果被源码细节问穿
有人为了提高简历含金量,在技能栏里写了“熟悉 Hadoop 源码、熟悉 Spark 源码”,结果面试官从“NameNode 的 edit log 怎么落盘”一路问到“Spark 中 TaskScheduler 和 DAGScheduler 的分工”,候选人答得支离破碎。原因很简单:只是看过源码解读文章,没有真正读过源码或画过核心流程时序图。我这里不是说你不能写熟悉源码,而是要在写之前确认自己能逻辑自洽地回答三个问题——模块启动流程、核心数据结构、一次故障的处理链路。解决方法是选一个组件做精读,比如把 Yarn 上作业提交到 ApplicationMaster 启动的过程画成时序图,能用语言复述出来再写“熟悉”两个字。做不到就改成“了解核心设计”,避免给自己挖坑。
5.2 现象:把项目规模说得过大,被追问到数据量崩塌
候选人在自我介绍里说“处理过日均 10 亿条日志”,面试官立刻问“你集群多少节点、单机磁盘多大、峰值 QPS 多少、Kafka 分区数多少、作业延迟多高”。结果回答里出现矛盾——10 亿条日志的集群居然只有 10 个节点,或者 Kafka 分区数只有 12 个。原因是对量级没有概念,只想用数字吸引注意力。解决方法是准备项目数据时,先将几个数字互相验证:日数据量、节点数、单节点吞吐、HDFS 总容量、作业并行度,这些数字必须能自洽。例如 10 亿条日志、单条 1KB、日增约 1TB,HDFS 三副本需要约 3TB 存储,10 节点每台 500GB 勉强够,这些都可以算出来。算不出来的数字宁可不说,用“我们数据量大约每天几百 GB 到 1TB”这种范围描述更安全,也更能体现你有真实场景。
5.3 现象:只背结论不推过程,手写一致性细节时卡壳
这是最常见的一种翻车。候选人能顺畅说出“Flink 支持 exactly-once”,但当面试官问“如果消费 Kafka 时某分区 offset 提交失败,下游会不会出现重复消费”时,回答变成了“不会吧,因为有事务”。问题在于没理解 exactly-once 是分布式系统里一条环环相扣的链路:source 端靠 Kafka 的 offset 保存 checkpoint、算子内部靠 state 快照、sink 端要么幂等要么事务提交,任一环节不满足,整体就从 exactly-once 退化成 at-least-once。解决方法是准备一致性问题时,把“端到端”三个字放在嘴边,主动描述链路而不是下结论。面试官问任何一个环节,你都能接得住下一问,自然就过关了。
5.4 现象:面试官问“你们为什么不用 XX”,答“没听过”而不是“我们评估过”
技术选型题的最高频追问是“你当时为什么选 A 而不选 B”。候选人的崩盘点在于只回答了 A 的优点,而说不出 B 的劣势和评估过程。比如你用 Flink,面试官问“为什么不用 Spark Structured Streaming”,你说“Flink 吞吐更高”就结束了,但追问“高多少、你在什么场景测的、两种框架的状态管理差异在哪”就卡住。原因是选型时没有体系化比较,只是跟随团队方案。解决方法是准备一个选型对比表,从状态管理、延迟、流批一体、社区活跃度、团队熟悉度几个维度写清结论和依据。这样回答时能说出“我们评估过 Structured Streaming,它在 micro-batch 模式下状态管理语义不如 Flink 灵活,我们业务要求事件时间窗口的精确语义,所以选了 Flink”这种带有比较逻辑的答案,而不是空洞的“更好用”。
6. 考前一周的收尾技巧:用一张能力自测表给八类题型做减法
冲刺阶段最怕的就是每天刷大量新题,越刷越焦虑。我习惯在考前一周做一件事:把面试题按题型分类,给每个类别打分,然后集中补最弱的两个维度。你可以借鉴下面这张表。
| 题型类别 | 自检问题 | 分值(1-5) |
|---|---|---|
| 原理推导 | HDFS 写流程、Flink checkpoint 链路能否完整画出来 | |
| 参数调优 | 能否说出 3-5 个高频参数默认值及修改影响 | |
| 故障排查 | 遇到 Schema Change、磁盘满、反压时能否按步骤定位根因 | |
| 架构设计 | 能否在 10 分钟内给出一个带约束条件的方案并说明选型理由 | |
| SQL 编写 | 窗口函数、连续登录、join 去重能否在 10 分钟内写对 | |
| 源码理解 | 至少能画出 Yarn 提交作业到 ApplicationMaster 启动的时序图 | |
| 数据治理 | 能否说出元数据、血缘、质量三层机制的落地链路 | |
| 成本优化 | 能否算出作业在云上的单日成本并给出降本手段 |
打分之后,把最低分的两个类别拉出来重点突击。不建议做新题,而是回到你已经准备过的内容里,用“合上书复述”的方式检验掌握度。我当年有个血泪教训:考前两天还在刷新题,结果面试官问的全是自己简历里的项目细节——因为刷题占据了复盘简历的时间,反而丢了最容易得分的部分。所以我的习惯是考前只做两件事:把简历里每个项目的“数据规模、技术栈、遇到问题、解决方案”四项背熟,然后对着这张自测表把讲不流利的类别重讲一遍。这个习惯帮我在几次重要面试里稳住了节奏,希望帮到你。
本文还有配套的精品资源,点击获取