首页 > 其他分享 >还在担心秋招吗?看看24届已上岸同学的经验分享!

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

时间:2023-10-29 13:03:47浏览次数:37  
标签:24 数仓 上岸 Map Reduce SQL 秋招 简历 优化


随着秋招提前批、正式批逐步开始,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届已上岸同学的经验分享!_外部表_02


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

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

还在担心秋招吗?看看24届已上岸同学的经验分享!_经验分享_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

标签:24,数仓,上岸,Map,Reduce,SQL,秋招,简历,优化
From: https://blog.51cto.com/u_15346267/8079921

相关文章

  • 2023-2024-1 20231308 《计算机基础与程序设计》第五周学习总结
    2023-2024-120231308《计算机基础与程序设计》第五周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第五周作业这个作业的目标<关于机器语言与汇编语言,pep9的相关应用,循坏算法的了解......
  • 2023-2024-1 20231403 《计算机基础与程序设计》第五周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(如2022-2023-1-计算机基础与程序设计)这个作业要求在哪里(2023-2024-1计算机基础与程序设计第五周作业)这个作业的目标自学《计算机科学概论》第6章,《C语言程序设计》第4章作业正文https://www.cnblogs.com/lsrmy/p/177......
  • 2023-2024-1 20231416 《计算机基础与程序设计》第五周总结
    作业信息作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP作业要求在哪里https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP/homework/13009作业的目标自学《计算机科学概论》第6章和《C语言程序设计》第4章作业正文 https://www......
  • 2023-2024-1 20231306 《计算机基础与程序设计》第五周学习总结
    这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第五周作业)这个作业的目标Pep/9虚拟机、机器语言与汇编语言、算法与伪代码测试:黑盒,白盒作业正文https://www.cnblogs.com/zwywuhu/p/17785563.html......
  • 超全面!23年秋招1000+道Android中大厂面试题集锦(含答案)
    前言整理这些面试题源于在微信群和几个刚入职的小伙伴们的一次讨论,很多小伙伴谈了自己的面试经历和体会,很多人最初鄙视刷题党,觉得开发技能最重要,但在短暂的面试过程中很挫败。转而去看面试题,但是网上面试题太多但又不全,查找很不方便,多是看过的又看,看十道才能看到面试的题目,极大的浪......
  • 代码随想录第四天 | 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题
    question1:SwapNodesinPairshttps://leetcode.cn/problems/swap-nodes-in-pairs/IwasalittleconfusedatfirstbecauseI'mthinkingwhethershouldIcreatanewhead,butsoonIcameupwiththeideaofcreatpre=Noneandwithan'if-els......
  • 2023-2024-1 20231329《计算机程序与设计》第五周学习总结
    作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05这个作业的目标计算机科学概论第6章并完成云班课测试《C语言程序设计》第4章并完成云班课测试......
  • 这是我在51CTO博客的第一篇博文Loki 实现 Kubernetes1.24 容器日志监控
    使用Loki实现Kubernetes1.24容器日志监控一、基本介绍1.Loki架构2.Loki工作原理二、使用Loki实现容器日志监控1.安装Loki2.安装Promtail3.安装Grafana4.验证一、基本介绍Loki是由GrafanaLabs团队开发的,基于Go语言实现,是一个水平可扩展,高可用性,多租户的日志聚合系......
  • 2023-2024-1-20231317<<计算机基础与程序设计>>第五周学习总结
    《计算机基础与程序设计》第五周学习总结作业信息这个作业属于哪个课程<班级的链接>(2023-2024-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2023-2024-1计算机基础与程序设计第五周作业)这个作业的目标<学习《C语言第五章选择控制结构、第六章循......
  • 2023-2024-1 20211306 密码系统设计与实现课程学习笔记7
    20211306密码系统设计与实现课程学习笔记7任务详情自学教材第4章,提交学习笔记知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容“我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题......