1.Java基础篇(阿里、蚂蚁、字节、携程、快手、杭州银行等)

问题:HashMap底层实现原理

答案

2.并发编程篇(顺丰、大华、字节等)

问题:Java实现多线程几种方式

答案

  1. 继承Thread类,只需要创建一个类继承Thread然后重写run方法,在main方法调用该类实例对象start方法
  2. 实现Runnable接口,只需要创建一个类实现Runnable接口然后重写run方法,在main方法中将该类的实例对象传给Thread类的构造方法,然后调用start方法
  3. 实现Callable接口,只需要创建一个类实现Callable接口然后重写call方法(有返回值),在main方法中将该类的实例对象传给 Future接口的实现类FutureTask构造方法,然后再将返回的对象传给Thread类的构造方法,最后调用start方法
  4. 线程池,首先介绍它的好处,然后再说它可以通过ThreadPoolExecutor类的构造方法来进行创建。

3.JVM篇(阿里字节、蚂蚁等)

问题:请简述JVM的类加载过程

答案

  1. 加载通过一个类的全限定名来获取此类的二进制节流,然后在内存生成一个代表这个类的Class对象
  2. 验证:确保Class文件的字节流包含信息符合《java虚拟机规范》的全部约束要求,保证虚拟机安全
  3. 准备:为类变量(即静态变量,被staic修饰的变量)赋默认初始值int为0,long为0L,booleanfalse引用类型null常量(被staic final修饰的变量)赋真实值
  4. 解析:把符号引用翻译为直接引用
  5. 初始化:执行构造器()方法,真正初始化类变量和其他资源
  6. 使用使用这个类
  7. 卸载:一般情况下JVM很少会卸载类,如果卸载类需要满足以下三个条件
    a. 该类所有的实例都已经被垃圾回收,也就是JVM中不存在该类的任何实例
    b. 加载该类的类加载器已经被垃圾回收
    c. 该类的Class对象没有在任何地方被引用

4.Hadoop篇(阿里

问题:MapReduce排序发生在哪几个阶段?这些排序是否可以避免?

答案:

  1. 一个 MapReduce 作业由 Map 阶段和 Reduce 阶段两部分组成,这两阶段会对数据排序,从这个意义上说,MapReduce 框架本质就是一个 Distributed Sort
  2. 在 Map 阶段,Map Task 会在本地磁盘输出一个按照 key 排序采用的是快速排序)的文件(中间可能产生多个文件,但最终会合并成一个),在 Reduce 阶段,每个 Reduce Task 会对收到的数据排序采用的是归并排序),这样,数据便按照 Key 分成了若干组,之后以组为单位交给 reduce 处理
  3. 很多人的误解在 Map 阶段,如果不使用 Combiner 便不会排序,这是错误的,不管你用不用 Combiner,Map Task 均会对产生的数据排序(如果没有 Reduce Task,则不会排序,实际上 Map 阶段的排序就是为了减轻 Reduce端排序负载)。
  4. 由于这些排序是 MapReduce 自动完成的,用户无法控制,因此,在hadoop 1.x 中无法避免,也不可以关闭,但 hadoop2.x可以关闭的。

5.Spark篇(美团字节等)

问题如何解决spark的小文件问题

答案:

  1. 通过sparkcoalesce()方法和repartition()方法
  2. 降低spark并行度,即调节spark.sql.shuffle.partitions
  3. 新增一个并行度为1的任务,专门用来合并文件

6.Flink篇(拼多多、联通等)

问题:Flink是如何支持流批一体的

答案:

7.Kafka篇(京东、携程等)

问题kafka如何保证精准一次性的

答案:

8.资源调度篇(快手、vivo字节等)

问题:请简述yarn工作流程

答案:

9.数据质量篇(微众、美团等)

问题:如何保障数据质量

答案:
1. 完整
a. 定义完整性是指数据的记录信息是否完整,是否存在缺失的情况。数据的缺失主要包括记录的缺失和记录中某个字段信息的缺失,两者都会造成统计结果不准确,所以说完整性是数据质量最基础的保障。
b. 案例比如交易每天支付订单数都在100万笔左右,如果某天支付订单数突然下降到1万笔,那么很可能就是记录缺失了。对于记录中某个字段信息的缺失,比如订单商品ID、卖家ID都是必然存在的,这些字段空值个数肯定是0,一旦大于0就必然违背了完整性约束
2. 准确性
a. 定义:指数据中记录的信息和数据是否准确, 是否存在异常或者错误信息
b. 案例:比如一笔订单如果出现确认收货金额为负值,或者下单时间公司成立之前,或者订单没有买家信息等,这些必然都是有问题的。
3. 一致性
a. 定义一致性一般体现在跨度很大的数据仓库体系中,比如阿里巴巴数据仓库内部有很多业务数据仓库分支,对于同一份数据,必须保证一致性
b. 案例:例如用户ID,从在线业务库加工到数据仓库,再到各个消费节点,必须是同一种类型,长度也需要保持一致
4. 及时性
a. 定义:在确保数据的完整性、准确性和一致性后,接下来就要保障数据能够及时产出,这样才能体现数据的价值。一般决策支持分析师都希望当天就能够看到前一天的数据,而不是等三五天才能看到某一个数据分析结果;否则就已经失去了数据及时性的价值,分析工作变得毫无意义。
b. 案例:现在对时间要求更高了,越来越多的应用都希望数据是小时级别或者实时级别的。比如阿里巴巴“双11” 的交易大屏数据,就做到了秒级
在这里插入图片描述

10.大数据场景篇(腾讯百度等)

问题:1亿个整数中找出最大的10000个数

答案:

原文地址:https://blog.csdn.net/qq_42397330/article/details/134625941

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_28068.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注