大家好,给大家汇总了2024年最新的JAVA面经汇总,不过随着不断更新,大家也可以看更全的实时更新的10000+面经:link.youzhiwk.com/r/yDE

携程java暑期一面4.24

录完屏发现没声音,赶快凭印象写一下

1.hashmap扰动函数

2.hashmap刚开始可以指定容量吗

3.hashmap初始容量

4.hashmap扩容机制

5.hashmap,为什么红黑树不是avl树

6.锁升级过程,可逆吗

7.双token如何禁用户

8.synchonized锁方法和锁对象有什么区别

9.公平锁和非公平锁的最终表现是什么

10.手写分布式锁续期如何实现的

11.除了用redis还有什么限流框架,限流算法

12.minor gc和full gc

13.mysql索引

14.jvm内存结构

作者:奇迹行者s

来源:牛客网


华为实习一面

感觉面试官是做C++的,主要是问了两个C++横向项目,Java项目就稍微问了一下,一点八股都没问。后面就是问学校里面的经历和科研研究方向,快速排序问了一下思路,写了一道移除重复元素的题目。
一面已经过啦,期待二面。

作者:MO小天才

来源:牛客网


小花科技一面

岗位/面试时间
java/4.24
1.介绍项目
2.项目难点和重点
3.线程安全集合有哪些
4.sql优化方式
5.索引有哪些
6.索引失效的原因
6.线程池流程和参数
7.Rabbitmq消息可靠性
8.mybatis三级缓存(这个不知道)
9.用过哪些设计模式(责任链和代理)
10.cas锁的原理
11.反问
感觉在刷kpi 不到30分钟完了


作者:天天愁工作的小菜鸡

来源:牛客网


杭州产链JAVA开发面经

1. servlet执行流程,springmvc执行流程?
2. 过滤器和拦截器区别
3. 看你项目用了jwt 说下原理
4. 说面之前进我项目看了一下,刷新五次之后jwt就消失了怎么回事?(我都没发现这个bug)
token怎么存储?过期时间怎么设计的?假设十二个小时过期,用户第十一小时五十九分登录,过一分钟会让用户再次登录吗,如何优化?(refresh token?)token续签问题。
5. 后端怎么接收前端请求体的请求?看没看过底层源码?
6. websocket和http的区别?项目为什么使用websocket?
7. 看你项目使用了Redis,主要干什么的?Redis还能干什么?
8. 项目出现OOM怎么排查?
9. MySQL底层原理
10. MySQL事务并发控制详细说说
11. MySQL索引种类,为什么LIKE以%开头索引会失效?
12. MySQL和Redis如何保持数据一致性?
13. bean生命周期
14. spring循环依赖怎么解决?
15. 数据库连接查询、union用过吗
16. 乐观锁悲观锁
17. NGINX有什么用?为什么使用NGINX?
18. 为啥要反向代理?为什么要负载均衡?负载均衡有什么算法?
19. 负载均衡轮询情况下,假设有一个服务断开了,会发生什么?会有一半请求消失吗?
20. 平时用docker干什么?
21. docker容器内和容器外端口映射?文件路径映射?还有什么方法?
22. 对加班的看法,领导交给你的任务实在做不完怎么办,突然有紧急任务过来怎么办,工作压力比较大怎么办?
23. 反问:公司技术栈

作者:小镇不太会做题家

来源:牛客网


联想电讯盈科JAVA开发面经

1、自我介绍

2、说说String类的一些方法

3、SpringBoot的优点

4、JVM运行时结构

5、双亲委派机制

6、使用Docker部署服务的优点

7、Redis的集群(主从复制),主机挂了怎么办?三个Redis可以做哨兵吗?

8、Vue和SpringBoot前后端通信用的什么?

9、Sql优化、 MySQL的索引

10、聊聊WebSocket

11、反问环节

作者:小镇不太会做题家

来源:牛客网


唯品会一面

