Java高频面试题
Posted yangyongjie
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java高频面试题相关的知识,希望对你有一定的参考价值。
网络相关
1.http1.0和http1.1的区别?
2.http和https的区别?
3.TCP三次握手和四次握手的流程,为什么断开连接是四次,如果握手只有两次会出现什么?
为什么是四次:服务器收到客户端的FIN报文时,仅仅表示客户端没有数据再发送给服务端了,但是服务端可能还有数据没有完整发送给了客户端,所以不会马上关闭socket连接,等数据发送完毕后再发送FIN报文给客户端,告诉客户端同意关闭连接。
4.TCP/IP如何保证可靠性,数据包有哪些数据组成?
5.http get请求和post请求的区别?以及数据包格式?
6.长连接和短连接?
7.TIME_WAIT和CLOSE_WAIT?
8.说出你知道的几种http响应码?
缓存相关
1.redis持久化的几种方式,优缺点是什么,怎么实现的?
2.redis的缓存失效策略?
3.缓存穿透和缓存雪崩的解决办法?
4.redis集群,高可用,原理?
5.mysql里有20万条数据,如何保证redis中的数据都是热点数据?
6.redis的数据淘汰策略?
7.redis的并发竞争问题如何解决?了解redis事务的CAS操作吗?
数据库相关
1.MySql InnDB存储的文件结构?
2.索引树是如何维护的?
3.数据库自增主键可能的问题?
4.MySql的几种优化?
5.MySql为什么使用B+树?
6.数据库锁表的相关处理?
7.索引失效的场景?
8.高并发下如何做到安全的修噶同一行数据,乐观锁和悲观锁是什么?InnDB的行级锁有哪两种,解释其含义?
9.数据库会死锁吗,举一个例子,mysql如何解决死锁?
分布式相关
1.接口的幂等性概念?
2.消息中间件如何解决消息丢失的问题?
3.对分布式事务的理解?
4.如何实现负载均衡,有哪些算法可以实现?
https://i.cnblogs.com/EditPosts.aspx?postid=10578883
5.zookeeper的用途,选举的原理是什么?选举的时候能提供服务吗?
6.zookeeper的原理和适用场景?
7.zookeeper的watch机制?
8.redis/zk节点宕机如何处理?
9.分布式集群下如何做到唯一序列号?
10.如何做一个分布式锁?
11.用过哪些MQ,怎么用的?和其他MQ比有什么优缺点,MQ的连接是线程安全的吗?
12.MQ系统的数据如何保证不丢失?
13.列举你能想到的数据库分库分表策略;分库分表后,如何解决全表查询的问题?
以上是关于Java高频面试题的主要内容,如果未能解决你的问题,请参考以下文章
提问率高达 98%!近期 BATJ 大厂 Java 岗高频面试题~