阅读 28

那时为了金三银四,我所整理的java面试题汇总

image
今天给大家分享下我整理的Java架构面试专题及答案,其中大部分都是面试过程中的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部

JUC/并发相关

  1. ThreadLocal用过么,原理是什么,用的时候要注意什么
  2. Synchronized和Lock的区别
  3. synchronized 的原理,什么是自旋锁,偏向锁,轻量级锁,什么叫可重入锁,什么叫公平锁和非公平锁
  4. concurrenthashmap具体实现及其原理,jdk8下的改版
  5. 用过哪些原子类,他们的参数以及原理是什么
  6. cas是什么,他会产生什么问题(ABA问题的解决,如加入修改次数、版本号)
  7. 如果让你实现一个并发安全的链表,你会怎么做
  8. 简述ConcurrentLinkedQueue和LinkedBlockingQueue的用处和不同之处
  9. 简述AQS的实现原理
  10. countdowlatch和cyclicbarrier的用法,以及相互之间的差别?
  11. concurrent包中使用过哪些类?分别说说使用在什么场景?为什么要使用?
  12. LockSupport工具
  13. Condition接口及其实现原理
  14. Fork/Join框架的理解
  15. jdk8的parallelStream的理解
  16. 分段锁的原理,锁力度减小的思考

Spring

  1. Spring AOP与IOC的实现原理
  2. Spring的beanFactory和factoryBean的区别
  3. 为什么CGlib方式可以对接口实现代理?
  4. RMI与代理模式
  5. Spring的事务隔离级别,实现原理
  6. 对Spring的理解,非单例注入的原理?它的生命周期?循环注入的原理,aop的实现原理,说说aop中的几个术语,它们是怎么相互工作的?
  7. Mybatis的底层实现原理
  8. MVC框架原理,他们都是怎么做url路由的
  9. spring boot特性,优势,适用场景等
  10. quartz和timer对比
  11. spring的controller是单例还是多例,怎么保证并发的安全

分布式相关

  1. Dubbo的底层实现原理和机制
  2. 描述一个服务从发布到被消费的详细过程
  3. 分布式系统怎么做服务治理
  4. 接口的幂等性的概念
  5. 消息中间件如何解决消息丢失问题
  6. Dubbo的服务请求失败怎么处理
  7. 重连机制会不会造成错误
  8. 对分布式事务的理解
  9. 如何实现负载均衡,有哪些算法可以实现?
  10. Zookeeper的用途,选举的原理是什么?
  11. 数据的垂直拆分水平拆分。
  12. zookeeper原理和适用场景
  13. zookeeper watch机制
  14. redis/zk节点宕机如何处理
  15. 分布式集群下如何做到唯一序列号
  16. 如何做一个分布式锁
  17. 用过哪些MQ,怎么用的,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗
  18. MQ系统的数据如何保证不丢失
  19. 列举出你能想到的数据库分库分表策略;分库分表后,如何解决全表查询的问题。

算法和数据结构以及设计模式

  1. 海量url去重类问题(布隆过滤器)
  2. 数组和链表数据结构描述,各自的时间复杂度
  3. 二叉树遍历
  4. 快速排序
  5. BTree相关的操作
  6. 在工作中遇到过哪些设计模式,是如何应用的
  7. hash算法的有哪几种,优缺点,使用场景
  8. 什么是一致性hash
  9. paxos算法
  10. 在装饰器模式和代理模式之间,你如何抉择,请结合自身实际情况聊聊
  11. 代码重构的步骤和原因,如果理解重构到模式?

数据库

  1. MySQL InnoDB存储的文件结构
  2. 索引树是如何维护的?
  3. 数据库自增主键可能的问题
  4. MySQL的几种优化
  5. mysql索引为什么使用B+树
  6. 数据库锁表的相关处理
  7. 索引失效场景
  8. 高并发下如何做到安全的修改同一行数据,乐观锁和悲观锁是什么,INNODB的行级锁有哪2种,解释其含义
  9. 数据库会死锁吗,举一个死锁的例子,mysql怎么解决死锁

Redis&缓存相关

  1. Redis的并发竞争问题如何解决了解Redis事务的CAS操作吗
  2. 缓存机器增删如何对系统影响最小,一致性哈希的实现
  3. Redis持久化的几种方式,优缺点是什么,怎么实现的
  4. Redis的缓存失效策略
  5. 缓存穿透的解决办法
  6. redis集群,高可用,原理
  7. mySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据
  8. 用Redis和任意语言实现一段恶意登录保护的代码,限制1小时内每用户Id最多只能登录5次
  9. redis的数据淘汰策略

网络相关

  1. http1.0和http1.1有什么区别
  2. TCP/IP协议
  3. TCP三次握手和四次挥手的流程,为什么断开连接要4次,如果握手只有两次,会出现什么
  4. TIME_WAIT和CLOSE_WAIT的区别
  5. 说说你知道的几种HTTP响应码
  6. 当你用浏览器打开一个链接的时候,计算机做了哪些工作步骤
  7. TCP/IP如何保证可靠性,数据包有哪些数据组成
  8. 长连接与短连接
  9. Http请求get和post的区别以及数据包格式
  10. 简述tcp建立连接3次握手,和断开连接4次握手的过程;关闭连接时,出现TIMEWAIT过多是由什么原因引起,是出现在主动断开方还是被动断开方

本文到此结束,喜欢的朋友帮忙点点赞和关注,感谢!

关注下面的标签,发现更多相似文章
评论