当前位置:   article > 正文

2024年大数据最全2024-JAVA-大数据-面试汇总_大数据java部门面试,【深夜思考_java大数据量处理面试题

java大数据量处理面试题

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

7 之前的64M 是从哪个版本变换的?

hadoop 1.0  默认是64M, hadoop 2.0 由64M 改为128M

8 那假设现在是128M,那我在工作中想把它调为256M,那我需要调整什么,才能改变块的大小?

主要是磁盘的存储决定 块的大小,块组成的文件的大小取决于磁盘的传输速率,调整磁盘,可以改变块的大小。

9 Hdfs的读写过程你了解吗? 简单讲讲?

那我就说说写过程吧,

  • 1、客户端跟nameNode 通信,请求上传文件,nameNode检查文件,父目录是否存在,并向客户端返回是否可以上传文件
  • 2、客户端请求第一个block块该上传到哪个datanode服务器上,nameNode查询从节点之后,返回对应的danaNode 服务器
  • A,B,C等。
  • 3、客户端请求nameNode服务器,采取就近原则,选择A服务器上传数据(本质上是个RPC调用,建立PipeLine),A收到
  • 请求后,A调B,B调C,将每个pipline建立连接,然后逐级返回给客户端
  • 4 客户端开始往A上传第一个block,以Package为单位,A收到一个Package,就会传给B,B传给C,A每传一个package就会
  • 放入一个应答队列,等待应答。
  • 5、当第一个block传输完成后,客户端再次请求namenode上传第二个block。

10 挺好,那你说一下MapReduce的工作原理?

  • 1、客户端启动一个job,然后向jobTracker请求一个jobID
  • 2、 然后将运行所需要的资源文件上传到HDFS上,包括Mapreduce程序打包的jar包,配置文件,以及计算的输入划分信息等
  • 3、 这些文件全部存储在JobTracker专门创建的jobID文件夹中(jar文件会有10个副本,输入划分信息对应着jobTracker应
  • 该启动多少个Map任务)
  • 4、JobTracker将这些资源文件放入作业队列中,调度器根据调度算法对作业文件进行调度,根据输入划分信息划分Map任务
  • 并将map任务分配给TaskTracker执行。
  • 5、taskTracker每隔一段时间发送给jobTracker一个心跳,告诉它自己的运行情况,这个心跳中包含map任务完成的进度等。
  • 6.当最后一个任务完成后,jobTracker会将该任务设为成功,返回给客户端。客户端得到结果,得知任务完成便显示
  • 消息给用户。

11 你在具体讲一下map中的一些步骤,例如partition,sort,combiner,shuffle等等。

好的,sort 主要是排序,combiner是合并,partition是分片等,

首先Mapper根据文件进行分区,sort将Mapper产生的结果按照key进行排序,combiner将key相同的记录进行

合并,partition是吧数据均衡的分配个Reducer. shuffle是Mapper将结果传给Reduce,在这期间容易发生数据倾斜等。

12 那这个数据倾斜一般是在Mapper端发生的还是Reduce中发生的?

Mapper将数据处理完传给Reduce,当Reduce进行处理时,因为一部分key的数据量过大,导致其他分区已经执行完成

而数据量过大的key执行时间过长,所以数据倾斜是发生在Reduce端的。

13,对,那发生数据倾斜是因为这个key分布不均匀,那你会怎么优化呢?

因为研究生期间研究的课题就是关于Spark的并行大数据清洗,所以对MapReduce和Spark发生数据倾斜的过程和解决方法

比较熟悉,

可以在Mapper期间将大数据量相同的key进行分散,通过添加N以内的随机数前缀,对数据较多的Key进行子扩展,

先进行局部操作,再去除随机数之后进行聚合操作,避免在进行Shuffle操作时出现数据倾斜问题。

14 那Mapper端进行combiner之后,除了速度会提升,那从Mapper端到Reduece端的数据量会怎么变?

数据量会减少,因为combiner之后,会将相同的key进行一次聚合,数据量会在这时候减少一部分

