大数据面经 字节跳动 (整理)

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 大数据面经 字节跳动 (整理)

①人家的面经

作者:杨超越救救孩子啊

链接:https://www.nowcoder.com/discuss/170799

来源:牛客网

早上九点的面试,投的南京的岗位

一面:

一面面试官人很nice,遇到不会的也会安慰我说没关系,

上来先自我介绍,

说下项目,

说说对hadoop的理解,都有哪些组件,分别是干什么的

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

kafka在什么地方需要用到zookeeper

了解HBase吗?

说下spark中的transform和action

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

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

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

Java中抽象类和接口的区别

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

了解GC吗?说说

然后写一道编程题,给个字符串,只有(){}[],看看是否是匹配的,

用个栈直接解决了,问下优化,如果遇到右括号,在查看栈顶元素的时候如果不匹配直接返回false

还有什么要问我的吗?

还聊了下他们的团队工作内容,主要对Spark的源码进行修改,还有其他等等

大概是这些内容了。

二面:

二面面试官很严肃的感觉,不像一面面试官那样,比较轻松

上来就聊下项目

项目中kafka怎么使用的

了不了解nginx

给一个日志文件,有用户ID,时间戳,url,用mapreduce如何给出每天每个站点的访问任务

在这个过程可能会出现什么问题?我这里答了会出现数据倾斜,然后问如何解决

数据库都有哪些引擎

数据库的锁了解哪些,说说

应用层协议有哪些

什么场景用TCP,什么场景用UDP

HTTP状态码都有哪些,具体说一下

HTTP长连接和短连接

url和uri的区别

还问了http请求头的一些字段内容

还是上面那个日志,不过现在所有的数据是在数据库中,写条sql语句查询近一个月每天每个站点的访问人数。

有什么要问我的吗

二面很多没答上来,感觉凉了,没想到给我过了,,我现在还在怀疑人家是不是搞错了。。

三面:

三面面试官人也挺好,听声音是个大叔啊哈

首先还是自我介绍

说下项目

平时开发环境是windos还是linux

开发使用什么语言比较多

线程和进程的区别

hashmap的实现

hashmap的loadfactory是干嘛的

hashmap的扩容

为什么每次扩容都是翻倍,增加1.5倍不行吗

扩容的时候为啥不多扩一点,比如4倍

来了道算法题,两个三十六进制字符串的相加

一条直线可以把一个平面分成2个平面,两条直线最多分成4个,问n条直线最多分成几个面

有什么要问我的吗

试着答了一下

1.说说对hadoop的理解,都有哪些组件,分别是干什么的

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:公交车人数最高的时间段

算法:二叉树层次遍历

一个男孩,一个女孩的概率问题

瓶盖换水问题

维度建模步骤


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
4月前
|
存储 SQL 分布式计算
金三银四V2.0之大数据面试常见的10个问题
金三银四V2.0之大数据面试常见的10个问题
57 0
|
SQL 分布式计算 算法
面试心经01--大数据开发工程师
面试心经01--大数据开发工程师
|
SQL 存储 关系型数据库
面试心经02--大数据开发工程师
面试心经02--大数据开发工程师
|
数据采集 大数据
面试心经03--大数据开发工程师
面试心经03--大数据开发工程师
|
消息中间件 缓存 分布式计算
大数据面试需要掌握的知识点
大数据常见考察知识点
138 0
|
SQL 分布式计算 搜索推荐
3道数据分析师面试题实录
今天参加了一场数据分析师面试,遴选3道记录以资后鉴。
189 0
3道数据分析师面试题实录
|
SQL 资源调度 分布式计算
刚入职场的菜鸟,这些大数据知识点,你必须掌握了!
刚入职场的菜鸟,这些大数据知识点,你必须掌握了!