驰骛科技_数开实习_一面

- 腾讯会议,没要求开视频

## 项目

- 没问项目,纯八股

## 八股

- Mapreduce的工作原理

  - 详细讲了三阶段

- Zookeeper的选举原理

  - 只讲了第一次启动,**忘了讲leader挂掉的情况**

- Zookeeper一般用在哪里

  - HA,zookeeper负责监控HA里多个NN的情况(**ZKFC转换NN状态**),一旦NN发生故障,要启动自动故障转移,避免HA出现脑裂情况

- HDFS读写流程

- Spark算子

  - 忘了讲两种算子的作用:
    - Transformation(转换算⼦,即从现有的数据集创建⼀个新的数据集)
    - Action(⾏动算⼦,即在数据集上进⾏计算后,返回⼀个值给 Driver 程序)
  - **还可以延申讲分别有哪些算子,自己用过的算子**

- 讲讲Spark的血缘关系

  - **讲血缘关系应该这样梳理**:

    - 什么是血缘关系:依赖关系反映了 RDD 是如何从其他 RDD 转换而来的,而多个连续的 RDD 的依赖关系,称之为⾎缘关系
    - 为什么要有血缘关系:每个 RDD 记录操作历史,可以根据依赖关系重计算丢失的分区;他是Spark 实现容错和优化计算的重要基础,RDD的弹性一词的依仗也有他
    - 怎么实现的重计算:往前找到宽依赖,宽依赖必有shuffle,有shuffle就有数据落盘,我们就可以避免从数据源开始重新执行计算(顺势提到宽窄依赖)

    - 血缘关系中细分有哪两种:宽窄依赖,然后讲他们俩的区分(宽依赖的父RDD的一个分区的数据会被子RDD的多个分区所依赖,窄依赖的父RDD的一个分区只能被子RDD的一个分区依赖,这也导致窄依赖多分区可以并行计算,而宽依赖不行)

  - 总结:血缘关系是Spark容错恢复的保障之一,也是优化计算的一种方式

    - 有利于数据的重新分布和并⾏处理。通过宽依赖(本质上是通过shuffle),可以将数据按照特定的规则重新分配到不同的节点上进⾏处理,从⽽充分利⽤集群的计算资源。提⾼处理效率,具体而言是以下两点:
    - **满足特定计算需求**:在很多数据处理场景中,需要将具有相同特征的数据集中在一起进行处理。例如,在进行**分组聚合操作**时,需要将相同键的数据分到同一个分区,以便在每个分区内进行聚合计算。宽依赖通过 Shuffle 操作可以实现这种数据的重新分布,将分散在不同节点上的相同键的数据收集到一起,为后续的计算提供便利。
    - **优化数据布局(负载均衡)**:通过重新分布数据,可以使数据在集群中的分布更加均衡,避免某些节点负载过重而其他节点闲置的情况。例如,当数据初始分布不均匀时,通过宽依赖的操作进行 Shuffle,可以将数据均匀地分配到各个节点上,提高集群资源的利用率。

- Kafka原理

  - 只知道使用,并不了解原理,准备和实时的Flink一起学习

- **窗口函数**讲一讲:

  - 排名函数
  - 跨行取值
  - 聚合类

- **Hive中怎么做到⾏转列和列转⾏?**
  - 一下卡住了没答,其实很简单
- 正则表达式知道吗
  - 我只知道去边查边用,不会记规则
全部评论
我是5号面的,一面直接oc不知道要不要去
点赞 回复 分享
发布于 03-06 09:49 重庆

相关推荐

12-04 16:18
已编辑
东华理工大学 前端工程师
面试官全程关摄像头1.自我介绍一下2.React和Vue哪个更熟悉一点3.你在之前那段实习经历中有没有什么技术性的突破(我只是实习了44天工作28天,我把我能说的都说了)4.你封装的哪个表单组件支不支持动态传值5.自己在实习阶段Vue3项目封装过hook吗6.hook有什么作用7.Vue2和Vue3的响应式区别(我说一个是proxy是拦截所有的底层操作,Object.defineProperty本身就是一个底层操作,有些东西拦截不了,比如数组的一些操作还有等等,面试官就说实在要拦截能不能拦截????我心想肯定不行呀,他的底层机制就不允许吧)8.pinia和vuex的区别(这个回答不出来是我太久没用了)9.pinia和zustand的区别,怎么选(直接给我干懵了)(我说react能用pinia吗  他说要用的话也可以)10.渲染一万条数据,怎么解决页面卡顿问题(我说分页、监听滚轮动态加载,纯数据展示好像还可以用canvas画)(估计是没说虚拟表单,感觉不满意)11.type和interface的区别12.ts的泛型有哪些作用(我就说了一个结构相同但是类型不同的时候可以用,比如请求响应的接口,每次的data不同,这里能用一个泛型,他问我还有什么)13.你项目用的是React,如果让你再写一遍你会选择什么14.pnpm、npm、yarn的区别15.dependencies和devdependencies的区别总而言之太久没面试了,上一段实习的面试js问了很多。结果这次js一点没问,网络方面也没考,表现得很一般,但是知道自己的问题了  好好准备,等待明天的影石360和周四的腾讯了  加油!!!
解zj:大三的第一段面试居然是这样的结局
查看15道真题和解析
点赞 评论 收藏
分享
评论
点赞
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务