15 map 输出的数据如何超出他的那个小文件内存之后,那他是落地到磁盘还是落地到HDFS中?

落地到磁盘中,因为map,reduce操作,就是一次次的I/O请求

16  Map到Reduce默认的分区机制是什么?

这个是根据那个hash进行计算   对map中的key做hash,对reduce个数取模

17 hadoop的调优主要针对配置文件的调优你知道哪几种?

  • 思考了一下,
  • 1、因为Mapreduce运算时是在磁盘中进行的,所以 通过修改磁盘I/O,也就是设置和的预读缓冲区大小
  • 来提高hadoop里面大文件顺序读的性能。以此来提高I/O性能。
  • 2、通过修改三个配置文件的参数如 core-site.xml,mapred-site.xml,hdfs-site.xml等
  • 例如 修改core 文件里面的buffer.size,来修改读写缓冲区的大小,还有hdfs文件里面的block.size修改块的大小等
  • 都可以进行调优

18 好的,给你出个题,现在有1G的数据文件,里面有四个字段,分别是id,name,age,class,然后要按照class来分组,

id来排序,口述一下mapreduce的过程是怎么实现的?这里面会有几个map?

思考了一下,

  • 1、首先1G文件,那默认一个块是128M,所以可以分为8个块,对应的就是8个Mapper
  • 2、然后定义一个对象,将四个属性封装到对象中,实现序列化和反序列化
  • 3、定义一个类继承partitioner类,调用对象中的class属性设置分组,
  • 4  在map端对文件进行读取,然后通过Split来进行分割,调用对象的id作为key,然后进行局部sort排序,在combiner局部聚合
  • 后通过reduce来进行整体聚合。

说完之后感觉对着吧,果然,听见面试官说嗯嗯,好。觉得差不多对啦

19 嗯嗯,好,说说yarn吧,它有什么优势,能解决什么问题?

yarn集群主要分为主节点ResourceManage,从节点 NodeManage  ResourceManage负责资源的分配,将集群的资源分配给

各个应用使用,资源分配的基本单元是Container,NodeManage则是一个计算节点的管理者,负责启动应用的

所需的Conbiner,并对内部资源进行监控等。

yarn一般和mapreduce进行结合,主要是对mapreduce中的资源计算进行维护等。

答完之后,心想别问yarn吧,这块看得不是很深,哈哈,果然,面试官问了一个问题后就跳过了

20 说说Spark吧,Spark为啥比Mapreduce运行块,原因都有哪些?

1 spark是基于内存计算,mapreduce是基于磁盘运算,所以速度快

2 spark拥有高效的调度算法,是基于DAG,形成一系列的有向无环图

3 spark 是通过RDD算子来运算的,它拥有两种操作,一种转换操作,一种动作操作,可以将先运算的结果存储在

内存中,随后在计算出来

4 spark 还拥有容错机制Linage

21 什么是RDD?

RDD就是弹性分布式数据集,可以理解为一种数据结构,拥有多种不同的RDD算子

22 你都知道哪些RDD算子?

比如转换操作,有map().fliter() flatMap(),distinct()等  动作操作  有 collect ,reduce 等

23. 你知道reduceBykey 和groupBykey有啥区别吗?

reduceByKey会在结果发送至reducer之前会对每个mapper在本地进行merge,

有点类似于在MapReduce中的combiner。这样做的好处在于,在map端进行一次reduce之后,数据量会大幅度减小,

从而减小传输,保证reduce端能够更快的进行结果计算。

groupByKey会对每一个RDD中的value值进行聚合形成一个序列(Iterator),此操作发生在reduce端,

所以势必会将所有的数据通过网络进行传输,造成不必要的浪费。同时如果数据量十分大,

可能还会造成OutOfMemoryError。

24.现在有一个业务,当SparkStreaming在消费kafka里面的数据,然后消费了一段时间之后,程序挂了,当

下一次程序启动时如何保证SparkStraming能继续消费kafka之前的位置?

