2024年大数据面经 字节跳动 (整理)_字节大数据开发面经(1)

Hadoop是大数据的组件,由HDFS,MapReduce和Yarn组成,HDFS主要负责数据的存储,MapReduce是作为计算引擎,负责计算,Yarn负责资源调度

2.还了解大数据其他组件嘛?这里我说了下kafka,然后巴拉巴拉,,,

Kafka是一个基于订阅发布模式的高性能、高吞吐的实时消息队列系统,用于实时架构中,实现将实时数据采集的数据进行实时存储,供于SparkStreaming或者Flink等工具实现实时数据消费处理

3.kafka在什么地方需要用到zookeeper

三种情况:
需要用到存储元数据和交换集群信息
解决分布式一致性问题
需要要消费者知道现在那些生产者(对于消费者而言,kafka就是生产者)是可用的。

4.了解HBase吗?

Hbase是一个基于分布式内存和HDFS的按列存储的NoSQL数据库,适合于需要实时的对大量数据进行快速、随机读写访问的场景

5.说下spark中的transform和action

1,transformation是得到一个新的RDD,方式很多,比如从数据源生成一个新的RDD,从RDD生成一个新的RDD

2,action是得到一个值,或者一个结果(直接将RDD cache到内存中)

6.为什么spark要把操作分为transform和action

因为所有的transformation都是采用的懒策略,就是如果只是将transformation提交是不会执行计算的,计算只有在action被提交的时候才被触发。这样有利于减少内存消耗,提高了执行效率

7.spark中有了RDD,为什么还要有Dataframe和DataSet?

RDD叫做弹性分布式数据集
与RDD类似,DataFrame是一个分布式数据容器,但是DataFrame不是类型安全的。
DataSet是DataFrame API的一个扩展,是Spark最新的数据抽象,结合了RDD和DataFrame的优点

8.了解函数式编程吗?说下c/c++和scala这种函数式编程语言的区别

scala便是函数式编程的一种,函数式编程语法比起面向对象语言更加简洁优化,

9.Java中抽象类和接口的区别

1.接口只能包含抽象方法,抽象类可以包含普通方法。
2.接口只能定义静态常量属性,抽象类既可以定义普通属性,也可以定义静态常量属性。
3.接口不包含构造方法,抽象类里可以包含构造方法。

10.都有抽象类了为什么还要有接口

抽象类与接口紧密相关。然接口又比抽象类更抽象,这主要体现在它们的差别上:类可以实现无限个接口,但仅能从一个抽象(或任何其他类型)类继承,从抽象类派生的类仍可实现接口,从而得出接口是用来解决多重继承问题的。

11.了解GC吗?说说

GC:垃圾回收,使用 GC 可以进行垃圾空间释放操作。
GC 是垃圾收集的意思,内存处理是编程人员容易出现问题的地方,忘 记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java 提供的 GC 功能可以自动 监测对象是否超过作用域从而达到自动回收内存的目的。

然后写一道编程题,给个字符串,只有(){}[],看看是否是匹配的,
用个栈直接解决了,问下优化,如果遇到右括号,在查看栈顶元素的时候如果不匹配直接返回false
还有什么要问我的吗?

② 字节(data数据中台)实习一面

自我介绍
项目(两个项目都问了)
MR中数据倾斜问题怎么解决
MR 过程中有几次排序过程
sql:公交车人数最高的时间段
算法:二叉树层次遍历
一个男孩,一个女孩的概率问题
瓶盖换水问题
维度建模步骤

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

识点,真正体系化!**

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

  • 24
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值