2023大数据面试总结

打印 上一主题 下一主题

主题 893|帖子 893|积分 2679

先说些废话

作为一个全栈开发工作者,曾经对公司专职的大数据开发有着浓厚的兴趣,所以尝试学习大数据开发所需要的各种技术栈。
本文就是我在学习过程中记录下,所遇到的一些大数据面试的提问,仅供参考。
当然,因为时间精力有限,并非所有的问题我都去记录了答案,如果您不了解某些问题或者不认可我记录的解答,可以带着问题百度或者问ChatCPT,相信会给您留下更深刻的印象。
最后,读者可以把本文当作模拟面试的提纲,欢迎各位在评论区交流,大家一起成长,努力变得更强!!!
高频基础知识点

执行过程

Linux


  • 如何查看内存,CPU占用

  • Shell脚本如何定义函数调用
  • Shell脚本第一行:#!/bin/bash的含义

    • 第一行的内容指定了shell脚本解释器的路径,而且这个指定路径只能放在文件的第一行
    • 第一行写错或者不写时,系统会有一个默认的解释器进行解释

  • Linux脚本授权是什么?Linux授权命令是什么?

    • chmod [{ugoa}{+-=}{rwx}] [文件或目录]
    • chmod [mode=421] [文件或目录]

  • Shell标准输出和标准错误是什么?
  • 工作中常用的Linux命令有哪些?
MySQL


  • sql的执行计划,执行错误报警机制
  • 索引有什么优缺点
  • 什么时候会导致索引失效
  • 如果我给一张表的所有字段添加索引会有什么样的问题
  • 如何进行sql调优 高频

Hadoop(HDFS/MapReduce/Yarn)

Hive

Hbase


  • Hbase查询用的多吗,有没有做过优化?

  • Hbase查询过滤器用过吗,简单介绍下

    • RowFilter、FamilyFilter、QualifierFilter、ValueFilter
    • SingleColumnValueFilter、SingleColumnValueExcludeFilter、PrefixFilter、PageFilter
    • 多过滤器综合查询FilterList
    • HBase过滤器查询

  • 用户画像的构建是Hbase做的吗?特征值怎么提取的?
  • 项目Hbase的RowKey是如何设计的?

Scala


  • Scala有什么特性
  • Scala的class和case class在使用层面有什么区别
  • Scala的Option类型的作用与使用方法
  • Scala的泛型斜变逆变
  • Scala的函数柯里化了解吗?优点是什么?
  • Scala的隐式函数、隐式转换

  • Scala用过哪些函数

  • Scala中的String是可变的吗?

    • String是一个不可变的对象,所以该对象不可被修改,这就意味着你如果修改字符串就会产生一个新的字符串对象,但其他对象,如数组就是可变的对象
    • String对象是不可变的,如果你需要创建一个可以修改的字符串,可以使用String Builder类
    • Scala:字符串

  • Scala是否可以多继承

    • Scala中的多重继承由特质(trait)实现并遵循线性化规则
    • 在多重继承中,如果一个特质已经显式扩展了一个类,则混入该特质的类必须是之前特质混入的类的子类
    • 这意味着当混入一个已扩展了别的类的特质时,他们必须拥有相同的父类

Spark

Spark面试资料合集

Kafka


  • 简单介绍下kafka的核心概念及个人理解
  • Kafka在数据传输过程中遇到重复数据怎么处理
  • Kafka在使用过程中如何保证数据不丢失
  • Kafka中的ack含义是什么

Kafka面试八问

大厂面试官竟然这么爱问Kafka,一连八个Kafka问题把我问蒙了?

  • 为什么要使用Kafka?
  • Kafka消费过的消息如何再消费?
  • Kafka的数据是放在磁盘上还是内存上,为什么速度会快?
  • Kafka数据怎么保障不丢失?
  • 采集数据为什么选择Kafka?
  • Kafka重启是否会导致数据丢失?
  • Kafka宕机了如何解决?
  • 为什么Kafka不支持读写分离?