岗位/面试时间
java开发/4月22
面试题目(没有先后顺序,能回忆起来就写)
0.自我介绍
1.string能被继承吗,为什么这么设计
2.final关键字能修饰方法吗,哪些设计模式有用到
3.list在for循环中能添加吗,会有什么问题,删除呢
4.hashMap原理,什么情况下性能会变差
5.几道sql题,口述就行,其中一道:学生表和选修表,怎么查询没有选修任何一门课程的学生,多种方式
6.排序算法知多少
7.java多态如何实现,在哪些设计模式有用到
8.单链表和双链表,删除操作时间复杂度(这里我一直以为删除是给个索引进行删除,后面复盘发现可能是给个结点进行删除)
9.tcp,http八股,很典的题目就是了
10.输入网址发生什么
11.设计分布式计数器要注意哪些点
12.实习内容
13.反问
14.mysql八股,典型题目

关于典型题目,就是可以直接在我自己常用的八股网站javaguide和小林coding找到对应答案

作者:牛客818610657号

来源:牛客网


面试阿里云,遇到了找实习最逆天的一次拷打

一开始问了一下项目,知道没有上线后就不感兴趣,直接开始拷打八股,于是就有了我从未见过的这次八股,由于这次八股的内容实在过于逆天,本人特地写下来供大家分享,也向各位求助一下这些题目。(百分之八十的题目都不会)

1.get和post的本质区别是什么?

我一听他说本质区别就顿感不妙,然后直接八股吟唱“get是请求post是修改,get放在URL中post放在请求体重,get不安全post安全......”完了他直接问我“所以他们的本质区别是是什么呢?”我停顿半分钟后实在想不出来,告诉他我不会。

2.http和rpc的本质区别是什么?

由于本人对rpc了解的不多就直接说不会,我猜测是编码不同?rpc需要序列化和反序列化,http支持更多文件形式?

3.请你说一下从浏览器中输入一个url会发生什么?

八股吟唱结束后继续追问拷打。

4.你说输入url后会进行dns解析找到ip,那假如直接在浏览器输入ip地址会怎么样?能访问到吗?和输入url有什么不同?

本人直接懵逼,这里开始胡言乱语了。

5.你说dns解析的时候有的是递归有的是迭代,为什么要这么设计?为什么不能都是迭代或者都是递归?哪一种比较好?

继续胡言乱语。

6.tcp为什么要三次握手,两次不行吗?

八股吟唱。

7.第三次握手除了防止已失效的连接重写连接到服务端,还有别的原因吗?

不知道,憋了二十秒钟不知道说什么。

8.并发方面了解吗?hashmap是不是线程安全的?如果让你来实现一个线程安全的hashmap你要怎么设计?如果不用j锁你要怎么设计?

9.juc知道吗?juc下最重要的类是哪一个?

10.java中有哪些加锁的方式?除了synchronized和reentlock还有别的吗?

11.jvm了解吗?jvm垃圾回收讲一下。

12.jvm垃圾回收的时候,有那么多gcroots,怎么快速定位到gcroots的?

13.堆外内存有什么作用?

14.分布式锁服务器挂了怎么办?

我回答关于Redis高可用的主从集群哨兵,然后他问我你说的这些和分布式锁有什么关系?

15.那我换个问题,Redis为什么可以用来作分布式锁?

脑子里已经完全乱了,我就说Redis是单线程

16.既然redis是单线程那它挂了岂不是拿不到锁了?

憋了半天想了个红锁,他也没继续问,估计也没答到点上。

17.rabbitmq如何保证消息顺序性?你项目里面说你实现了用户点赞功能,如果用户频繁点赞取消,那你如何保证点赞和取消赞的顺序是一致的,保证最终结果的正确性?

面到后面感觉他心情却是不太好,太多地方没回答出来了,然后进入反问环节,我就腆着脸问他能不能给些学习建议,他给我提了六七分钟的建议。说建议多看看基础的东西,校招和实习最看重的还是基础的地方,特别是计算机网络和操作系统这块。

面完后越想越郁闷,本人看八股也看了两三个月了,但这些题目大部分我是真的没见过,希望能有大佬帮忙看看(特别是俺加粗的地方,求求了)。


作者:牛客225588015号

来源:牛客网


美团基础研发平台java实习

1.tcp如何保证可靠传输
2.进程之间通信方式
3.操作系统中的锁有哪些
4.讲乐观锁和悲观锁
5.讲synchronized和reentlock区别
6.讲reentLock是如何实现乐观锁和悲观锁的
7.讲openFeign调用原理
8.讲nacos服务注册原理
9.openFeign发送失败的策略
10.库存的Redis和mysql数据一致性如何保证
11.threadLocal的作用
12.不使用nacos,直接由A模块向B模块发请求,能不能成功得到处理
算法:查找前k小的元素

作者:强大的马里奥

来源:牛客网


美团后端1-2面

一面

项目介绍

用的什么java版本

用的哪个gc

有过jvm调优经验吗

知道java8里有哪些特性,都用过哪些

死信队列介绍下,用来干啥的

线程安全问题是啥意思

为什么jdk代理不能通过生成子类来代理,而是要实现接口

spring循环依赖怎么解决的

redis的哈希表怎么扩容的

cap介绍下


sql编程题:

挺简单的就不写了


二面

项目介绍

用过chatgpt来提高开发效率吗

介绍下新生代和老年代的gc收集器

cms和g1的区别

给你一个8g内存机器,堆内存怎么设置

你怎么看mysql和redis的一致性问题

延迟双删介绍下

mysql执行计划了解过吗


hr面


第三次到终面了。。。不知道结局如何。。。

求好运吧。。。



作者:常在面试的牛客人士

来源:牛客网


4.23 Java暑期实习面经

1、new一个子类会创建几个对象?super指的是什么?this指的是什么?
2、重写和重载有什么区别?什么是多态呢?
3、怎么实现直接退出两层for循环?
4、抽象类和接口有什么区别呢?接口可以写方法实现吗?
5、序列化是什么意思呢?为什么要加一个版本号呢?不加的话,会有什么后果吗?会自动帮我加吗?
6、信号量的原理是什么?与线程池的区别?线程变量分别用那个信号量和线程池的区别?线程池的状态?
7、linkedHashMap和treeMap有什么区别呢?
8、Runnable和Callable的区别是什么呢?获取到这个返回值?join方法的作用?多线程之间通信的机制有哪几种呢?
线程池有哪些拒绝策略?说说怎么实现用请求线程执行?
9、不可响应中断的阻塞有哪些呢?
10、mysql事务隔离级别有哪些呢?怎么解决幻读?
11、如果有一张很大的表的话,有五百万数据里面,怎么查表性能是最好的?
12、ES里面的keyword和text这两个字段有什么区别吗?match和term这两个关键字有什么区别吗?模糊匹配怎么设置?
13、springbean是线程安全的吗?如果让你实现一个IOC容器,你会怎么设置呢?spring的自动装配原理?
14、redis做一个排行榜,怎么做可以节省内存和减少内存碎片呢?
15、zookeeper脑裂问题?
16、让你做一个安全接口设计会怎么做呢?
17、sentinel限流策略了解过吗?那漏桶会有什么缺点吗?
18、怎么查看GC次数?如果发现内存占用过高,我要看一下是哪些对象占用了,我怎么看呢?
19、你平时是如何学习的东西?
20、代码实现一个生产者和消费者模型

作者:牛客186204149号

来源:牛客网


阿里国际java后端一面凉经

感觉被刷kpi,迟到10多分钟啥也没说,面了20mins

自我介绍和项目介绍【说的依托答辩,再总结一下】

八股:
问我哪一块知识比较熟:JAVA的集合,并发编程,jvm
回答:集合、多线程
1. 线程同步的方法
2. .如何实现操作的原子性
3. vol关键字
4. sy与rentr关键词的底层实现有什么区别
5. sy作用在静态方法与实例方法有什么区别
6. juc包下面有哪些类是由cas实现
7. 为什么CAS可以保证原子性
8. 线程池池化技术,与多线程技术比有什么好处
9. 池化技术还用在那些地方?
10. 线程池里边有队列,队列满了之后,如何处理新进入的任务。
11. 拒绝策略有哪些
12. 线程池大小数量是不是越大越好
13. 怎么设置线程池的数量

