常见面试提问

自我介绍

面试官你好,我叫xx,今年xx岁,本科云计算专业毕业,我在大四的时候就已经被上一家公司签下劳动合同,目前已经有4年的数据开发工作经历,在上一家公司主要负责 整个公司交易域以及BI报表这一块的模型建设和维护,我在任职期间从0到1完成了整个数仓的交易域建设,目前已经成为了整个公司的核心架构,我比较擅长离线计算,熟练数仓建模,能够熟悉使用市面上比较主流的一些大数据开发组件,像Hadoop hive spark Doris clickhouse 等等,期间也多次获得项目突出贡献奖、年度优秀员工称号、绩效考核也是名列前茅。

考虑离职的原因

我在目前公司工作了4 年。前几年,发现自己进步的特别快,很熟练的就已经成为了部门的骨干,但近 1 年发现,公司业务线比较稳定,自己的一个提升也遇到了瓶劲期。我不太满足于现状这种过于稳定的环境,我希望通过换一个平台或者环境能让我深入钻研大数据这个领域,把过去积累的经验落地到更有挑战的工作中,当然这其实也是我关注贵公司这个岗位的核心原因。

如何看待加班

我认为加班需要客观看待,核心是‘是否有价值、是否可控’。首先,我不排斥短期有必要的加班 —— 比如项目上线前的冲刺、突发紧急需求,这类加班有明确目标,能通过成果体现价值,我肯定会积极主动配合,并且会在加班前梳理清楚任务优先级,确保高效完成,避免无效耗时间。但我也认为,长期无意义的加班需要警惕 ,可能反映的是一个人个人工作效率低、流程冗余导致的加班,不仅浪费时间,还会影响长期工作状态。所以在工作中,我比较喜欢提前规划,按照优先级 有计划的进行。也会提前感知需求或者项目的风险,和领导积极反馈。

如果在工作中和其他同事产生了意见不合或者矛盾怎么处理

我认为工作中与同事意见不合是常态,核心处理原则是 对事不对人,聚焦共同的工作目标,而非争个人对错。主动沟通,我会认真听对方的顾虑,一起找领导共同协商,事后复盘。

简单介绍你最近的一个项目

基于 ClickHouse 的财务数仓建设落地
独立制定并实施落地了公司财务全量订单入仓的审计方案,方案中汇总了公司的所有订单明细数据,并按照要求进行
了汇总计算,包括财务核销、财务成本核算、财务 GMV 统计等 10 多个看板;完成上百亿数据(热数据 3.5T,冷数据 42T)在
clickhouse 单节点的分层建模、计算调优,每天运行 200+个作业;针对 ck 内存溢出的问题提出了分片计算的方法,为公司每
月节省成本近 800 元;大大提高了计算能力和速度,财务系统以前的计算方式需要 3 天,现在依靠数仓只需要 2 小时,为财务
系统的看板提供了准确、稳定的数据支撑。

销售工作台看板
独立制定《销售工作台》项目的技术方案和技术选型,完成了销售运营指标体系的建设,包括领课指标、转化指标、
外呼指标、GMV 等指标的统计与明细数据的建设,期间将项目一共拆分为 4 期,每一期逐步完成。项目中采用了 Doris 作为整
个平台的数据支持,完成了多数据源在 Doris 的分层建模和实时计算,期间进行了大量的性能调优,将 Doris BE 节点 CPU 和内
存指标从 70%~90%优化到 30%~50%,达到了每 5min 近实时更新。现阶段服务于近 3000 多个一线销售和运营老师使用,
一线老师能够更加准确、及时的感知用户的领课、参课、完课等情况,为一线老师的运营决策、绩效统计提供了准确、及时、稳
定的数据基础。

数仓交易域模型建设重构的方案与落地
技术组件:sqoop、spark、hive、azkaban
负责内容:从构建总线矩阵、到事实表建设、维度表建设等统一数仓建设过程出发,使用spark sqoop hive等组件完成了交易域模型建设的落地,包括但不限于:下单事实表、支付事实表、退款事实表、转单事实表、订单明细表、订单生命周期表、商品维度表、sku 维度表、用户维度表、训练营课程明细表、年课课程维度表等;交易域模型的建设避免了大量的重复计算,服务着公司 20 多个数据看板。

电商 OMS 数据初始化
技术组件:sqoop、spark、hive、azkaban、flink
负责内容:经历长达 4 个月的周期,使用 sqoop、hive、spark 等大数据组件帮助电商提供 OMS 系统上线的数据初始化支持,
包括履约单明细、服务履约、实物履约、课程履约、逆向履约等等,完成了 OMS 数据清洗的校验,帮助 OMS 解决了历史数据
初始化的数据量大、计算复杂、APP 矩阵数据权益计算等难题,为此节省了至少 2 个月时间,保障其稳定、及时的上线;后期又
基于 Flink 提供了 OMS 异常数据实时监控的数据看板,及时有效的监控 OMS 发货链路中暴露的多发、漏发等核心问题。

数仓调度作业监控以及数据质量监控
技术组件:scala、spark、hive、shell、azkaban
负责内容:为保证数仓数据质量的稳定、准确性。数仓每天运行 2000+个作业,需要保障这些作业的产出时间不会有延迟以及不
会有报错,使用 shell 调用了 Azkaban 开源接口(后续切换到华为云的 DataArts 接口),定时监控作业的执行状态已经执行时
间,如果有异常就会直接触发报警(钉钉消息、电话、短信);数据质量监控方面使用 scala、spark、hive 等技术,编写了数据
质量监控工具,主要监控数仓核心数据的空值率指标、数据量的同比、环比指标、以及数据量的跌零情况,如果触发了报警规则,
也会进行钉钉消息、电话、短信告警;来保障数仓数据质量的可感知,避免了至少 30 起 p0 级别的生产事故。

java、scala

Java中的多态、继承、封装?

封装:将类的属性(数据)和方法(操作)封装在一起,隐藏内部实现细节,仅通过公共接口(public 方法)对外暴露交互方式。保护数据安全性,防止外部随意修改,同时降低代码耦合度。
继承:让一个类(子类)继承另一个类(父类)的属性和方法,子类可复用父类代码,并可添加新功能或重写父类方法。代码复用,建立类之间的层次关系
多态:同一行为(方法)在不同对象上表现出不同的实现。简单说,“一个接口,多种实现”。

set和
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文文鑫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值