Java

Flink


  • Flink-cdc介绍一下

  • Flink和Spark的区别是什么?
  • 你们之前使用Spark做实时,后来为什么使用Flink了?
  • Flink的windowapi的分类介绍一下
  • Flink常用算子介绍一下

  • Flink的cep了解么?怎么使用的?
  • Flink的水位线了解吗?可以具体讲讲吗?
  • 你们Flink主要使用api开发还是sql开发?
  • 能讲讲Flink双流join是如何实现的吗?
Flink面试资料合集

clickhouse


  • 你们有有过clickhouse做join吗?如何保证秒级延迟?
涉及到项目和数仓的问题

工作内容的问题


  • 你们的需求周期一般是多久?拿到需求之后怎么分析?
  • 在完成需求的过程中,有没有考虑过数仓的通用性,你们是如何体现的?
  • 你在工作中的最大收获是什么,带给你什么样的能力?
  • 你们的工作强度怎么样,能接受加班吗?
  • 如果一周内让你做十个紧急的需求,你会怎么办?
  • 你们部门之间是直接进行对接吗?
  • 有没有反驳过产品提出的需求,如果不合理怎么办?
各种组件需要学到什么样的程度

hadoop学习到什么样的程度


  • hdfs、mapreduce、yarn 基本原理即可
  • 各种面试基本题完成即可

    • MapReduce的执行过程,如何进行一个文件的计算,shuffle的过程(不需要手写mapreduce或者用java写mapreduce)
    • HDFS的读写流程
    • Yarn的任务提交流程,如何查看任务日志和报错信息

  • 大多数公司可能都进入spark阶段了
spark学习到什么样的程度


  • 主要为了优化mapreduce2的一些问题,利用内存计算,减少磁盘IO
  • spark streaming + hbase 离线实时 -> 使用flink搭建一整套实时
  • 熟悉spark开发的api和常用的算子
  • 熟悉spark调优
  • spark的应用:批处理,流处理流计算(flink和sparkstreaming),数据分析,图形计算
spark面试重点


  • 一些八股文知识点,基本原理,是高频且必须熟练知晓的,核心原理的流程和图
  • spark常见报错的解决方案

    • real spark冲突怎么解决
    • om怎么处理,driver的om和excute的om分别怎么处理

  • 参数调优,集群层面调优,应用层面调优

    • 为什么这么做
    • 有没有更好的方案

  • sparksql调优

    • 调优场景
    • 怎么发现问题的
    • 发现问题后怎么定位问题的
    • 定位问题后怎么解决的
    • 解决之后达到什么样的一个效果
    • 还有哪些更好的一些优化方案吗

  • 根据业务场景现场写sql,根据数仓的理论优化sql

    • 常规的业务逻辑,join,for函数,截取字符串,嵌套多个高级函数

  • 企业开发使用场景的解决方案

    • udf管理:统一仓库管理还是自己提交,怎么解决相同含义的sql function被重复的udf提交
    • thift server怎么用的,怎么用的,怎么解决多租户,怎么解决权限,怎么解决负载均衡

  • spark平台和二次开发,源码,遇到的问题详细问
  • 面试流程相关

    • 10-20分钟问项目
    • 20分钟问编程基础
    • 20分钟问组件
    • spark问20分钟左右

spark畅谈


  • 小公司大部分业务场景是离线开发,实时场景也较少
  • 大公司80%离线,20%实时
  • sparkstreaming批处理比flink批处理更快,性能差百分之五十左右,spark使用门槛较低
  • 入职后可以想老员工讨教经验,核心组件
  • 博客快速浏览一些内容
  • 官网提供的一些例子
未来技术趋势

附录

面试资料总结

大厂面试总结


我是 fx67ll.com,如果您发现本文有什么错误,欢迎在评论区讨论指正,感谢您的阅读!
如果您喜欢这篇文章,欢迎访问我的 本文github仓库地址,为我点一颗Star,Thanks~
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王海鱼

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表