corejava
1.hashcode相等,两个对象一定相等吗?equals呢?相反呢?2.介绍一下集合框架? 3.HashMap/Hashtable底层实现的区别?Hashtable和ConcurrentHashMap底层区别?hashMap和treeMap底层数据结构的区别? (Hashmap的扩容机制、ConcurrentHashMap的桶分割原理、多线程安全性)4.线程池用过吗?都有什么参数?底层如何实现的?5.synchronized和lock的区别?6.ThreadLocal是什么? 底层如何实现的?写一个例子?7.volatile的工作原理8.cas知道吗?如何实现的?9.至少用四种方法,写一个单例模式?10.其他
JVM
1.介绍一下JVM内存模型?2.用过什么垃圾回收器?程序员为什么要关注gc?线上发送频繁full gc如何处理? CPU使用率过高怎么办?3.知道字节码吗?字节码有哪些? Integer x=5, int y=5, 比较 x==y 都经过哪些步骤?
4.讲讲类加载机制呗?都有哪些类加载器?这些类加载器都加载哪些文件?手写一下类加载Demo5.知道osgi吗? 它是如何实现的?
6.请问你做过哪些JVM优化?使用什么方法?达到什么效果?7.class.forName("java.lang.String") 和 String.class.getClassLoader().loadClass("java.lang.String") 区别是什么?8.happens-before 原则
Spring
1.spring都有哪些机制?AOP底层如何实现的?IOC呢??2.cglib知道吗?它和jdk动态代理什么区别?手写一个jdk动态代理?
算法
1.一个文件,有45亿个阿拉伯数字,如何进行去重?(分治 + bitmap) 如何找出最大的那个数?(分治 + 大根堆)2.海量日志数据,提取出某日访问百度次数最多的那个IP。3.排序算法4.反转链表5.three-sum算法。
数据结构
1.二叉树和红黑树2.B树和B+树3.Trie字典树
4.堵塞队列
通信协议
1.说一下TCP/IP四层模型?2.TCP三次握手、四次挥手的工作流程?画一下流程图? 为什么不是四次五次或者二次啊?3.http的工作流程??? http1.0 http1.1 http2.0 有哪些区别?4.画一下https的工作流程?具体如何实现?如何防止被抓包?
数据库
1.使用mysql索引都有哪些原则?? 索引什么数据结构? B+tree和B tree什么区别?2.mysql有哪些存储引擎?都有啥区别?要详细!3.设计高并发系统数据库层面该什么设计? 数据库锁有哪些类型? 如何实现?4.数据库事务有哪些?隔离级别?
分库分表
1.为什么要分库分表啊???
2.如何设计可以动态扩容缩容的分库分表方案???
3.用过哪些分库分表中间件?有啥优点和缺点? 讲一下你了解的分库分表中间件的底层实现原理?
4.我现在有一个未分库分表的系统,以后系统需分库分表,如何设计,让未分库分表的系统动态切换到分库分表的系统上???
5.分布式事务知道吗?你们怎么解决的? TCC? 那如果出现网络原因,网络连不通怎么办啊???
6.分布式寻址方式都有哪些算法?知道一致性hash吗?
7.如何解决分库分表主键问题?有什么实现方案??
分布式缓存(redis)
0.缓存和缓存淘汰算法1.redis和memchached 什么区别? 为什么单线程的redis比多线程的memchached效率要高?2.redis有什么数据类型? 都在哪些场景下使用啊?3.redis的主从复制是怎么实现的?redis的集群模式是如何实现的呢?redis的key是如何寻址的啊?4.使用redis如何设计分布式锁?使用zk可以吗?如何实现吗?这两种那个效率更高啊??5.知道redis的持久化吗? 都有什么优缺点?? 具体底层实现呢?6.redis过期策略都有哪些? LRU? 写一下java版本的代码
分布式消息队列
1.为什么使用消息队列啊? 消息队列有什么优点和缺?
2.如何保证消息队列的高可用?如何保证消息不被重复消费?
3.kafka,activeMQ,rabbitMQ,rocketMQ 都分别有什么优点、缺点???
4.如果让你写一个消息队列,该如何进行架构设计啊?说一下你的思路
分布式搜索引擎
1.es的工作过程实现是如何的? 如何实现分布式的?2.es在数据量很大的情况下(数十亿级别)如何提高查询效率?3.es的查询是一个怎么样的工作过程?底层的Lucene介绍一下? 倒排索引知道吗?
4.es和mongdb什么区别啊?都在什么场景下使用?
分布式服务框架
1.说一下dubbo的实现过程? 注册中心挂了可以继续通信吗??
2.zk原理知道吗? zk都可以干什么? Paxos算法知道吗? 说一下原理和实现??
3.dubbo支持哪些序列化协议? hession?说一下hession的数据结构? Protocol Buffer知道吗? 为啥PB效率是最高的??
4.知道netty吗? netty可以干嘛? NIO,BIO,AIO都是什么啊?有什么区别?
5.dubbo复制均衡策略和高可用策略都有哪些? 动态代理策略呢?
6.为什么要进行系统拆分啊? 拆分不用dubbo可以吗? dubbo和thrift有什么区别?
高并发高可用架构设计
1.如何设计一个高并发高可用系统?
2.如何限流? 工程中怎么做的,说一下具体实现?
3.缓存如何使用的? 缓存使用不当会造成什么后果?
4.如何熔断? 熔断框架都有哪些? 具体实现原理知道吗?
5.如何降级? 如何进行系统拆分,如何数据库拆分???
源码包,比如Object类,current包(最重要)等
jvm 堆栈划分,内存排查 类加载等
常用设计模式
常用排序算法 比如快排 堆排序
spring ioc aop
mybatis 二级缓存 插件实现等
多线程 线程池 线程安全容器
消息队列
RPC框架
分布式事务 分布式唯一ID
IO流 阻塞和非阻塞模型
缓存穿透 击穿 雪崩
熔断 降级 限流 异步
JDK1.8
B数 B+数 红黑树
泛型容器 泛型设计
分布式锁
面经:
https://www.jianshu.com/p/c8a271448dcd
齐全QA:https://www.cnblogs.com/doudouxiaoye/p/5811605.html
博客:https://blog.csdn.net/qq_33471815?orderby=UpdateTime
面试题:
https://blog.csdn.net/qq_20032995/article/details/78909693 (https://blog.csdn.net/qq_33471815/article/details/83856001)
https://blog.csdn.net/varyall/article/details/80362898 (https://blog.csdn.net/CowBoySoBusy/article/details/80686034)
齐全:https://blog.csdn.net/qq_35151346/article/details/90740508
https://blog.csdn.net/youanyyou/article/details/78989942
https://blog.csdn.net/qq_29619571/article/details/97928546
https://blog.csdn.net/weixin_40205234/article/details/88111596
https://blog.csdn.net/weixin_39393610/article/details/81180539
https://blog.csdn.net/leaf_130/article/details/61931856
https://blog.csdn.net/weixin_45127309/article/details/92833419
https://blog.csdn.net/weixin_33894992/article/details/89590110
https://blog.csdn.net/djrm11/article/details/96468513
https://blog.csdn.net/qq_41701956 https://blog.csdn.net/qq_41701956/article/details/104093593
https://blog.csdn.net/weixin_46062001/article/details/104029893
https://blog.csdn.net/GYHYCX/article/details/104029381
https://blog.csdn.net/GYHYCX/article/details/104033245
https://blog.csdn.net/GYHYCX/article/details/104029436
https://blog.csdn.net/gyhycx/article/details/103534326
https://github.com/0voice/interview_internal_reference#1 https://mp.weixin.qq.com/s/oHdfGl292Yoz8bz3B5O6AQ
https://github.com/doocs/advanced-java/tree/master/docs/high-concurrency
整理的:
https://blog.csdn.net/yowasa/article/details/81320795
https://blog.csdn.net/cauclh/article/details/79584313