5万字长文吃透快手大数据面试题及参考答案(持续更新)
目录
Flink为什么用aggregate()不用process()
为什么使用aggregate()
为什么不用process()
自定义UDF, UDTF实现步骤,有哪些方法?UDTF中的ObjectInspector了解吗?
自定义UDF实现步骤
自定义UDTF实现步骤
UDTF中的ObjectInspector
Spark Streaming和Flink的区别
Flume丢不丢数据?
Flume主要用来做什么?Flume用tail吗?
Flume的主要用途
Flume是否使用tail
Spark怎么做参数调优
参数调优步骤
Spark OOM如何处理
处理OOM的方法
不想用Spark的默认分区,怎么办?
修改Spark的默认分区
Spark自定义Partitioner 实现里面要求的方法 具体是哪几个方法?
自定义Partitioner实现方法
说一下你对元数据的理解,哪些数据算是元数据
元数据的分类
元数据的例子
描述平衡二叉搜索树的概念及其维护平衡的常见方法
维护平衡的常见方法
解释哈希冲突的原因以及解决冲突的不同策略
解决哈希冲突的策略
给出快速排序和归并排序算法的平均时间复杂度和最坏情况时间复杂度
描述图的深度优先搜索(DFS)和广度优先搜索(BFS)算法的实现细节
解释动态规划(DP)在解决组合优化问题中的应用原理
应用原理
详细讲述spark提交一个程序的整体执行流程,包括向yarn申请资源、DAG切割、TaskScheduler、执行task等过程
Spark常用算子列几个,6到8个吧
transformation跟action算子的区别
map和flatmap算子的区别
自定义UDF,UDTF,UDAf讲一下这几个函数的区别,编写的时候要继承什么类,实现什么方法
sparksql调优的方法依赖日志诊断,具体不同情况如何根据日理去调优
Spark任务调度源码实现过程
Spark Streaming的工作机制。Spark的工作机制,怎么绘制DAG的?
Spark Streaming的双流join的过程,怎么做的?讲一下。
Hive创建一个临时表有哪些方法
1. 使用 CREATE TEMPORARY TABLE 语句
2. 使用 CREATE TABLE AS SELECT (CTAS)
3. 使用 WITH 子句
讲一下三范式,三范式解决了什么问题,有什么优缺点
三范式 (3NF)
介绍一下group by max在hive的实现原理(从mr介绍一下过程),map阶段在干什么事情
GROUP BY MAX 实现原理
SQL窗口函数有哪些
HIVE窗口函数lead、lag、first_value、last_value的区别
UDF、UDTF、UDAF区别
讲一下数仓中维度建模的过程
1. 选择业务过程
2. 确定粒度
3. 确定维度
4. 确定事实表
数仓中维度表有哪几种
数仓中事实表有几种
数仓中什么是维度一致性,总线架构,事实一致性
维度一致性
总线架构
事实一致性
数仓中什么是拉链表,如何实现?
概念
实现
数仓中什么是微型纬度、支架表,什么时候会用到
微型纬度
支架表
有过数据治理的经验吗?
说一下你们公司的数据是怎么分层处理的,每一层都解决了什么问题
讲一下星型模型和雪花模型的区别,以及应用场景
星型模型
雪花模型
数据建模的几种方式了解吗,
维度建模怎么做的
事务表有几种类别,维度表呢
事务表类别
维度表类别
讲几个你工作中常用的spark 或者hive 的参数,以及这些参数做什么用的
Spark 参数
Hive 参数
工作中遇到数据倾斜处理过吗?是怎么处理的
谓词下推是什么
实现原理
连接条件写在on里和where里有什么区别
count(1)和 count()的区别
count(1)如果其中有Null值,和count()一样吗,为什么
mapreduce和spark处理distinct去重操作的执行计划以及原理
MapReduce 处理 distinct
Spark 处理 distinct
HIVE怎么把SQL转成MR了解吗?
转换过程
Hive创建一个临时表有哪些方法
数据域是什么,如何划分数据域,为什么这样划分数据域
如何划分数据域
为什么这样划分数据域
DIM层维度表的设计原则
DWD层事实表设计要点
数据库设计与优化
数据库设计原理
数据库优化技巧
数据库设计的原理知道吗,数据库设计大概有哪几个阶段
ngnix,负载均衡用的是哪个策略?iphash还是最小连接,还是权重?
码入MySQL这块怎么做的?你是通过什么往里面写数据的?要监听mysql要开始row模式吗?
监听 MySQL
HDFS怎么读文件和写文件的?
写文件
读文件
最终MR文件输出的个数取决于什么?
ZK的ZAB选举算法。他的一个选举算法。ZK里的节点类型有几种?
ZAB 选举算法
Zookeeper 的节点类型
HBase的架构。region主要是用来管理最终table的一个存储。Store里面又有什么呢?
HBase 架构
Store 组件
RowKey的设计原则?为什么不能超过一定的长度?为什么要唯一?rowkey太长会影响Hfile的存储是吧?Hfile里面会有memstore,是占内存里的,太长的话放不了太多数据,减慢检索效率。
RowKey 设计原则
RowKey 长度的影响
Hbase是按字典序存储的,所以要利用这个排序的特点。
利用排序的特点
Kafka概念与实践
Kafka 的概念
Kafka 的实践
Kafka的isr和osr。ack有几种值?
ISR (In-Sync Replicas)
OSR (Out-of-Sync Replicas)
Acknowledgments (acks)
Kafka基本原理说一下
Kafka 基本原理
Consumer Group中Consumer和Partition的对应关系
对应关系
Kafka支持什么语义(三种语义),怎么实现Exactly Once
三种消息传递语义
实现Exactly Once
Kafka基本原理说一下,和其他的MQ相比的优势
Kafka 基本原理
Kafka 与其他 MQ 相比的优势
Kafka消费者怎么从Kafka取数据的
Kafka消费者怎么保证有序性
Kafka生产者怎么保证不丢不重复(幂等)
Scala的模式匹配和Java有什么区别
Scala 的模式匹配特点
Java 的模式匹配特点
用Kafka的过程中有过什么问题,怎么解决
讲一下kafka对接flume 有几种方式
讲一下spark是如何将一个sql翻译成代码执行的,里面的原理介绍一下?
spark 程序里面的count distinct 具体是如何执行的
hadoop reduce怎么知道去哪里拉去task任务结果
hadoop task、reduce数量如何确定
CAP介绍一下吧,为什么只能3选2
为什么只能3选2
Java多线程了解吗?用Java语言写个生产者消费者模型
id department salary manager_id 找出员工薪水比领导薪水高的人员
有这样一个需求,统计一个用户的已经曝光了某一个页面,想追根溯是从哪几个页面过来的,然后求出在这几个来源所占的比例。你要怎么建模处理?
Java语言实现有序链表合并
n*m的带有数字的矩阵,从左上角走到右下角,问最短的路径上经过的数字的和是多少?
2. student course score 找出哪些学生课程比平均课程成绩高?
给出SQL ,用户关注表有user_id、user_follower_id,求相互关注的用户对(当数据量大的时候,如何不使用join来求相互关注,因为当时场景给定的id是字符abcd,可以考虑使用concat)
给一个字符串,返回所有符合的ip地址,给出代码实现
用sql来实现点击率计算
Flink为什么用aggregate()不用process()
在Apache Flink中,aggregate()和process()是两种不同的操作方式。aggregate()主要用于对流或批处理数据进行聚合操作,而process()则提供了更高级的事件处理能力,允许用户自定义如何处理每个元素。
为什么使用aggregate()
-
简化聚合操作:
aggregate()函数通常用于简单的聚合场景,例如计算流数据的总和、平均值等。它简化了常见的聚合操作,使得代码更加简洁易读。 -
性能优势: 使用
agg
相关文章:
5万字长文吃透快手大数据面试题及参考答案(持续更新)
目录 Flink为什么用aggregate()不用process() 为什么使用aggregate() 为什么不用process() 自定义UDF, UDTF实现步骤,有哪些方法?UDTF中的ObjectInspector了解吗? 自定义UDF实现步骤 自定义UDTF实现步骤 UDTF中的ObjectInspector Spark Streaming和Flink的区别 Flu…...
WordPress原创插件:启用关闭经典编辑器和小工具
WordPress原创插件:启用关闭经典编辑器和小工具 主要功能 如图所示,用于启用或禁用经典编辑器和经典小工具,以替代Gutenberg编辑器。 插件下载 https://download.csdn.net/download/huayula/89592822...
萝卜快跑:自动驾驶的先锋与挑战
萝卜快跑:自动驾驶的先锋与挑战 萝卜快跑作为自动驾驶领域的重要参与者,被视为自动驾驶的先锋。它代表了自动驾驶技术在实际应用中的重要突破,为人们的出行方式带来了革新。萝卜快跑的发展展示了自动驾驶技术的巨大潜力,如提高交通…...
得到xml所有label 名字和数量 get_xml_lab.py,get_json_lab.py
import os import xml.etree.ElementTree as ETrootdir2 r"F:\images3\xmls" file_list os.listdir(rootdir2) # 列出文件夹下所有的目录与文件# 初始化字典 classes_dict {}for file_name in file_list:path os.path.join(rootdir2, file_name)if os.path.isfi…...
数据结构算法-排序(二)
插入排序 插入排序核心 假设数组中的一部数据已经排好序,要插入的数据和这些数据进行比较,直到找到合适的位置插入新数据。 插入排序步骤 插入排序主要有以下步骤构成: 假设有序,我们假设**a[0]**已经排好序待插入的数据为a[j]…...
Linux安装与配置
下载VMware 首先我们需要下载一个叫VMware的软件: 进入官方下载,地址:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html选择与自己电脑版本适配的VMware版本【 输入许可证密钥 MC60H-DWHD5-H80U9-6V85…...
AI赋能交通治理:非机动车监测识别技术在城市街道安全管理中的应用
引言 城市交通的顺畅与安全是城市管理的重要组成部分。非机动车如自行车、电动车、摩托车等在城市交通中扮演着重要角色,但同时也带来了管理上的挑战。尤其是在机动车道上误入非机动车的现象,不仅影响交通秩序,还可能引发交通事故。思通数科…...
水电站泄洪放水预警广播系统解决方案
一、背景 在现代水利工程管理中,水电站泄洪放水预警广播系统扮演着至关重要的角色。这一系统不仅关系到水电站的安全运行,也直接关系到下游地区人民群众的生命财产安全。因此,设计一套完善、高效、可靠的泄洪放水预警广播系统显得尤为必要。…...
【Django】ajax和django接口交互(获取新密码)
文章目录 一、需求1. 效果图 二、实验1. 写get接口后端2. 写html后端3. 写前端4. 测试 一、需求 1. 效果图 二、实验 1. 写get接口后端 写views import string import random def getnewpwd(request):words list(string.ascii_lowercasestring.ascii_uppercasestring.digi…...
Logback 日志打印导致程序崩溃的实战分析
在软件开发和运维中,日志记录是必不可少的一环,帮我们追踪程序的行为,定位问题所在。然而,有时日志本身却可能成为问题的根源。本文将通过一个真实的案例来探讨 Logback 日志系统中的一个常见问题,当并发量大ÿ…...
新加坡 Numen Cyber 与香港光环云数据有限公司达成战略合作
新加坡本土网络安全公司 Numen Cyber 宣布与香港光环云数据有限公司(简称“光环云香港”)建立战略合作伙伴关系。此次合作将重点放在云服务器和云服务业务场景的安全领域。 Numen Cyber,作为一家致力于为客户提供专业网络安全服务和一体化安…...
Laravel魔术方法:框架的隐秘力量
Laravel魔术方法:框架的隐秘力量 引言 Laravel是一个充满魔力的PHP框架,它通过许多巧妙的设计让Web开发变得简洁而优雅。在Laravel中,魔术方法(Magic Methods)是这些魔力的体现之一。魔术方法是PHP预定义的、可以在类…...
系统复习Java日志体系
一,我们采用硬编码体验一下几个使用比较多的日志 分别导入几种日志的 jar 包 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSch…...
网络管理linux命令
在Linux系统中,有许多常用的网络命令用于检查网络配置、诊断网络问题以及管理网络连接。以下是一些常用的网络命令及其简要说明: ifconfig 显示或配置网络接口。 ifconfigip 用于显示和操作路由、设备、策略路由和隧道。 ip addr show ip link show ip …...
PowerDNS架构解析与安装部署指南
1、背景介绍 目前公司使用PowerDNS进行DNS管理,但由于采用的是单节点架构,存在不可用的风险。为提升系统的稳定性和可靠性,我们计划对现有架构进行重构。通过引入高可用性设计,我们将优化系统架构,使其能够在故障情况…...
Ubuntu 20.04.6 安装 Elasticsearch
1.准备 -- 系统更新 sudo apt update sudo apt upgrade -- 安装vim 文本编辑器 sudo apt install vim-- jdk 版本确认 java -versionjdk 安装可以参照:https://blog.csdn.net/CsethCRM/article/details/140768670 2.官方下载Elasticsearch 官方地址:h…...
Python for循环迭代原理(迭代器 Iterator)
在使用Python时,我们经常会使用for循环来访问容器对象(列表、字符、字典等)中的元素。其幕后实际是通过迭代协议来完成的,迭代是一种依次访问对象中元素的方式,for循环在对象上调用iter()函数生成一个迭代器࿰…...
通信原理-思科实验四:静态路由项配置实验
实验四 静态路由项配置实验 一:实验内容 二:实验目的 三、实验原理 四、实验步骤 选择三个2811型号的路由器 R1、R2、R3 路由器默认只有两个快速以太网接口,为路由器R1和R3增加快速以太网接口模块NM-1FE-TX,安装后检查路由器的接…...
ngzero使用外部的svg图标
1.将图标svg下下来,放到项目中,路径如下所示 之后 <span nz-icon [nzIconfont]“‘icon-zhibiao’”>使用 2.直接使用阿里的图标 先将你要用的图标放入购物车,再将购物车的图标添加到你主页的我的项目中 之后代码中在startupService…...
逆矩阵、秩
在数学的广阔天地中,线性代数扮演着至关重要的角色。它不仅是现代科学和工程学的基石,也是理解复杂数据结构的关键。本文将深入探讨线性代数中的几个核心概念:逆矩阵、秩、列空间和零空间,通过详细的解释和丰富的实例,…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
C++_哈希表
本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说,直接开始吧! 一、基础概念 1. 哈希核心思想: 哈希函数的作用:通过此函数建立一个Key与存储位置之间的映射关系。理想目标:实现…...
