2024年2024-JAVA-大数据-面试汇总_大数据java部门面试(4),2024年最新大数据开发面试题中高级

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

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

答完之后,心想别问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号

1自我介绍
2 工作的意向城市
3 刚才在面试哪家公司?
4 现在进度最快的公司是哪家?
5 拿到哪几家offer,是否谈过薪资等
6 实习了多久,介绍一下印象最深刻的项目
7 你了解互联网这边的薪资一般是多少?(说的25万左右)
8 你的兴趣爱好有哪些?
9 我们这边西安也有分公司,看你对地点这块有什么要求没?
10 因为你面的是提前批,所有offer会在九月出发出。

整个大华面试下来感觉没有太大压力,非常愉快,二面面试官项目这块问的还算可以,自己也答出来了,问我想去哪个岗位,
说他们大数据这块有四个方向。和HR小姐姐也聊得挺开心,希望一切都顺利,可以收到意向书吧。求一波offer

阿里 一面  8月12号  23分钟

1 自我介绍
2 说说垃圾回收和相应算法
3 那并发量很高时,使用哪种算法?(复制算法)
4 介绍一下项目
5 那你在这个项目中最大的成就感是什么?
6 那你开发项目主要的优势在哪?(怎么感觉不像是面试,在聊天,哈哈哈)
7 在网页上输入一个URL,说说它所经历的过程(DNS寻址,TCP连接,Http请求,http响应,页面渲染,TCP关闭连接)
8 很多服务器,那请求落到哪台服务器上,是通过什么策略?(通过nginx的ip_hash策略)
9 平常有没有了解一些新知识(docker,springcloud)
10 hashMap实现原理
11 个人规划
12 那你现在的技术薄弱点在哪里,怎么去突破?
到我提问
1让面试官讲了一下新零售事业部主要做哪一块,
2面试流程

阿里 二面 8月 20号 时长55分钟 凉透???

1 自我介绍
2 竞赛介绍
3 数学建模竞赛介绍
4 论文介绍

20分钟过后,

接下来的35分钟 我感觉自己经历了一次痛切心扉的打击,??
面试官不问问题,他说让我自己说自己擅长的,然后他深入去探讨,看
我解决问题的能力,我说好。。。。。。。?

我说我集合这块还行,
他问,那你知道hash的实现机理是啥?他能带来哪些好处?通过我的回答,他接着问,B+树索引的核心在于什么?
我们知道树有很多种,为什么要选择b+树,而不选择其他?数据库索引有很多种,哪一种索引对应的是b+树实现的?

图的算法你清楚吗?最短路径问题,最少成本问题?(说完之后,面试官说,为啥你们现在学习的时候,不在一些深度上做一些努力,
看得都比较肤浅,这对你们以后的发展有很大限制??)

接着问我java哪些比较熟悉,我说集合,多线程,JVM等都可以聊聊,他说 那你说说你在里面用的哪些技术比较有挑战性的问题,我们聊聊,
聊概念没啥意思。。。。?整的我不会说啦我准备说项目中用到哪些技术,他打断了,说未必是项目中的,就说你体会到的。。。。
我说线程吧,就聊多线程并发,然后他听完我说的,然后说那你在项目中有用到JVM吗?
项目中开发你的垃圾回收算法用的哪一种?(我说复制算法,
他听了之后说 what??? 啥? 我说复制算法,他接着说 啥?复制算法?
我咋没听过,我说copying,他说还是不懂,。。。。。我就讲了内容等)说完之后,
他说算了我觉得你这块没理解,我们换个话题。。。。。。

那我们聊聊数据库事务吧,你知道分布式事务吗?什么是两段式,三段式,你用过吗?
你们应该都做过研究吧?这都是最基本的问题,你应该都会把。它的实现原理是什么?

好吧,我一句话还没说,面试官替我说完啦。。。我说完,面试官说那我们换个话题,
你对这些不了解。。。。。
java的设计模式你知道哪几种? 你讲一下什么是修饰者模式?应用到哪些场景?或者
策略模式,这两种都讲一下。我说完之后,又说了一句,那我们换个话题,你对这不了解。。。
我下去还专门听了一遍录音,我回答的哪里有错了。。。。

那我们再换个话题,那就问个本质,为啥String这个类型是不可变的对象,原理是什么?

那BIO 和非阻塞式IO有什么区别,它具体是怎么实现的?

上面的问题回答完之后,就50分钟了,面试官说时间差不多啦,你有啥想问的。我当时听完 内心真的很崩溃,
不是我不会,而是他全程那个语气真的是很牛逼很牛逼那种,不屑的语气,我回答一个,他说我觉得你这个不太会,我们换一个
换题等等。连说了好多遍,你全程也没问几个问题吧,面完我就知道我凉透了,当时也没抱着进三面的想法
就换了个语气,说那个我们也面完了,一般面试完都不会问面试官对我的评价,因为我觉得那很不礼貌,他说没事没事,然后他就说,
说实在的,你们研究生啊,就应该多做做啥啥啥,巴拉巴拉5分钟,我全程在听它对我的“批评”,我脸上笑嘻嘻,嗯嗯,我知道,态度贼诚恳,
把他夸了一遍,说真的太感谢面试官您啦,对我真的是用心良苦啊,我会好好虚心接受您的教诲,然后就挂了

阿里 一面 8月 22号 时长  63 分钟

20号面完二面之后,当时觉得凉透啦,也没抱什么希望,但谁知道22晚上8点又打过来电话,
说做个面试,问我方便不,我说可以,面了有20分钟左右,我问这是一面还是啥,面试官说

对,之前那个挂了,然后我们这边捞过来的,我的天??? 不会是那个面试官发了个慈悲吧

…更新…

1 自我介绍
2 论文介绍
3 Spark流式计算过程
4 Spark如何进行分桶
5 SparkStreaming 和MapReduce比较,提升的性能在哪?
6 SparkStreaming 的实时体现在哪?
7 简单介绍一下单例模式
8 简单介绍一下工厂模式
9 说一下代理模式和策略模式
10  JVM内存模型简单介绍一下
11 哪些是线程私有,哪些是线程共有
12 哪个不会发生内存溢出?
13 方法区产生内存溢出怎么判断?
14 类加载存在内存中的哪一块?(类的元数据在方法区,class对象在堆区。)
15 垃圾回收的一些算法
16 年轻代,老年代分别用什么算法?
18 创建一个线程有几种方式?
19 怎么启动一个线程?
20 JDK里面 线程池的定义
21多线程里面,有什么机制可以保证线程安全?
22 voletile如何保证线程安全?
23 那使用voletile 有什么缺点?
24 synchronized用到静态方法和非静态方法有什么区别?(修饰静态方法,
作用于当前类对象加锁,修饰非静态方法,作用于当前对象实例加锁)
25 threadlocal了解吗? 讲讲这个
26 threadLocal 一般是怎么区分的?不同的线程之间是怎么隔离的?

蘑菇街一面 java开发工程师  44分钟 凉经

1 自我介绍
2 说说JVM原理、内部分配
3 new对象的过程
4 new一个对象时是如何知道给它分配多大的空间?(JDK64位,创建一个对象占24字节,32位 占12字节)
5 项目介绍
6 说说HDFS (跳跃很快啊)
7 HDFS写操作
8 写操作中如何判断客户端向哪一台datanode中上传第一个block块。(通过就近原则)
9 那客户端是怎么通过距离来判断哪台datanode 离他近或者离他远(看客户端到达datanode
之间的网络跳转的次数来判断,如果在同一个路由器下面,那距离都一样,直连,只需要跳转一次)

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

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

(类的元数据在方法区,class对象在堆区。)
15 垃圾回收的一些算法
16 年轻代,老年代分别用什么算法?
18 创建一个线程有几种方式?
19 怎么启动一个线程?
20 JDK里面 线程池的定义
21多线程里面,有什么机制可以保证线程安全?
22 voletile如何保证线程安全?
23 那使用voletile 有什么缺点?
24 synchronized用到静态方法和非静态方法有什么区别?(修饰静态方法,
作用于当前类对象加锁,修饰非静态方法,作用于当前对象实例加锁)
25 threadlocal了解吗? 讲讲这个
26 threadLocal 一般是怎么区分的?不同的线程之间是怎么隔离的?

蘑菇街一面 java开发工程师  44分钟 凉经

1 自我介绍
2 说说JVM原理、内部分配
3 new对象的过程
4 new一个对象时是如何知道给它分配多大的空间?(JDK64位,创建一个对象占24字节,32位 占12字节)
5 项目介绍
6 说说HDFS (跳跃很快啊)
7 HDFS写操作
8 写操作中如何判断客户端向哪一台datanode中上传第一个block块。(通过就近原则)
9 那客户端是怎么通过距离来判断哪台datanode 离他近或者离他远(看客户端到达datanode
之间的网络跳转的次数来判断,如果在同一个路由器下面,那距离都一样,直连,只需要跳转一次)

[外链图片转存中…(img-x0E7qWnd-1715225697684)]
[外链图片转存中…(img-HKKfBmzf-1715225697684)]
[外链图片转存中…(img-ae9RZ5AG-1715225697685)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值