无手撕算法
面试官已经不想面了,都懒得问了
狠狠被刷kpi了!!!

作者:tamakoyl

来源:牛客网


阿里云-瓴羊-后台开发 一面&二面

一面 60min含手撕

sychorinized的作用,解决什么问题
sychorinized作用在方法和对象上的区别
还有没有用过其他并发同步技术
CAS实现原理
CAS会自旋多久
ABA问题是什么
为什么会有ABA问题
版本号方案中版本号没有修改怎么办
Exception受检异常和非受检的区别
受检异常和非受检异常各在什么情况下使用
编程中如何用好两个异常
JVM内存泄漏是什么
什么情况会导致内存泄漏
函数重载为什么不用方法的返回值实现重载
怎么知道调用的重载的哪个方法
接口和抽象类的区别
还有没有其他区别
hashmap的底层结构
hashmap插入数据流程
hashmap解决冲突方法
hashmap数量特别多怎么解决插入和查找性能
100w数据的hashmap扩容复制会有什么问题
hashmap是怎么扩容的
hashmap的桶值是怎么计算出的
回到100w,hashmap扩容复制迁移数据性能影响怎么解决

手撕:双向链表插入+层序遍历二叉树

二面

创新创业大赛的项目是什么,几个人写的

大学有做过哪些不是个人写的是协作写的项目

微博/微信的后台推送机制是怎么实现的

为什么要用redis不用mysql

数据库有哪些索引

jvm的结构

怎么学习一门新技术

怎么评价你自己是一个怎么样的人


作者:求offer的社畜很想吃卤蛋

来源:牛客网


阿里国际一面 2024-04-23

电话面

  • 自我介绍
  • 面试官看我是跨专业的,问我计算机基础知识是研究生阶段积累的吗?
  • 面试官说我做的偏底层,他们团队做的是一些偏应用层的内容,怎么考虑的?(有点绷不住了,C++ 选手硬面 Java 岗)
  • 后续的职业发展?是想做一些偏底层的,像阿里云那边的数据库,还是偏向做业务相关的?(这里实话实说了,说想做底层相关的,因为已经有点不想面了,hhh)
  • 然后就是聊项目细节了,聊了大概 40min
  • 反问介绍一下业务



作者:Ephmeral

来源:牛客网


滴滴后端面试

2024-04-23一面
讲最近的项目
接口和抽象类区别
Java8为什么接口增加default
什么情况用接或和抽象类
synchronized底层实现
线程池参数
mysql索引底层实现
为什么用B+树不用B树
spring事务底层实现
什么情况spring事务会失效
redis基本数据结构
zset数据结构组成以及常用命令
工程题:使用zset实现7*24小时的热搜词排行榜,并每小时更新

许愿二面!!!!


作者:等OC的小菜鸟

来源:牛客网


百度java后端实习一面 4.23

百度地图组 50min 无算法

1.自我介绍

2.项目拷打

3.项目-项目上线or还是预研

4.项目-项目怎么迭代,你是下发任务的,还是合作任务的

5.项目-怎么合作任务(主要问接口文档怎么写的)

6.项目-spark是什么写的,为什么不用scala

7.用过spark什么算子你感觉特别惊艳,其算子源码是怎么写的

8.问了一个奇奇怪怪的算子,可能是我没用过,也可能是没听懂他发音(x)

9.在一个大型项目中,有很多spark任务,你会让spark任务怎么进行管理,你怎么知道任务执行到什么程度,你怎么控制任务的提交和撤销

10.项目-讲讲redis,为什么项目里在持久层和用户间引入一层缓存

11.项目-nacos干啥用的,你项目里怎么用的

12.nacos怎么对配置分级管理

13.讲讲es等存储引擎

14.为什么在海量数据检索的场景下,我们一般选择这种引擎,而不用mysql等关系型数据库

15.讲讲mysql索引建立的场景

16.怎么分析一个sql有没有走索引,走到什么程度

17.对docker和k8s了解情况怎么样

18.docker内外端口映射怎么实现的

19.k8s的几个配置文件讲讲(x)

