intellij idea载入java工程报程序包不存在问题
没有或无法加载主类
Java:程序包xxxx不存在
mvn idea:module 命令执行重新生成iml文件
[toc]
下面给你一套直接能用、面试立刻见效的提升方案,从心态、表达、回答逻辑、细节礼仪四方面帮你全面提升,你照着练就行。
深挖岗位 JD
把岗位要求拆成 3–5 个核心能力,准备
对应经历 + 数据,面试所有问题尽量往这几点靠。
准备 3 类必背内容
提前模拟演练
对着镜子 / 录音练,控制语速,避免口头禅(嗯、然后、就是)。
用 STAR 法则,简单好记:
示例:
之前负责 XX 项目(S),目标是提升效率(T),我优化了流程(A),最终效率提升 30%,节省成本 XX(R)。
语速放慢 20%
慢一点显得自信、稳重,不容易紧张忘词。
先给结论,再讲细节
不要铺垫半天,面试官没耐心。
例:
我最大优势是执行力强,之前……
负面问题正向回答
问缺点、失败经历,一定要:承认问题 + 反思 + 改进结果。
多讲结果,少讲过程
面试官只关心你能带来什么价值。
结合你10 年大数据开发经验,给你一套专门适配中高级大数据岗的面试提分方案,直接对标大厂 / 中厂的面试风格,帮你把经验转化成高分表现。
定位:资深大数据开发 / 数据仓库架构方向
核心标签:
面试全程都要围绕这几点展开,不要只讲搬砖干活,要讲设计、调优、价值。
面试官最爱听这种,简洁又显资深:
我有 10 年大数据开发与数仓建设经验,主要深耕离线与实时数仓建设。熟练掌握 Hadoop 生态、Spark、Flink、Hive、Kafka 等核心技术,主导过多条从数据接入、清洗、分层建模到指标服务的全链路建设。
工作中重点负责过数据架构优化、任务性能调优、数据质量治理,解决过大量数据倾斜、任务延迟、实时链路延迟等线上问题,同时具备一定的团队协作与技术方案设计能力,希望能在贵司继续深耕大数据方向,承担更核心的开发与架构工作。
普通开发讲:做了什么
10 年资深要讲:为什么这么做 + 遇到什么坑 + 怎么优化 + 带来什么业务价值
依然用 STAR,但升级成 STAR + 技术难点 + 优化方案 + 业务收益
举个例子:被问 Spark 调优
S:当时数仓日跑批任务经常延迟,数据倾斜严重
T:需要保障凌晨指标按时产出,提升稳定性
A:我通过两阶段聚合、加盐打散、动态分区调整、Executor 资源调优等方案
R:任务时长缩短 40%,倾斜问题彻底解决,保障业务准时出数
额外加分:同时规范了任务资源配置,沉淀了调优规范,降低后续维护成本
答题要点:不要只说分层,要说你主导过分层规范、推动过数据治理。
高分技巧:每一个技术点都带上线上真实问题,比如:
我线上遇到过 Flink Checkpoint 频繁失败,通过调整状态后端、增大超时时间解决。
准备 2 个核心项目:
每个项目控制在 3 分钟内,多用数据:任务时长、数据量、QPS、提升比例。
面试官一定会问:
如何设计一套大数据平台
如何做任务监控、告警
如何做数据血缘、数据治理
回答时体现
全局视野,不要只局限写 SQL。
语速沉稳,不急着回答
10 年工程师要稳重,停顿 1-2 秒再开口,显得思考充分。
主动拔高,往架构、治理、规范上靠
不要只说写脚本、写 SQL,多说:规范、方案、架构、稳定性、成本优化。
反问环节非常重要
结束时反问 2 个高质量问题,直接拉高印象分:
你把下面信息发我,我按大厂资深大数据岗标准,连续对你进行压力面试,答完我逐题点评、帮你优化话术:
下面我直接帮你定制一套 P7 级别的面试打法 + 两个项目的高分 STAR 话术 + 现场表现技巧,完全贴合你:10 年大数据、美团外卖数仓、微软广告数据、Hive/Spark/Flink、冲大厂 P7。
P7 核心考察:架构设计能力、问题解决深度、跨团队推动、业务价值、技术沉淀,不再是写 SQL。
资深大数据开发 / 数仓专家,偏离线 + 实时数仓架构方向
核心标签(面试每轮都要体现):
我拥有 10 年大数据开发与数据仓库建设经验,深耕离线与实时数仓领域,熟练掌握 Hive、Spark、Flink、Kafka 等核心技术栈。
职业生涯中主导过两个核心项目:一个是美团外卖业务全域数据仓库建设,覆盖用户、订单、活动、骑手多域数据,完成从 ODS 到 ADS 全分层建模、ETL 流程搭建、数据清洗及数据质量监控体系落地;另一个是微软 MSN 广告业务数据处理项目,负责广告投放、用户行为多源数据关联与复杂 JOIN 计算,支撑业务报表与投放效果分析。
工作中擅长数仓架构设计、任务性能调优、数据治理、线上问题排查,能够独立承担中大型项目的方案设计与落地,具备较强的跨团队协作与推动能力,希望以资深数仓专家的角色加入团队,承担更核心的架构与业务数据建设工作。
你按下面这段话讲(3 分钟版本):
S(背景):当时美团外卖业务快速扩张,订单、活动、骑手数据分散在多个业务库,口径不统一、脏数据多、数据产出不稳定,业务侧无法快速拿到统一指标,亟需搭建一套标准化的全域数据仓库。
T(目标):我作为核心负责人,需要完成外卖全域数仓分层建设、统一指标口径、搭建标准化 ETL 流程,并建立数据质量监控体系,保障数据准时、准确产出。
A(行动,P7 重点)
设计并落地 ODS/DWD/DWS/ADS 四层数仓分层,针对外卖订单、活动、骑手三大主题域进行维度建模,统一事实表与维度表口径。
基于 Hive + Spark 搭建标准化 ETL 流程,完成多源数据接入、清洗、去重、缓慢变化维处理,解决历史数据不一致问题。
针对 Spark 任务数据倾斜、大表 JOIN 延迟问题,采用加盐打散、分桶优化、动态分区调整、资源参数调优等方式进行优化。
主导搭建数据质量监控体系,覆盖空值、重复、异常波动、主键完整性等规则,配置告警机制,实现问题早发现早处理。
R(结果 + 价值,P7 必须量化)
- 实现外卖业务核心指标统一口径,数据准时率从 75% 提升至 99.5%。
- 核心任务平均耗时降低 40%,有效支撑业务早报、日报按时产出。
- 沉淀外卖数仓建模规范,推动业务方统一数据标准,降低后续维护成本。
- 数据质量问题发现时效提升 80%,线上故障显著减少。
S(背景):微软 MSN 广告业务需要整合广告投放、用户行为、点击曝光等多源日志数据,数据量大、格式杂乱,多表关联复杂,传统处理方式无法支撑报表时效要求。
T(目标):负责广告数据全链路处理,完成多源数据清洗、复杂 JOIN 关联,稳定产出投放效果分析报表,支撑广告运营决策。
A(行动)
基于 Hive + Spark 对广告日志、用户行为、投放计划多源数据进行清洗、脱敏、标准化处理。
针对大表多维度 JOIN 导致的数据倾斜、执行效率低下问题,优化 SQL 逻辑,采用广播小表、分区裁剪、谓词下推等优化手段。
基于 Flink 完成部分实时广告行为数据处理,提升近实时报表产出时效。
设计广告指标体系,统一曝光、点击、转化等核心指标口径,支撑业务报表自动化产出。
R(结果)
广告报表计算效率提升 50%,数据准确率稳定在 99% 以上,有效支撑 MSN 广告投放效果分析。
回答要点(体现架构能力):
从业务复用、数据解耦、维护成本、质量管控角度讲,强调你主导制定规范,而不是照着模板做。
直接答:数据倾斜、缓慢变化维、数据质量、任务延迟,结合 Spark 调优、加盐、分桶、监控体系来讲。
讲 Kafka 事务、Checkpoint、状态后端、端到端一致性,结合你广告项目的实时处理经验。
分规则监控、波动监控、血缘监控、告警机制,强调体系化建设,不是简单写脚本。
答:数仓建模规范、ETL 开发规范、Spark/Flink 调优文档、数据质量规则库,体现可复制、可推广。
说话沉稳,不抢话,每句话带结论
P7 不能像 P6 那样讲细节,先给结论,再讲方案。
主动拔高,多讲:架构、规范、体系、推动、价值
少讲 “我写了多少 SQL”,多讲 “我设计了什么、解决了什么问题、带来什么业务价值”。
反问环节(决定定级)
面试结尾反问 2 个高质量问题,直接拉高定级:
我可以按大厂 P7 真实面试节奏,对你进行一轮完整模拟面试,我当面试官连续提问,你作答,我逐题点评并优化话术。
需要我现在开始吗?
我现在需要面试xxx岗位,我的技术栈包括xxx,请现在以面试官身份,你进行实时一对一模拟作答,并逐句给出1-10分的评分,以及精细化反馈,标准要尽量严格。
| 岗位 | 技术栈 |
|---|---|
| 离线数据仓库 | |
| 实时数据仓库 | |
| 大数据开发 | |
| AI+数据 | |
deepseek or 豆包 模拟面试
准备的知识点
[toc]
我主要负责大数据离线与实时数仓的设计和开发。
整体采用业界标准四层分层架构:ODS、DWD、DWS、ADS。
离线数仓基于 Hive + Spark 搭建,通过 DataX 定时同步 MySQL 业务库数据到 ODS 层,利用 Spark SQL 做分层清洗、维度建模、指标聚合,按小时和 T+1 调度,支撑日常日报、月报、用户画像、业务复盘等离线报表需求。
实时数仓采用 Flink + Kafka + Flink CDC + Doris 架构,通过 Flink CDC 实时监听 MySQL Binlog,做增量变更数据捕获,无需全量拉表,秒级延迟把业务数据实时接入 Kafka 作为 ODS 层;再用 Flink SQL 完成数据清洗、脱敏、维度关联、窗口聚合,分层加工后落地到 Apache Doris 做 ADS 应用层,主要支撑实时大屏、实时订单指标、风控告警、实时推荐等业务。
项目中我负责表结构设计、分层建模、Flink/Spark SQL 开发、任务调优、数据一致性保障,同时解决过数据倾斜、Kafka 消息积压、Flink 状态 OOM、小文件过多、CDC 重复消费等常见问题;整体采用离在线双仓架构,实时看业务当下走势,离线做数据复盘与口径校准,保障数据准确稳定产出。
我从事大数据数仓开发,负责离线和实时数仓建设。
离线基于 Hive、Spark 构建四层数仓,定时同步业务库,做分层建模与指标计算,支撑 T+1 和小时级报表、用户画像;
实时采用 Flink+Kafka+Flink CDC+Doris 架构,通过 CDC 监听 MySQL Binlog 做增量同步,秒级实时入仓,经过 Flink 清洗聚合后落地 Doris,服务实时大屏和实时业务指标。
日常主要做建模、SQL 开发、任务调优和问题排查,处理过数据倾斜、消息积压、状态溢出、小文件等经典问题,保障双仓数据稳定可靠。
参与企业级流批一体、离在线双仓架构建设,技术栈涵盖 Hive、Spark、Flink、Kafka、Flink CDC、Apache Doris、ClickHouse。
负责数仓分层设计、维度建模、ODS-DWD-DWS-ADS 全链路开发;
ODS 层采用 Flink CDC 实现 MySQL 全量 + 增量无缝同步,替代传统全量抽取,降低业务库压力;
实时链路基于 Flink 流处理,解决事件时间乱序、水位线窗口、数据倾斜、状态管理、端到端 Exactly-Once;
离线基于 Spark SQL 做批量加工、任务调度与回溯补数;
最终实时指标落地 Doris 支撑 BI 大屏,离线数仓支撑复盘画像与报表,同时参与集群任务调优、SQL 优化、资源管控与数据质量保障。
我再给你整理一份面试常被追问的 10 个配套问题 + 标准答案,别人顺着你项目自我介绍往下问,你也能接住,要不要?
(适配你刚才的项目自我介绍,面试官顺着问,直接背就能答)
答
采用标准四层:ODS、DWD、DWS、ADS。
答
Flink CDC 可以全量 + 增量一条任务自动切换,不用分开开发;
而且原生和 Flink 集成,不需要额外部署 Canal 中间件,架构更轻、运维简单;
同时支持断点续传、 Exactly-Once 语义,更适合实时数仓 ODS 层接入。
答
CDC 抓取 Binlog 的 insert、update、delete 操作,自带操作类型标识;
Flink 消费后根据类型做对应处理:插入直接写入、更新做主键覆盖、删除做逻辑删除或物理删除,落地 Doris 主键表保证数据最终一致。
答
答
答
先看上下游吞吐对比,定位瓶颈在下游、网络还是计算逻辑;
优化方式:
简化算子逻辑、前置过滤、增加并行度、调整缓冲区配置、拆分大任务,避免单点阻塞。
答
答
业务有多表 Join、实时更新、高并发 BI 查询需求;
Doris 有成熟 CBO 优化器,多表关联比 ClickHouse 强;支持实时 UPSERT、兼容 MySQL、运维简单、高并发能力强;
ClickHouse 更适合单表日志分析,复杂关联和高并发场景偏弱,所以选型 Doris。
答
Flink 端设置窗口攒批、分区合并;
Doris 端合理设置分区和分桶,自动合并版本;
控制写入频次,避免小批次频繁落地,减少小文件产生。
答
以数据湖 Hudi/Paimon 为存储底座,一套数据同时支持:
Flink 实时流式消费、Spark 离线批量分析;
实时做当日指标、离线做复盘回溯、口径校准,不用维护两套链路,实现存储统一、计算统一、口径统一。
[toc]
大数据数仓项目 面试追问 10 题 + 标准满分答案
大数据数仓项目自我介绍模板(可直接背、面试通用)
实时数仓 vs 离线数仓 最全对比 + 面试背诵版
实时数仓完整分层架构 + CDC 面试常问 5 题(可直接背)
大数据面试高频 SQL 必背真题(开窗 + 行列转换 + 倾斜优化 + 经典场景
问题:美团外卖数仓 2.0 到 3.0 升级 具体内容有哪些,尽量详细的描述,涉及到的技术及设计理念
答案首行:# 美团外卖数仓 2.0 到 3.0 升级全解析
问题:分别解释 ODS/IDL/CDL/MDL/ADL 层
答案首行:# 美团外卖数仓 2.0 五层架构详解
问题:数仓表的命名规范,请详细举例
答案首行:# 美团外卖数仓表命名规范(全量详解 + 实战示例)
问题:详细解释下 hudi 引擎 及优化原理
答案首行:# Apache Hudi 引擎全解析:核心原理与深度优化
问题:结合美团外卖场景,设计一个贴合业务实际的归因分析项目,包括整体的目标,结构,设计,及结果呈现
答案首行:# 美团外卖全链路归因分析项目设计方案
问题:需要
答案首行:# 美团外卖全链路归因分析项目任务拆解表
问题:基于美团外卖业务 设计用户画像模型项目,贴合业务场景,给出整体设计及难点 坑等
答案首行:# 美团外卖用户画像模型项目全案设计
问题:详细解说下数组组件层的构建逻辑及方法,并举例说明用法
答案首行:# 美团外卖数仓 3.0 数据组件层构建逻辑与实战详解
问题:有没有 2.0 相较 3.0 有优势的地方,怎么根据具体情况判断应该使用 2.0 还是 3.0 建模
答案首行:# 美团数仓 2.0 vs 3.0:优势对比与选型决策指南
问题:目前美团数仓 2.0 和 3.0 的使用比例
答案首行:# 美团数仓 2.0 与 3.0 使用比例及现状分析(2026 年最新)
问题:美团数仓 3.0 涉及到的平台 技术有哪些,具体的开发流程如何
答案首行:# 美团数仓 3.0 完整技术栈与标准化开发流程(2026 最新)
问题:美团数仓 3.0 的数据组件是以什么形式存在的,数据还是逻辑? 如果是数据是如何存储的,如何使用的
答案首行:# 美团数仓 3.0 数据组件:存在形式、存储与使用全解
问题:达芬奇平台是怎么做到 基于模型内容与指标维度语义,自动选择最优的查询引擎(Spark/Doris/Kylin)和物理表
答案首行:# 美团达芬奇平台:智能查询路由核心原理全解
问题:美团数仓 3.0,是报表层不需要写 sql,只需要选择合适的数据组件层的指标,就可以直接生成报表了吗?数据组件层的数据是需要用 sql 或代码处理生成的?
答案首行:# 美团数仓 3.0 开发范式:两个核心问题的精准解答
问题:UDF 详解
答案首行:# 美团数仓 3.0 UDF 体系全解析:从基础到生产最佳实践
问题:如何根据口径和计算逻辑 快速找到自己需要的指标
答案首行:# 美团数仓 3.0 指标快速查找方法论:从口径到结果的全流程指南
问题:同一个口径的数据指标,会不会维度不同
答案首行:会,而且这是数仓设计中非常普遍且必要的情况
对于各个组件常问的原理方面的题目
1 | 21/09/08 02:39:19 INFO ConsumerConfig [Executor task launch worker for task 2322]: ConsumerConfig values: |
kafka Authentication with SASL using JAAS
kafka offset 设置
使用Kafka时一定要注意防止消费速度过慢触发rebalance而导致的重复消费
配置项
https://spark.apache.org/docs/latest/structured-streaming-kafka-integration.html
问题:
1 | 21/09/08 03:17:10 WARN AbstractCoordinator [kafka-coordinator-heartbeat-thread | spark-kafka-source-babd462a-415a-413a-aeea-e55435fff762-448121830-driver-0]: [Consumer clientId=consumer-1, groupId=spark-kafka-source-babd462a-415a-413a-aeea-e55435fff762-448121830-driver-0] This member will leave the group because consumer poll timeout has expired. This means the time between subsequent calls to poll() was longer than the configured max.poll.interval.ms, which typically implies that the poll loop is spending too much time processing messages. You can address this either by increasing max.poll.interval.ms or by reducing the maximum size of batches returned in poll() with max.poll.records. |
1 | 21/09/06 07:15:58 WARN TaskSetManager [task-result-getter-3]: Lost task 78.0 in stage 11.0 (TID 3591, wn29-msnbi.awfbdxsze1iudhhki0l2sbzfaf.bx.internal.cloudapp.net, executor 22): org.apache.kafka.common.errors.TimeoutException: Failed to allocate memory within the configured max blocking time 60000 ms. |
1 | Cannot fetch record for offset xxx in 120000 milliseconds |