大家好,给大家汇总了2024年最新的JAVA面经汇总,不过随着不断更新,大家也可以看更全的实时更新的10000+面经:https://link.youzhiwk.com/r/yDEZMirw2h
携程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+面经,覆盖更全面的公司和岗位:https://link.youzhiwk.com/r/yDEZMirw2h