20.我们知道java的一些数据结构在多线程场景下扩容的时候都会有问题,什么数据结构在扩容的时候分别有什么问题

21.对应的java是不是提供一些不会有问题的数据结构

22.假设有一个业务逻辑,需要执行完A,B,C三个子任务完才能结束业务,你会怎么考虑实现过程

23.假设这个逻辑是一个面向用户的逻辑,需要多次调用,除了开子线程+countdownlatch/cybbier,你想要提高这个服务的性能,你会考虑怎么做

24.如果想要保证A,B,C内部任务执行的有序性,你在创建线程池的时候,需要额外干什么

25.这个业务就一个函数,这个函数需要执行完A,B,C三个子任务完才结束,在这种情况下,你会用jdk提供封装好的什么线程池,为什么(x,猜了cache和schedule都被否了,不会是single吧)

26.我们知道jdk提供了很多锁机制来保证并发安全,其中syn是一个用的最广泛的,那么,syn锁的是A.class的时候,这个时候锁的粒度是什么样的

27.A a = new A(),syn锁的是a的时候,这个时候锁的粒度又是什么样的

28.syn锁的是方法的时候,相比于锁实例对象和锁类对象,他有什么不一样的地方呢,在底层字节码是怎么保证锁的进入和退出的

29.我们知道jdk版本衍进过程中,jdk对并发上做了很多优化,请讲讲类似自旋锁等各种jdk采用的并发无锁优化的技术

30.你讲了分段锁,那你讲讲为什么分段锁被concurrent废弃了,为什么不能在cas和syn上层再用分段锁优化呢

31.你提到了偏向锁和轻量级锁,那你讲讲syn锁升级的过程是怎么样的

32.如果需要你研究个新技术,你会怎么办,你周围的同学都对这没咋接触过

33.项目-你来思考下,你的项目里怎么引入GPT,除了GPT作为和用户的交互,能不能把核心代码逻辑直接交由LLM负责,你不需要咋写代码了,只保留数据存储层?-蚌埠住了,什么先进技术,百度AI不亏遥遥领先



作者:byebyeneu

来源:牛客网


联通java实习面经

三十分钟,好多回答不上来,而且好多都忘了,尴尬到抠脚
按照项目问八股,项目是短链
1.为什么使用布隆过滤器而不使用set?布隆过滤器有什么优点?
2.布隆过滤器判断什么一定正确,判断什么不一定正确?
答:一个元素在布隆过滤器里,去判断的话他肯定在布隆过滤器里,不在布隆过滤器里的可能误判成在布隆过滤器里
问:你再想想?
答:

不是这样吗?我理解出错了吗


3.redis缓存穿透、击穿
4.用redis如何实现分布式锁?
5.实现锁的时候,如果try catch finally的时候,突然宕机了,finally释放锁失败了,应该怎么解决?(面完后想到应该设置一个超时释放,不知道对不对)
6.RockeMQ重复消费问题如何解决?解决幂等问题有什么方案?在项目里面哪里用上了幂等?(被质疑,你项目这里就算重复消费了也没关系了,好尴尬)
7.shardingsphere是怎么分库分表的?分表的维度是什么?
8.项目里redis和mysql数据的过期时间是怎么设计的?
9.短链生成里面如果发生了哈希冲突,如何解决?
10.分表的时候,如果一开始分了10个,发现10个不够用,要扩大到20个,应该怎么解决?(早知道不写shardingsphere在简历上了)
11.线程的状态?线程状态之间是怎么转换的?
12.面向对象四大特性????(不是三大吗????答了:封装继承多态)
13.java是怎么实现多态的 (没看SE的八股,全忘了,尴尬死了)
14.mysql五大范式? (上一次见到还是在考试,,忘了)
15.mysql是怎么分页的?
16.异步线程重复多次干一个业务,能否弄成单例 (没看懂是问啥呀


真的绷不住了,面一面才知道自己有多菜


作者:不会数学的Rtt不抓猫想转码

来源:牛客网


随着不断更新,大家也可以看更全的实时更新的10000+面经,覆盖更全面的公司和岗位:link.youzhiwk.com/r/yDE