往期文章>>>
Java最全面试题【五分钟看完】
Java后端精选面试题分享
Java经典面试题 带答案(五)
Java经典面试题 带答案(四)
Java经典面试题 带答案(三)
2023年春招Java面试选择题及答案解析
…
饿了吗Java后端面经(感觉有点难)
1、自我介绍
2、哪一年开始学Java的
3、JVM的内存结构
4、JVM怎么判断一个对象没有被使用(引用计数法,可达性算法)
5、堆空间的基本结构(伊甸园,幸存区from/to,老年代)
6、final和finally和finalize的区别
7、如果try中return 2,finally中return 3。请问最终会返回多少。(3)
8、调用System.gc后,Java内存会不会马上进行回收(不会,只有在justRanFinalization=true的时候才会执行)
9、OSI的七层协议
10、五层模型是因为什么协议而从七层和四层综合成五层的(有没有大佬知道的,我是真不道啊)
11、TCP和UDP的区别
12、四次挥手
13、为什么第四次挥手和第二次挥手不能合并确保数据能够完整传输。(按照常理的话,第二次和第三次挥手应该一起回复FIN=1和ACK=1的,但是因为服务器端可能有数据没发完,所以不能也立刻去主动申请关闭,所以要把ACK和FIN分开,再发送FIN报文给主动方,告诉主动方同意关闭连接,所以这里的ACK报文和FIN报文多数情况下都是分开发送的。)
14、线程和进程的区别
15、进程和进程之间数据共享的方式(八种)
16、乐观锁和悲观锁之间的区别
17、乐观锁和悲观锁的适用场景(读多,写多)
18、sql语言怎么实现乐观锁和悲观锁(for update,version版本控制)
19、介绍下项目,项目是独立做的还是同学一起的,团队有几个人,你自己负责哪些功能
20、单点登录是怎么实现的
21、为什么用JWT,常见的实现登录的方式有哪些(cookie+session,redis+token,JWT)
22、用户登录是否有过期时间,再次登录时,过期时间是顺延还是继续计时(顺延)
23、cookie和session的区别(位置,安全性,生命周期,保存数据类型)
24、cookie中存了什么样的信息,可以判断用户有否处于登录态(Session ID)
25、cookie被拿到以后,换一个机器访问,可以访问吗
26、cookie被伪造的话,会导致什么问题,怎么解决
27、redis做登录的话,其中存了什么东西(token)
28、那redis是怎么判断当前的请求是用户A的请求还是用户B的请求(前端header中的key,然后解密)
29、redis中的信息是加密的还是已经解密的
30、redis是否支持持久化(RDB,AOF)
31、redis有哪几种用来做容灾的架构设计策略(单机,主从复制,哨兵,集群)
32、主从模式中,主库和从库哪个负责读哪个负责写(主)
33、哨兵模式中master挂了,接下来会做什么事情(Raft)
34、介绍下Raft算法(强推一个网站,讲的可以说是很详细了)
35、哨兵模式下,写redis是单台机器提供写的能力还是多台机器提供
36、如果写的数据量很大,redis还有其他的方案能支持更多的写吗(Redis切片集群)
37、redis和mysql怎么保持数据一致性(延迟双删,异步更新缓存(基于binlog的同步机制))
38、redis中的数据被删除以后,热点数据打到数据库,怎么保证数据库不会被击垮
39、流量削峰怎么做(排队,答题,分层过滤)
网易日常Java面经
1、自我介绍
2、讲一下实习的经历
3、介绍项目遇到的难题
4、分布式锁怎么实现的?setnx有啥缺陷
5、Springboot如何开发一个http接口
6、Springmvc处理请求的流程
7、Bean默认是单例还是多例,怎么设置多例
8、BeanFactory和FactoryBean有啥区别
9、Mybatis动态sql
10、#{}和${}的区别
11、Redis在项目中的作用
12、缓存用啥结构
13、Redis存String转map和直接存map的区别
14、Redis持久化方式
15、Ngnix怎么配置不同接口映射到不同服务器
16、Kafka用过吗?用来做啥,原理,为啥顺序写
基础部分
17、面向对象的特性
18、多态的特点
19、Java是多继承吗?为啥不能多继承
20、抽象类和接口的区别
21、Java集合?hashmap的原理(老八股了)
22、红黑树是啥样的(不会)
23、Hashmap线程安全吗?ConcurrentHashMap如何实现线程安全的。1.7对比1.8
24、Synchronize和ReentrantLock的区别,原理。
25、锁升级
26、Synchronize的作用域。实际用过吗
27、run和start的区别
28、线程池核心参数。自己补充了执行流程等
29、线程池核心线程数量怎么设置,为啥
30、上下文切换有啥操作
31、虚拟机栈的结构。执行方法的流程
32、AQS了解吗?原理是啥
33、JVM的运行时数据区,方法区里有啥
34、Mysql的索引结构?优点啥啥的
35、一页存2000w怎么算出来的(自己挖的坑)
36、二级索引是什么(顺带把覆盖索引,回表说了)
37、索引失效的情况。
38、事务和日志的原理。
39、脏读。怎么解决。原理
40、归并排序
41、Url解析到显示
42、Http1.0和2.0的区别
43、Get Post的区别
44、Cookie和Session的区别。
45、浏览器对url有什么限制
46、有什么你擅长的我没问到的?(不知道说啥,说了算法)
47、回形打印(口述思路)
48、写一个http接口(主要是看代码规范)
二面如下: