2024-JAVA-大数据-面试汇总_大数据java部门面试

备份机制是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
之间的网络跳转的次数来判断,如果在同一个路由器下面,那距离都一样,直连,只需要跳转一次)
10 第二次上传block块根据什么原则?(就远原则,保证安全性,防止全部上传到一个机架上,如果机器坏了,数据就会丢失等。)
11 场景题 过滤出评论中的敏感词
(想法1:通过正则表达式)
(想法2:布隆过滤器)
(想法3:通过和b+树类似的字典树(DFA算法)来实现,字典树的每个节点保存每个字符,
那他所形成的路径就代表一条一条的字符串,进行查询时,如果匹配到敏感词的字符串,那就过滤出去)。
12 Spring IOC、AOP底层实现
13 Spring ioc中的单例模式和原型模式适用场景,什么时候用单例模式,什么时候用原型模式。
14  我看你对大数据比较了解,那你说说Spark(spark的内部构造,实现原理,解决了什么问题,运用场景等)
15 MapReduce 设计时为什么要设计成 map,reduce的操作,它解决了什么问题。
16 说说kafka的原理

17 服务端从kafka中去拉数据,服务端的空间永远是有限的,拉完怎么判断所有人都拉完了?

上述的问题基本都答出来了,但是不知道为啥挂了,可能要求很高。???

滴滴一面  后端面试 8月23日 56分钟  凉凉

因为项目中
1 自我介绍
大数据:
2  spark任务的执行流程
3  Spark任务调度有几种方式?(任务是怎么分配给executor)(调度算法)
4  Spark任务分配方式有几种方式?
5  yarn的资源调度?
6  宽窄依赖具体讲讲
7  宽依赖是不是要进行shuffle
8  shuffle操作有几种方式
9  Spark任务产生小文件太多,该怎么处理?(合并小文件的方式有几种)
(例如sql,函数,distrubutedBy)
10  hive如何实现UDF的详细过程(客户端继承UDF类,然后打包 )
11 hive sql解析看过吗?
12 Spark sql解析有哪几个步骤? 具体如何操作的(spark内核的sql解析)
(把sql如何拆成多个job)

java技能
1 线程的状态有几种?
2 等待有哪几种方式?
3 常用的线程池有几种?
4 定时的线程池有几种?
5 Spingboot部署的时候用的哪个容器,内部用的哪个线程池?
6  多线程过程中用过哪些锁?
7 锁主要分为几大类?
8 synchronized底层是怎么实现的? 和其它锁有什么区别?
9 Lock锁讲讲 ReenTrandLock讲讲? 怎么优化这个重入锁?(通过编译器方式优化)
10 比如嵌套锁嵌套了好几层,编译器如何优化这些代码?
11 锁优化有哪些方式?(锁消除,增大粗度等)
12 锁消除通过什么参数可以控制?
13 数据库事务有几种?(数据库隔离级别)
14 事务的传播机制?(7种)
15  事务嵌套开启一个事务,用那种传播机制?(required)
16  继承上一个事务(使用support)
17 搭一个通信框架(使用tcp) 用socket编程搭,客户端、服务端等。
18  NIO了解过吗? 怎么做的优化? 分为几个阶段?每个阶段是做什么的?
19  RPC了解吗?常用的RPC框架有哪些?(基于二进制协议的)如(dubbo)
20 任务调度有用过吗?(使用springBoot如何快速创建一个定时任务(用一些组件))

21 底层如何实现调度的?

滴滴面试,简历上写了大数据知识点,刚好面的那个部门是搞金融风控的,还是对Spark源码进行开源的,撞枪口啦,

后期大数据复习的比较少,挂了也无怨了,状态变为待笔试,还好秋招还有一次机会。

腾讯一面  8月24日   65分钟

1 自我介绍
2 简单介绍一下项目中引用Springboot是解决了什么问题,有什么优点?
3 mybatis和hibernate框架有什么区别?
4 使用muybatis有没有用到om对象?

问了一下我主攻的语言是啥,我说java语言

5 java语言中 重写和重载有什么区别?
6 我看你用到kafka,kafka主要解决什么问题呢?
7 kafka如何实现消息是有序的?
8 kafka如何实现多线程的消费?
9 hashmap和hashtable 有什么区别?
10 简单介绍一下java的生命周期有哪些阶段吗?
11 对数据库了解吗?  一个场景,现在数据库执行过长,如何对它进行优化?
12 简单谈一下数据库中的悲观锁和乐观锁怎么理解的?
13 说一下数据库有哪些索引类型,有什么优缺点?(主键索引)
14 谈谈数据库的事务(ACID特性)

开始问操作系统啦
15 操作系统的划分有哪些?
16 什么是死锁?死锁产生有哪些条件?(互斥条件,请求与保持条件,循环等待条件,不可剥夺条件)
17 进程间通信有哪些方式?(管道,信号量,信号,消息队列,共享内存,套接字等方式)
18 tcp协议有哪些计时器?它分别是做什么的?
19 操作系统之间有用户态和内核态,他们之间有什么区别?
20 为什么需要内核态?什么时候进入内核态?
21 有用过内存缓存吗? 如redis 
22  redis是通过什么方式进行持久化的?(RDB和AOP)

网络知识
23  tcp协议的三次握手 
24 hppts的协议了解吗?

数据结构
25 介绍一下有哪些常见的算法,并且哪些是稳定的,哪些不稳定,以及时间复杂度
26 对云计算有了解吗?
27 比如云计算有哪些服务和应用场景
28 AWS  了解吗?
算法题
26  拆分子数组  leetcode 410
给定一个由非负整数和整数m组成的数组,可以将数组拆分为m个非空连续子数组。

编写算法以最小化这些m个子阵列中的最大总和。

总体来说 问的问题都属于简单的问题,都算答出来了,代码题也写出来了,希望能进二面

growingIO   8月30号  一面   时长1小时40分钟

1  自我介绍
2  三个项目分别介绍一下
3  说一下你们的权限设计
4  说一下每个项目的技术栈
5 前端采用什么设计的?(没有采用前后端分离的思想,用的html+css+jquery+ajax)
6 sql优化,刚开始是怎么做的,后期又是怎么去优化的?

7 说一下mysql的索引类型(主键索引,唯一索引,普通索引,全文索引)
8 hash索引的使用场景是啥?(只能用于"="的过滤,不能用于范围查询,不能避免全表扫描,不能利用部分索引键查询)
9   如果使用like查询,会不会走索引?(一部分会走,一部分不会走,只有不以%开头的时候,才会使用到索引,例如’前%’ 走索引,‘%前%’ 不走索引,‘%前’ 不走索引)
10 有没有使用 explain字段去分析sql语句,它有哪些字段(使用explain分析时,重点关注几个字段:
type:这是一个非常重要的参数,连接类型,常见的有:all (全表扫描), index(全索引文件) , range(只检索给定范围的行) , ref (非唯一索引扫描,即返回所有匹配某个单独值的行), eq_ref (唯一性索引扫描,对于每个索引键,表中有一条记录与之匹配), const(表示通过索引一次就可以找到) , system(表只有一条记录) , null 八个级别。
key: 显示查询语句实际使用的索引。若为null,则表示没有使用索引
rows :根据表统计信息及索引选用情况,大致估算出找到所需的记录所需要读取的行数,值越大越不好)
11 Springboot 返回json字符串的话 使用哪个注解?(RestController)
12 mybatis 如何使用的?(通过xml 和注解式两种方式 对于小系统而言,使用注解式快速,简单,缺点是SQL有变化时都需要重新编译代码)
13 mybatis 如何防止sql注入
14 mybatis 缓存用过吗? 一二级缓存
15 mybatis 如何实现批量插入(在xml中使用foreach循环插入,),
批量删除( #{item} ),
批量更新(foreach实现循环插入)等的语句 
16  说说hashMap 
17 为什么初始值16,以及为什么扩容是2倍
18 hashMap源码 扩容是怎么实现的(resize,rehash)
19 hashMap 是线程安全的吗?(不是,因为HashMap在put的时候,插入的元素超过了容量
(由负载因子决定)的范围就会触发扩容操作,就是rehash,这个会重新将原数组的内容重新hash到新的扩容数组中,
在多线程的环境下,存在同时其他的元素也在进行put操作,如果hash值相同,可能出现同时在同一数组下用链表表示,造成闭环,
导致在get时会出现死循环,所以HashMap是线程不安全的
20 线程池有哪些核心参数(corepoolsize,maximumPoolSize,keepAliveTime,unit,workQueue)
21 创建一个定时任务的线程池用哪个(newScheduledThreadPool)
22 创建线程池的好处?
23 类的生命周期知道吗?(加载-验证-准备-解析-初始化-运行-卸载)
24 单例模式说说? 
25 单例模式的缺点和特点(缺点:没有接口,可扩展性不强)
26 JVM内存分配
27 JVM垃圾回收一般什么时候出发minor GC
28 redis有哪几种淘汰策略?(6种淘汰策略 
volatile-lru:从设置了过期时间的数据集中,选择最近最久未使用的数据释放。
volatile-random:随机选择一个数据进行释放
volatile-ttl:选择马上就要过期的数据进行释放操作
allkeys-lru:从数据集中(包括设置过期时间以及未设置过期时间的数据集中),选择最近最久未使用的数据释放
allkeys-random:随机选择一个数据进行入释放
noeviction:不删除任意数据(但redis还会根据引用计数器进行释放),这时如果内存不够时,会直接返回错误。)
29 redis实现生产者消费者模型(使用list数据结构 lpush 放数据,rpop拉数据)
30 redis实现生产一次,消费多次
31 redis 有几种数据结构(五种,string,hash,list,set,sorted set)
32 set 和sorted set 有什么区别?
33 分布式锁有没有使用过?(使用setnx()方法,expair()方法)
34 如果redis中有1亿个key,其中有10万个key是已知的固定前缀的key开头的,如何
将他们全部找出来?(使用scan命令 scan cursor  match  pattern count count  例如: scan  0  match  k1* count  100 )
35 为什么不用keys命令?(会使内存卡顿,服务器消耗过大)
36 缓存雪崩,缓存穿透,缓存击穿都是怎么造成的,有什么解决办法?
37 重载和重写有什么区别?
38 jdbc的使用流程?(1 注册数据库驱动 2 建立数据库连接 3 创建一个Statement对象,4 执行sql语句,5 处理结果集,6 关闭数据库连接)
39 现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?使用join操作
(        Thread t1 = new Thread(new ThreadTest(“T1”));

img
img

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

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

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

oeviction:不删除任意数据(但redis还会根据引用计数器进行释放),这时如果内存不够时,会直接返回错误。)
29 redis实现生产者消费者模型(使用list数据结构 lpush 放数据,rpop拉数据)
30 redis实现生产一次,消费多次
31 redis 有几种数据结构(五种,string,hash,list,set,sorted set)
32 set 和sorted set 有什么区别?
33 分布式锁有没有使用过?(使用setnx()方法,expair()方法)
34 如果redis中有1亿个key,其中有10万个key是已知的固定前缀的key开头的,如何
将他们全部找出来?(使用scan命令 scan cursor  match  pattern count count  例如: scan  0  match  k1* count  100 )
35 为什么不用keys命令?(会使内存卡顿,服务器消耗过大)
36 缓存雪崩,缓存穿透,缓存击穿都是怎么造成的,有什么解决办法?
37 重载和重写有什么区别?
38 jdbc的使用流程?(1 注册数据库驱动 2 建立数据库连接 3 创建一个Statement对象,4 执行sql语句,5 处理结果集,6 关闭数据库连接)
39 现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?使用join操作
(        Thread t1 = new Thread(new ThreadTest(“T1”));

[外链图片转存中…(img-HFM77gcM-1714221332204)]
[外链图片转存中…(img-8aWwYtZR-1714221332204)]

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

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

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

  • 15
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值