听到这个问题时,我就偷笑啦,幸亏上次海康威视问过我,我就好好看了一下

可以依靠checkPoint机制来保证,每次SparkStreaming消费kafka数据后,将消费的kafka offsets更新到checkpoint,当

程序挂机或升级时,就可以用过读取checkpoint 的记录来接着上次的位置进行读取,实现数据的零丢失。

25,除了这种方式还有什么方式?

还可以在sparkStreaming中另外启动一个预写日志,这将同步保存所有收到的kafka数据导hdfs中,以便发生故障时,

恢复到上次的位置和之前的数据。

26,你说说Spark的广播变量?

听到这个问题后,一脸懵逼,不会拉。。 我都猜想 面试官肯定在想,小样,我还难不倒你拉。。。。

然后我就让面试官给我讲了一下。。

Spark中因为算子中的真正逻辑是发送到Executor中去运行的,所以当Executor中需要引用外部变量时,

需要使用广播变量。广播变量只能在Driver端定义,不能在Executor端定义,在Driver端可以修改广播

变量的值,在Executor端无法修改广播变量的值

27 那你知道累加器吗?

之前看过一点,累机器相当于统筹大变量,常用于计数,统计。累加器常常被作为rdd的map filter操作的副产品等。

28.你说说spark中 job,stage,task,分别代表什么?

Job简单讲就是提交给spark的任务。 Stage是每一个job处理过程要分为的几个阶段。

Task是每一个job处理过程要分几为几次任务。Task是任务运行的最小单位。最终是要以task为单位运行在executor中。

29.嗯嗯 好,说说Spark的工作机制?

我去,咋问的都是大问题啊,幸亏之前复习过。。

用户在客户端提交job作业后,会由driver运行main方法并创建SparkContext上下文。执行RDD算子,形成DAG图,

然后将DAG图交给DAGScheduler来处理。DAGScheduler按照RDD之间的依赖关系划分stage,输入task Scheduler,

task Scheduler会将stage划分为task set分发到各个节点的executer中执行,executor以多线程的方式执行,每个线程

负责一个任务,任务结束后,根据不同类型的任务返回不同的结果。

30  你了解zookeeper吗?

zookeeper 是一个分布式协调服务,zookeeper集群包括 leader 和 follow

31 说说zookeeper的选举过程,比如现在有五台机器,ABCDE依次启动起来,那么哪台是leader?

记得不太清楚了。。就大概说了一下

1.首先更新logicalclock并提议自己为leader并广播出去

2.进入本轮投票的循环

3.从recvqueue队列中获取一个投票信息,如果为空则检查是否要重发自己的投票或者重连,否则

判断投票信息中的选举状态: 就回答到这,后来下来百度了一下。。。

32 hive了解吗?

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能

33.说说内部表和外部表的区别?

内部表的数据是由Hive自身管理的,外部表的数据是由HDFS管理的;

删除内部表会删除元数据和存储的数据;删除外部表只删除元数据不删除存储的数据

34,你知道UDF吗?

UDF就是Hive提供的内置函数无法满足业务处理需要时,可以考虑使用用户自定义函数。

35 一张大表,一张小表,你写join in时,哪个表放左边,哪个表放右边?

小表放前,大表放后,左查询,根据小表为主进行查询。

36  问一下kafka的问题吧,kafka是怎么进行数据备份的?

哇,面试官 你是要把大数据里面的每个组件分别问一下,。。。。深呼一口气,思考了一下 然后巴拉巴拉

备份机制是Kafka0.8版本之后出的,一个备份数量为n的集群允许n-1个节点失败。在所有备份节点中,

有一个节点作为lead节点,这个节点保存了其它备份节点列表,并维持各个备份间的状体同步。

37.消费者是从leader中拿数据,还是从follow中拿数据?

。。。不太会,备份机制这块没咋深入了解过。

kafka是由follower周期性或者尝试去pull(拉)过来(其实这个过程与consumer消费过程非常相似),

写是都往leader上写,但是读并不是任意flower上读都行,读也只在leader上读,flower只是数据的一个备份,

