还在担心秋招吗?看看24届已上岸同学的经验分享!
  8bxyRFfzXN55 2023年11月13日 14 0


随着秋招提前批、正式批逐步开始,7月中旬开始投递到9月初,我拿到了第一份大厂的正式意向Offer。到国庆节前为止,陆续收到了5,6个Offer意向。趁着国庆放假期间,也做了一些自我总结,在这里分享给大家。

1.准备简历

简历是你与面试官建立第一印象的关键工具,应保证内容的饱满和编写风格清晰简洁。简历内容主要凸显两个点,一是与岗位的匹配度,二是能力的展示

就大数据开发方向而言,需要掌握的技能主要有以下几个点:

①计算机基础及Java编程语言及SQL语言:重点掌握计算机网络、数据结构、面向对象编程思想、Java基础、JVM、多线程、SQL基础。

②大数据组件:Hadoop框架(HDFS、Mapreduce、Yarn),离线方向主要是Hive、Spark,实时方向主要是Spark Streaming、Flink,另外就是一些常用的组件比如Sqoop、Flume、Kafka等。

③数据仓库:数仓分层思想、维度建模、数据建模等。

④优化:数仓优化、SQL优化等。

其次,简历中需要包括自己的一些经历以凸显自身能力。根据自身情况从学科竞赛、实习经历、项目经历、科研成果角度展现如独立思考能力、团队协作能力、沟通能力等

2.岗位投递

秋招一般包括提前批和正式批,提前批的招聘信息通常会在暑假期间发布,部分公司提前批会免笔试,而正式批一般在九月份发布,及时关注互联网公司招聘信息投递简历。简历投递后会一般会经历测评和笔试阶段,测评需保证前后的一致,笔试题型一般包括计算机基础、SQL基础、算法题等。

这里的投递渠道我参考的涤生资料库,如下:

还在担心秋招吗?看看24届已上岸同学的经验分享!_项目经历

3.面试环节

面试环节主要包括以下几个过程:

①自我介绍:针对简历经历进行自我介绍,保证表达清楚、语速恰当。

②面试官提问:针对技能点进行以及项目经历提问。

1)技能点提问(占比20%):背八股即可。可参考涤生的八股总结,最常问的包括Hadoop架构相关、Mapreduce读写过程、Hive执行过程、Java基础等。

还在担心秋招吗?看看24届已上岸同学的经验分享!_SQL_02


2)项目经历提问(占比80%):结合项目+八股回答。最常问的包括数仓分层理论、维度建模、事实表维度表区别、Hive SQL优化等。项目经历这块是面试官最关心的点,一般也会根据项目去深挖,所以在面试前需要对项目进行完整的复盘,数仓相关的八股能结合案例回答,比如数仓在项目中怎么分层的。梳理每一个优化SQL涉及场景,包括数据来源、带来的问题、优化原理、最终效果。

还在担心秋招吗?看看24届已上岸同学的经验分享!_经验分享_03

还在担心秋招吗?看看24届已上岸同学的经验分享!_SQL_04

③手撕算法或SQL:算法题一般中等难度,难度小于笔试,常见的重点题需要掌握,比如快排、区间合并等。SQL题一般会给具体的场景,常见的考题包括连续登录问题、分组统计、关联等。

可参考:秋天的第一道SQL题,数开面试必考系列一(社招校招均适用)

还在担心秋招吗?看看24届已上岸同学的经验分享!_外部表_05

值得推荐,这资料绝了,针对性极强还不乏增强扩展!

面试技巧

①问八股时,适当扩充回答内容。

②问数仓时,结合业务流程+数仓理论回答。

③问优化时,怎么发现的、优化前存在问题、优化的原理、优化后的效果。

4.经典面试题回答示例

1.数据倾斜

①产生本质:数据分布不均匀

②现象:任务卡在某个进度不动;已完成Reduce与未完成Reduce的执行时间相差很大。

③定位:对业务涉及的数据量以及可能发生倾斜的算子提前感知;根据执行计划的stage定位到对应的算子;

④解决方案:结合业务场景考虑过滤或者打散。针对空key或与业务无关的key导致的倾斜可以直接过滤;针对group by或join产生的数据倾斜,可以将热点key打散然后提高并行度缓解数据倾斜。

2.指标产出时效性的保证

①数据模型角度:针对指标产出整个链路涉及的事实表、维度表梳理,结合数据量对业务涉及sql逻辑优化。

②运维角度:提升优先级,保证指标计算不因资源不足影响时效性。

③监控角度:配置相应规则,一旦指标产出延迟及时告警排查。

④值班角度:安排人员对核心指标链路执行情况实时监控。

3.数仓分层优点?

①数据角度:提升整体数据质量,复杂数据模型被拆解到多层完成,保证复用性,减少重复开发。

②开发人员角度:帮助业务线人员清晰认知业务流程,明确口径定义,减少沟通成本。

③企业角度:从全局视角审视业务,方便后续决策。

4.Hive中内外表区别?

①内部表创建不需要用external修饰,外部表则需要

②内部表存储位置由hive配置指定,而外部表存储位置一般由用户指定,如果未指定,也会存储在hive配置路径中。

③内部表由hive自身管理,删除的时候会删除元数据和数据文件,而外部表删除只会删除元数据,数据文件不会被删除。

④对于中间结果表一般定义为内部表,而对于日志文件一般使用外部表。

5.Mapreduce工作原理

1)输入与Map:

1.客户端根据切片算法、切分大小对文件进行切分。

2.根据切片个数确定Map任务个数,每个Map以键值对形式读入数据,根据业务逻辑进行处理映射成新的键值对。

2)Map端Shuffle:

3.每个Map会开启一个100M的环形缓冲区,数据输出到环形缓冲区,写满80%进行溢写到磁盘同时在溢写前进行快速排序。

4.Combine(可选):在不影响最终计算结果情况下,可以考虑使用Combine操作使输出更加紧凑。

5.归并:将每个Map的多次溢写文件归并生成一个已分区并且已排序的大文件,采用归并排序保证有序。

3)Reduce端Shuffle:

6.Copy:Reduce启动copy线程,从MapTask中复制输出,只要Map任务完成,即可开始复制其输出。

7.归并:Copy过来的数据在磁盘上利用归并排序进行merge保证有序。

4)Reduce与输出

8.按照MapReduce语义,会针对已根据键排好序的key构造Value迭代器,然后执行Reduce端业务逻辑输出写入到文件系统。

我个人的面试示例就展示这么多了,希望大家结合自己的情况参考,预祝大家在金秋10月都拿到理想的Offer!

还在担心秋招吗?看看24届已上岸同学的经验分享!_项目经历_06

最后附上几张日常各阶段大佬的日常辅导截图:

还在担心秋招吗?看看24届已上岸同学的经验分享!_外部表_07

还在担心秋招吗?看看24届已上岸同学的经验分享!_外部表_08

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  biE3E3UjTjeg   2024年01月22日   11   0   0 SQLSQL
8bxyRFfzXN55