大厂面试:小红书大数据面试题及参考答案(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通过冗余备份和故障恢复机制保证了高可用性。
    • 可扩展性强:易于横向扩展,可以通过增加更多的节点来提升系统的处理能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/51175.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信息收集总结

关注内容 1. 企业股权架构:了解公司的股权结构,确定控股子公司,收集边缘业务系统资产。 2. 网站备案:获取公司的备案信息,包括根域名及其子域名。 3. 对外发布的产品:收集公司公开发布的产品信息&…

剑指Meta?1230 亿参数,Mistral 发布 Large 2 旗舰 AI 模型

7 月 25 日消息,AI 竞赛日益激烈,Meta 公司昨日推出开源 Llama 3.1 模型之后,法国人工智能初创公司 Mistral 也加入了竞争行列,在今日凌晨推出了新一代旗舰模型 Mistral Large 2。 Mistral AI 发布 Mistral Large 2,1…

[算法题]添加字符

题目链接: 添加字符 因为数据量很小, 所以直接两层遍历暴力求解, 依次将字符串 A 与字符串 B 相同位进行比对, 每轮记录当前轮次不相等的位数是几位, 并与历史上记录的比较取小值, 图示: 经过比较后, 题解就为 1, 空白处不用管, 因为题意是可以在开头和末尾添加字符的, 添加与…

c生万物系列(加减乘除模篇)

为了提高c语言的运行效率,我们需要采用更高效的运算,那么切入点就是随处可见的基本运算符合,从底层架构考虑,加减乘除的效率比位运算低很多,为了能够更好迎合CPU的二进制,有必要取代基本的加减乘除以及求余…

【“微软蓝屏”事件暴露了网络安全哪些问题?】建设安全稳固的网络基础设施

目录 前言一、软件更新流程中的风险管理和质量控制机制(一)测试流程及风险识别(二)风险管理策略(三)质量控制措施 二、预防类似大规模故障的最佳方案或应急响应对策(一)冗余系统设计…

2024最火的知识付费系统小程序+PC+H5三端数据互通支持采集资源开源版

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 系统含带 裂变模式 可以助力好友来获取资源共享 分站功能 独立后台 会员功能 卡密功能 二级分销功能等 自行研究看 后期有更新新版会在持续发布 目前版本是3.5 是我花三天时间修复的 …

科研论文之Word论文编辑

这篇文章介绍在word中怎么编辑论文,包括论文的模板、论文的字体设置、论文的插图、论文的参考文献等等。 为便利知识传播,我的所有文章都不会设置收费专栏。但文章写作不易,如有可能麻烦打赏一下,金额随意。收款码见下图&#xff…

《程序猿入职必会(5) · CURD 页面细节规范 》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…

nodejs - MongoDB 学习笔记

一、简介 1、MongoDB 是什么 MongoDB 是一个基于分布式文件存储的数据库,官方地址 https://www.mongodb.com/ 2、数据看是什么 数据库(DataBase)是按照数据结构来组织、存储和管理数据的应用程序。 3、数据库的作用 主要作用是 管理数据…

RedHat9 | Ansible 编写循环和条件任务

环境版本说明 RedHat9 [Red Hat Enterprise Linux release 9.0]Ansible [core 2.13.3]Python [3.9.10]jinja [3.1.2] 1. 利用循环迭代任务 通过利用循环,管理员无需编写多个使用同一模块的任务。Ansible支持使用loop关键字对一组项目迭代任务,通过配置…

音视频入门基础:WAV专题(3)——FFmpeg源码中,判断某文件是否为WAV音频文件的实现

一、引言 通过FFmpeg命令: ./ffmpeg -i XXX.wav 可以判断出某个文件是否为WAV格式的音频文件: 所以FFmpeg是怎样判断出某个文件是否为WAV格式的音频文件呢?它内部其实是通过wav_probe函数来判断的。从文章《FFmpeg源码:av_prob…

Spring Boot集成OpenPDF和Freemarker实现PDF导出功能并附水印

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…

关于@JsonSerialize序列化与@JsonDeserialize反序列化注解的使用(密码加密与解密举例)

注:另一种方式参考 关于TableField中TypeHandler属性,自定义的类型处理器的使用(密码加密与解密举例)http://t.csdnimg.cn/NZy4G 1.简介 1.1 序列化与反序列化 学习注解之前,我们可以先了解一下什么是序列化与反序列…

关于Redis持久化和集群模式(主从,哨兵,去中心化)使用和介绍

持久化: 持久化介绍 把内存中的数据存储到磁盘的过程。同时也可以把磁盘中的数据加载到内存中 持久化实现 redis实现持久化的方式提供了两种: RDB快照模式,数据备份和恢复速度快。 缺点: 数据完整性差。数据可能丢失多。 AOF日志追加: 数据完整性高。 缺点: 数据备…

遵义网站建设安全性保证

随着互联网的发展和普及,网站的建设成为了一个重要的工作,也是企业宣传的重要渠道。然而,随之而来的安全问题也是不容忽视的。为了保证遵义网站建设的安全性,我们需要采取一系列的措施。 首先,要选择合适的服务器和主机…

【Unity2D 2022:Data】读取csv格式文件的数据

一、创建csv文件 1. 打开Excel,创建xlsx格式文件 2. 编辑卡牌数据:这里共写了两类卡牌,第一类是灵物卡,具有编号、卡名、生命、攻击四个属性;第二类是法术卡,具有编号、卡名、效果三个属性。每类卡的第一…

算法题目整合5

文章目录 118. 小 y 删数字119. 小红的字符串切割120. 小红的数字匹配115. 组装手机116. 小欧的卡牌111. 构造二阶行列式112. 挑战boss 118. 小 y 删数字 题目描述 给定一个长度为 n 的数组,数组元素为 a1, a2, . . , an,每次能删除任意 a 的任意一位&…

(39)智能电池

文章目录 前言 1 通过任务规划器进行设置 2 补充信息 3 限制条件 4 参数说明 前言 虽然还不是很普遍,但智能电池更容易从飞行器上安装和拆卸,并且能够提供更多关于电池状态的信息,包括容量、单个电池电压、温度等。 ArduPilot 支持几种…

在Vue程序中,如何检测用户的登录状态并跳转到对应页面

在一个Vue应用程序中,你可以通过以下步骤来检测用户的登录状态并跳转到对应的页面。假设你使用的是Vue Router来管理路由,并且用户的登录状态保存在Vuex或localStorage中。 步骤一:在Vuex中管理用户的登录状态 首先,确保你在Vue…

开发环境搭建——Node.js

在启动前端项目的时候我们通常会用到Node.js,下面是对Node.js的下载安装以及配置的讲解 一、Node.js的安装 1.1、通过Node.js官网下载:Node.js — Run JavaScript Everywhere 下载后双击.msi安装文件后一直点击下一步即可 1.2、配置node 1.2.1、查看…