保证leader被挂掉后顶上来,并不往外提供服务。

38.那换个问题吧。说说kafka的ISR机制?

  • kafka 为了保证数据的一致性使用了isr 机制,
    1. leader会维护一个与其基本保持同步的Replica列表,该列表称为ISR(in-sync Replica),每个Partition都会有一个ISR,
  • 而且是由leader动态维护
    1. 如果一个flower比一个leader落后太多,或者超过一定时间未发起数据复制请求,则leader将其重ISR中移除
    1. 当ISR中所有Replica都向Leader发送ACK时,leader才commit

39.kafka如何保证数据的不重复和不丢失?

答案上面已经回到了,面试官又问一遍。。可能是看我kafka这块了解不是很深入。想再虐虐我。。。

40.kafka里面存的数据格式都是什么样的?

topic主题,然后主题进行分区  topic 分为partition , partition里面包含Message。

41.kafka中存的一个是数据文件,一个是索引文件,说说这个?

。。。。。不太会。。。哇,kafka被虐惨啦

42.kafka 是如何清理过期数据的?

kafka的日志实际上是以日志的方式默认保存在/kafka-logs文件夹中的,默认7天清理机制,

日志的真正清理时间。当删除的条件满足以后,日志将被“删除”,但是这里的删除其实只是将

该日志进行了“delete”标注,文件只是无法被索引到了而已。但是文件本身,仍然是存在的,只有当过了log.segment.delete.delay.ms 这个时间以后,文件才会被真正的从文件系统中删除。

43.一条message中包含哪些信息?

  • 包含 header,body。
  • 一个Kafka的Message由一个固定长度的header和一个变长的消息体body组成。
  • header部分由一个字节的magic(文件格式)和四个字节的CRC32(用于判断body消息体是否正常)构成。
  • 当magic的值为1的时候,会在magic和crc32之间多一个字节的数据:attributes(保存一些相关属性,比如是否压缩、
  • 压缩格式等等);
  • 如果magic的值为0,那么不存在attributes属性body是由N个字节构成的一个消息体,包含了具体的key/value消息

44.嗯,行,你知道mysql的最左原则吗?

终于把kafka过去啦。。心累

最左原则:顾名思义,就是最左优先,比如现在有一张表,里面建了三个字段ABC,对A进行主键,BC建立索引,就相当于

创建了多个索引,A索引,(A,B)组合索引,(A,B,C)组合索引,那查询时,会根据查询最频繁的 放到最左边。

嗯 好,我的问题问完了,让我同事问问你。

已经问了40分钟纯问题啦,,再换个面试官,好的,可以

45,刚才我的同事问的都是大数据相关的,那我们问点java相关的。

终于问java啦,下面的java问题每个都回答出来了,就不写答案啦

46.说说抽象类和接口?

47,集合了解吧,说说集合有几大类,分别介绍一下?

48,hashMap顶层实现了解过吗?具体讲讲

49,说说hashMap在1.8之后优化的环节

50. HashMap 和 hashTable的区别?

51.另一个线程安全的是啥?

52.说说ConcurrentHashMap的底层实现

53.java实现多线程的方式有几种?

54.讲讲 synchronized,Lock,ReetrantLock之间的区别

55.java的线程大概有几种状态?

56.sleep 和 wait方法的区别?

57.说说volatile关键字

58.说说JVM内存区域分为几大块,分别讲一下

59.说说sql的事务隔离级别

60.说说mysql的存储引擎

61 给你出个sql 题

student(sid,sname,sex,class)

course(cid,cname,teacher)

grade(cid,sid,score)

1,sex 改为age,非空,默认值为0

2 统计035号课程分数大于036号课程分数的学生ID

3 统计所有003班学生各门功课的课程名称和平均分

以上是所有的面试题,在写sql的时候,卡了好久,因为好久没写过三表联查,子查询的sql,差不多忘了,

后来下线时,一度以为自己挂了,但是过了一个多小时之后,看了一下状态,面试一轮通过,可能是面试官

