大厂面试:小红书大数据面试题及参考答案(3万字长文)

目录

Hadoop 和 Spark 的区别和优劣

Spark Shuffle 原理,Hash Shuffle 和 Sort Shuffle

线程池,阻塞队列有界无界,救急线程

JVM 内存模型

栈溢出的场景和应对方法

方法区是否能溢出,如果溢出的话储存的那些类信息怎么办

MySQL 索引设计原则

当数据量很大时,count(distinct uid)计算失败怎么办

小文件过多对Namenode的影响

不同数据库的应用场景及特点

Spark的组件及其在YARN模式下的区别

Spark组件

YARN模式

Spark外部资源及第三方jar包放置位置

Spark内存结构及堆外内存的优势

Spark内存结构

堆外内存的优势

Spark Standalone和YARN模式下的资源调度

Spark Standalone模式

Spark on YARN模式

Spark Executor内的Task隔离

Task隔离

Task调度

Flink如何实现Exactly Once语义

Flink和Spark Streaming的区别

Flink Checkpointing

Flink如何用Checkpoint和Watermark防止读到乱序数据

Flink Checkpoint Chandy-Lamport算法

Chandy-Lamport算法概述

Flink中的应用

示例

优势与局限

Flink和Spark Streaming在API的使用上如何体现面向微批次和面向流

Flink的面向流API

Spark Streaming的面向微批次API

对比

Spark 分Stage的原则

宽依赖与窄依赖

分Stage规则

示例

Hive 数据存储格式及其优缺点

Hive支持的数据存储格式

Hive 计算引擎的优缺点和应用场景

Hive计算引擎

Hive 两个大表Join的过程

Join过程

优化技巧

Hive 内部表和外部表的区别

内部表

外部表

Hive 使用UDF函数

UDF函数的使用步骤

示例

Hive MAX函数的实现

实现原理

示例

Hive 排序及其区别

Hive排序方法

示例

Hive Join 的几种方式及原理

Hive Join 的类型

Hive Join 原理

示例

MapReduce 确定 MapTask 数量的方法

原理

示例

HDFS 如何处理读写错误

处理方法

示例

Spark 和 Hive 去重方法及其优缺点

Spark去重方法

Hive去重方法

示例

TCP、UDP 和 TCP 拥塞控制算法

TCP 和 UDP

TCP 拥塞控制算法

示例

Java 中 String、StringBuffer 和 StringBuilder 的主要区别

主要区别

示例

数组和链表的区别

主要区别

示例

栈和队列

队列

示例

Java 的 ArrayList 的特点

示例

ArrayList 是否线程安全及实现线程安全的方法

示例

线程不安全和线程安全的具体表现

线程不安全的表现

线程安全的表现

线程安全的保证方法

Python 中字典和元组的区别

字典

元组

字典底层实现

字典底层实现细节

手动实现字典

HashMap 和 Hashtable 的线程安全性

HashMap

Hashtable

查看 CPU 大小和内存大小的命令

TCP 五层体系结构

何时使用 TCP 或 UDP

使用 TCP 和 UDP 的协议

使用 TCP 的协议

使用 UDP 的协议

JVM虚拟机运行时分区

运行时分区

示例

Java内存模型的三个性质

Java内存模型的性质

volatile是否能保证共享变量不出问题

volatile的保证

volatile的限制

示例

MR中的group by与distinct的区别

group by

distinct

Boosting算法和Bagging算法的区别

Bagging

Boosting

GBDT原理简介

GBDT原理

示例

Spark集群低带宽下从大数据量中找出中位数

解决方案

示例

需要开窗的HQL:求连续两个学期都选了数学的学生

示例

用Java代码实现:求1000以内的所有质数,并且各位数字之和是偶数

实现


Hadoop 和 Spark 的区别和优劣

Hadoop和Spark是两种广泛使用的分布式计算框架,它们各自具有不同的设计理念和技术特性。

Hadoop 是一个基于MapReduce编程模型的大规模数据处理框架。它通过将数据切分成块,在集群中的多个节点上并行处理来实现高性能的数据处理。Hadoop的核心组件包括HDFS(Hadoop Distributed File System)用于存储数据,MapReduce用于处理数据。

  • 优点:

    • 成熟稳定:Hadoop是一个经过长期实践验证的系统,有着丰富的社区支持。
    • 适合批处理:对于大规模数据的离线批处理非常有效。
    • 容错性好:Hadoop通过冗余备份和故障恢复机制保证了高可用性。
    • 可扩展性强:易于横向扩展,可以通过增加更多的节点来提升系统的处理能力。
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大模型大数据攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值