看我前面的问题答得还可以让我过吧。只是这问题量着实有点多。希望尽快约下轮面试。

多益网络  面经  时长58分钟  挂

1 自我介绍

2 重大项目管理平台介绍

3 你主要负责的是哪一块内容?

4 项目最难的地方在哪?

5  开发周期多长?

6  说一下排行榜公布的那个具体实现过程

7 团队合作中遇到什么问题?

8  对互联网加班有什么看法?

9  算法

将一个组数循环右移,根据K来

10  斐波那契数列,不使用递归的方式实现

11 那你说一下java对象的生命周期

12  说一下java的垃圾回收机制,和算法等

13  什么是递归?

14 使用递归 有什么优点和缺点?

15  说一下图的表示方法

16  图有什么分类,图论的分配法?

17 都有哪些排序算法?

18 哪些是不稳定的排序算法?

19 说说快速排序的原理?

20 最近看过什么书?

21 说一下三次握手

22 为什么要看 图解HTTP

23  问一些心态上面的问题?  如果你对你的上司不满意,你应该怎么做?

24  为什么面向对象中,多用组合,少用继承?

25 为什么选择广州?

26 你在做IQ题的时候,有没有没做完?

怎么感觉问完之后,问的好不专业。。。。什么都问了,技术面把hr面的问题都问啦

海康威视   一面  7月17日  通过

1 自我介绍

2  你认为最好的项目介绍

3 导入导出介绍,排行榜介绍

4  遇到难的问的,怎么解决的?

1 从eclipse转到idea  2 打包问题,3  数据库查询(索引)  4

5  sparkStreaming 消费kafka中的数据存在消费不到,消费丢失的问题。

6  Spark 介绍一下 分为哪些组件?

7  Spark Sql  和Hive 的区别?

8 SQL 的存储引擎

9 sql 的事务隔离级别

10 JVM 区域划分

11 垃圾回收机制 ,算法

12 hashMap 底层实现等

顺丰科技SP专场 一面

1.自我介绍
2.实习期间主要用的技术栈有哪些。(答java、spring、springMVC、mysql、gitLab、layui、easyui)
3.Spring主要的特点(提AOP和IOC),有啥好处?
4.说一下IOC
5.AOP的实现机制
6.动态代理 jdk方式与cglib方式
7.Spring中的事务具体怎么做的? 事务的传播性。
8.Mysql的事务隔离级别
9.读未提交与读已提交的区别
10.mysql事务如何保证持久性(提到undolog和redolog)
11.写这些日志文件有什么好处,为什么要先写日志文件而不是先做操作(面试官见我思考抢先答事务会追加到文件后边再做操作效率高巴拉巴拉)
12.mybatis怎么解决sql注入问题(提到#{}和${})
13.mybatis的一二级缓存(二级缓存有些忘了)
14.springMVC处理流程
15.springMVC的好处在哪里(答代码解耦,面试官答:便于多人协作开发)
16.聊java基础,集合类有哪些类?
17.说一下hashMap底层实现原理(数组加链表)
18.hashmap的扩容机制
19.说一下什么叫哈希冲突
20.多线程线程池Executor框架了解么,为什么要引入线程池
21.线程池保持线程存活时间的具体参数关键词(答keepaliveTime)
22.任务队列满了以后再来一个任务如何处理(执行拒绝策略)
23.JUC包里的东西,有哪些常用锁(答Synchronized,reentrantlock,CAS等等,面试官答原子类等等)
24.原子类底层了解么,比如AtomicInteger
25.转操作系统,问操作系统有几大模块,
26.RPC进程通信方式有哪些方式(答pipeLine,信号量)
27.聊网络,网络分层结构,大概每层的主要工作是什么
28.网络层的主要功能(答路由),运输层TCP的主要核心(答可靠传输)
29.数据链路层最核心参数
30.聊常用算法,说一下hashmap的红黑树
31.红黑树上的红节点主要是干什么的
32 红结点和黑结点区别,为啥是红的,黑的
33 红黑树为啥部分平衡。
34 红黑树怎么旋转?

室友字节跳动四面

之前投过游戏场的,好像笔试没过(????)后来显示已结束就联系群里HR小姐姐帮我捞出来,

没想到被测开岗捞走了,我是做java后端的,HR告诉我测开也是偏后端的,所以我就试试,经过了几天的

面试,在这过程中整个人非常焦虑。。。废话不多说,先上面经。

一面 53分钟(项目+基础+算法**)**

一面约的是晚上19.30,整个人很紧张很紧张,结果面的是一个年轻的面试官,人很好。

1.简短的自我介绍。

2.介绍我的项目,balabala讲了大概20分钟,中间穿插着细节提问,有业务方面的,有技术方面的。

3.说一下悲观锁与乐观锁。

4.说一下http和https的区别。

5.TCP和UDP的应用场景。

6.http请求头包含哪些字段。

7.斐波那锲数列了解么?(了解)。

8.动态规划相比递归来说有什么优点。

9.算法题,判断镜像二叉树。(用递归写得)

10.分析一下算法的时间复杂度,空间复杂度。

11.redis了解么,如何进行redis页面缓存。

12.项目中日志是如何实现的。

13.项目中前端向后端传数据是怎么传的。

14.hadoop的数据包是基于什么协议的。

15.项目中登录功能如何实现的,使用了哪些技术。

16.cookie和session的区别。

17.反问。

二面 50分钟左右(项目+网络+数据库+算法)

一面面试完以后看起来面试官很满意??(哈哈,小哥哥人真的不错),直接给我安排了二面,让我等等,

两分钟后二面面试官上线,

是一个年龄30出头的面试官,看起来有点严肃,立马紧张起来(0.0)

1.简短的自我介绍。

2.简单的问了下实习期间做的一个大数据平台项目。

3.网络五层。

4.应用层常见协议。

5.http协议返回状态码(1xx-5xx)(之前复习了2-5的,面试官说1呢?我说没有1吧哈哈哈,后来想起了,尴尬)

6.Https有哪些改进。

7.数据库优化方面(比如数据库慢查询),我回答了一大堆,起始面试官想问建立索引表的方式

8.索引的左对齐原则/最左原则(这个是真没复习到),卡了很长时间,感觉面试官有点不耐烦了…

9.算法,大概就是传递东西,只能向左右手边传递,小朋友0向右传递,传递n次后最后回到小朋友手里,问传递路径,

一个动态规划问题,感觉好难,做了大概一半,

面试官问我思路,我也没怎么回答上来,后来面试官直接开始给我讲解开来哈哈哈(后来下来查,蒙对了一部分。。。)

10.反问。

**三面  57分钟(**算法+JVM底层) 面试官气场很强,我变得很紧张很紧张。。。

一二面面试连续,二面到9.20结束,面试官说等下我给你叫三面,可能是太晚了都下班了,我在那傻等了一个小时

没有任何反应,啊哈哈,第二天给HR打电话帮我约的第三天的

下午两点三面。

1.手撕单例算法

2.单例模式中对象什么时候初始化

3.JVM构造

4.基本数据类型(比如int i)在内存中是怎么存的

5.类对象什么时候加载的

6.static方法和非static方法的区别

7.static的原理(没答出来)

8.手撕:一个整数型数组,判断是否存在一个数,这个数前边的数比小,后边的比它大,返回这个数的下标

(使用标记数组做)

9.ArrayList的属性length存在与内存的什么地方(哭死,这都什么问题嘛…)

10.对这个算法如何优化,使它的空间复杂度变为O(1)(使用自定义变量对这个数组一次遍历存储,

大概说了下思路)

11.设计题:写日志类满足多线程向文件中写日志,设计一下需要实现哪些方法,说一下大概思路。

(多线程刚开始说放在线程队列里,面试官说那不是线程阻塞了么,后来想到

使用时间片,设定一个变量例如赋值5ms,时间片使用结束后挂起,让下一个线程写,轮循写。

面试官说OK,我也不知道他满不满意ing…)

12.问实习公司以及实习情况。

13.希望工作的base选择

14.从哪了解的测开岗位。

15.反问,技术栈,有几次面试。

三面结束我以为会另约时间,给HR打电话说在房间等着,还有一次面,我…

四面 35分钟(项目+java基础) 感觉面试官问问题间隔时间有点长,感觉在拖时间?(小声BB)

1.自我介绍。

2.又把一面的项目讲了一遍,balabala

3.将项目细节问了一些,比如排行榜的评分算法。

4.对于项目的多用户高并发高访问量的解决办法。

5.横向扩展系统(面试官问的Nginx负载均衡,说了半天才说到点上。。)

6.使用过哪些java框架。

7.实习项目:大数据平台又介绍了一下。

8.集群维护遇见了哪些问题,怎么解决的。

9.如何使用HQL对Hive中数据进行处理。

10.从输入url到页面渲染中间过程,如果网络距离太长,怎么解决(我说使用路由器转发,面试官说算了,不了解也无所谓???一脸懵逼…)。

11.java的GC算法。

12.聊了一下硕士期间的课题,我是推荐系统方面的,面试官跟我聊了一下电影推荐系统的系统设计,包括架构,

推荐算法等等。

13.java零拷贝(一脸懵逼,不会),面试官看我卡了一会,说没关系,这个不会无所谓…(第二次无所谓…)

14.linux操作:怎么看应用的cpu使用率(回答top命令)面试官:OK

顺丰科技 1面  技术面  时长30分钟 7月30号

1 自我介绍 (介绍完之后,面试官哈哈哈哈哈大笑,你这很熟练啊?)
2 项目介绍
3 说一下垃圾回收和算法(讲完之后,来一句,你这背的很熟啊?,我说我理解啦?,然后他来一句为啥要理解,啊??)
4 说说Spring
5 Springboot和Spring的区别(自己加的,是怎么简化的,底层如何实现的)
6 redis数据结构,持久化方式
7  mybatis 如何获取自增ID
8  mybatis  一二级缓存
9  设计模式工厂模式讲讲
10 我讲完了,你有啥要问的吗? 问了几点
1 面试流程是啥样的,一面多久能收到通知,
2 和面试官闲聊,哄得他眉开眼笑,哈哈哈

顺丰科技2面  HR面 30分钟  8月9号

1  自我介绍
2  职业规划
3  报学校专业是怎么考虑的?
4  工作城市
5  你是独生子女吗?
6  那你有女朋友吗?
7  那你们出来面试都了解过哪些企业?
8  有没有offer?
9  说说你的优缺点?
10 到后期你们每个人手上有好几个offer,哪些因素决定你们选择这家公司?
11 你更倾向哪种公司?有什么特别的点?
12 你大学有没有特别难忘的经历或者项目分享一下的?

顺丰科技 3面  技术面 一小时 8月12号

1 自我介绍
2 大数据项目介绍
3 说说你对Kafka的理解
4 kafka的消费者组跟分区之间有什么关系?
5 kafka有5个消费者,4个分区,是如何消费?
6 kafka的分区有哪些方式,分区算法?
7 数据清洗的流程
8 数据清洗之后是落到哪里,数据量大吗?
9 redis数据如何和mysql的数据保持一致
10 重大项目管理平台讲讲?
12 导出功能如何根据自定义功能导出?
13 还有其他什么方式可以实现导出功能?
14 数据库设计遇到什么问题?

问点java方面的知识
15 集合中 arrayList 和linkedlist有什么区别?
16 hashMap 说一下
17 hashMap 为什么设置初始化为16
18 hashCode 怎么对应桶的位置?
19 concurrentHashMap有什么特点?
20 线程同步有哪些方法?
21 线程同步使用哪些锁?
22 有一个场景,现在一张表有几十万的数据,然后10个线程,
对它并发计算,然后计算完了之后通知,该怎么设计?(每个线程处理每个
线程的事情,然后做个通知)
23 说说分布式锁?
24 SpringAop 用过吗?

25 JVM内存管理核心算法

顺丰算是面完了,接下来就等通知啦

浙江大华 一面  20分钟 8月 12号

1 自我介绍
2  SparkStreaming 如何保证消费kafka的数据不丢失等?
3  说说集合你了解哪些?
4 hashMap讲讲?
5 自己实现了一个对象,然后重载在hashcode方法,这个时候还要不要重载其他方法?
(需要重写hashcode 方法和equals方法)
6 在多线程环境中,然后保证使用的对象时线程安全的?(通过加锁)
7 虚拟机的堆内存分为哪几个区?
8 堆里面主要干什么?
9 堆里面能不能细分到哪些区?
10 不同的区使用的算法都是一样的吗?
11 springboot 和Spring的区别在哪?
12 Springboot是如何简化哪些配置,具体是怎么实现的?
(和SpringbootApplication 注解相结合,在main中通过调用run方法来加载 监控任务执行时间,创建应用上下文,程序运行参数等相关配置)

浙江大华二面  8月19号  时长37分钟(本来约的17号,面试官时间给忘了,第二天还专门打过来电话道歉,感觉面试官真的很好?)

1 自我介绍
2 自己都搭建过大数据集群吗?
3 如何搭建的集群,举几个例子介绍一下?跑过哪些项目?
4  说说Spark的工作机制
5  说说Spark的合并操作
6  项目介绍,举一个例子项目难点,如何解决。
7  分割数据使用什么进行分割?
8 输入的类型和输出的类型分别是什么?
9  输出的结果存储到哪里?
10 那Hbase的表结构是什么样的?
11 表中的key是什么,value是什么?
12 你哪些原始日志是哪哪块采集过来的?
13  另一个项目介绍一下,解决什么难题?
14  数据库优化做了哪些操作?
15  项目中使用了redis,如何操作的,为什么要使用redis?
16 怎么解决双写一致性?
17 使用的用户量是多大?
18 假如用户量大的情况下,那会出现哪些性能瓶颈?
19  redis的并发是多大?
20  项目中如何使用多线程?举个例子
21  那累加的线程如何和其他线程做交互的?
22  线程安全的容器有哪些?
23 java虚拟机里面的垃圾回收机制有哪些?
24 项目中有没有用哪些工具看过进程中有哪些线程,JVM内存的情况。
25 场景题

HR面  16分钟  8月22号

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

参数等相关配置)

浙江大华二面  8月19号  时长37分钟(本来约的17号,面试官时间给忘了,第二天还专门打过来电话道歉,感觉面试官真的很好?)

1 自我介绍
2 自己都搭建过大数据集群吗?
3 如何搭建的集群,举几个例子介绍一下?跑过哪些项目?
4  说说Spark的工作机制
5  说说Spark的合并操作
6  项目介绍,举一个例子项目难点,如何解决。
7  分割数据使用什么进行分割?
8 输入的类型和输出的类型分别是什么?
9  输出的结果存储到哪里?
10 那Hbase的表结构是什么样的?
11 表中的key是什么,value是什么?
12 你哪些原始日志是哪哪块采集过来的?
13  另一个项目介绍一下,解决什么难题?
14  数据库优化做了哪些操作?
15  项目中使用了redis,如何操作的,为什么要使用redis?
16 怎么解决双写一致性?
17 使用的用户量是多大?
18 假如用户量大的情况下,那会出现哪些性能瓶颈?
19  redis的并发是多大?
20  项目中如何使用多线程?举个例子
21  那累加的线程如何和其他线程做交互的?
22  线程安全的容器有哪些?
23 java虚拟机里面的垃圾回收机制有哪些?
24 项目中有没有用哪些工具看过进程中有哪些线程,JVM内存的情况。
25 场景题

HR面  16分钟  8月22号

[外链图片转存中…(img-4C5v7YCk-1715239058388)]
[外链图片转存中…(img-jKDTe3Ji-1715239058389)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/746257
推荐阅读
相关标签
  

闽ICP备14008679号