阿里资深专家面试问题收集
corejava hashcode相等的两个对象一定相等吗?equals呢?反过来相等吗? 介绍一下集合框架? hashtable,hashmap底层实现是什么?hashtable和concurrenthashmap底层实现的区别? hashmap和treemap的区别?底层数据结构都是什么? 线程池用过吗?都有什么参数?底层是如何实现的? synchronize 和Lock接口的区别是什么?synchronize什么情况下是对象锁?什么情况下是全局锁?为什么? ThreadLocal 如何使用的?说出你在项目中使用的例子?底层实现是什么? volatile 的工作原理是什么? CAS是什么?如何实现的呢? 请用至少四种写法?写单例模式的实现. JVM 请介绍一下JVM内存模型?用过哪些垃圾回收器? 线上频繁发生full gc如何处理?CPU使用率过高怎么办?说出你的思路和处理方法? 3,知道字节码吗?字节码都有哪些指令?Integer x=5. int y=5. 比较 x==y都经过哪些步骤? 讲讲类加载机制?都有哪些类加载器?这些类加载器都加载哪些类文件?说说你在项目中用到类加载器的例子? 知道osgi吗?他是如何实现的? 请问你做过哪些JVM方面的优化?使用的什么方法?达到了什么效果? 数据库 使用mysq索引都有哪些规则?索引是什么数据结构?B+tree和B tree的区别是什么? mysql有哪些存储引擎啊?都有什么区别? 设计高并发高可用系统时数据库层面设计该怎么设计? 数据库锁都有哪些?如何实现的的? 数据库事务都有哪些? 分库分表 如何设计可以动态扩容缩容的分库分表方案? 用过哪些分库分表方案?都有什么优点和缺点?说一下他的底层如何实现的? 我现在有一个未分库分表系统A,以后系统需要分库分表B,请问,线上如何动态的由A切换到B? 分布式事务知道吗?它是如何实现的?若在通信过程中,出现网络原因,如何解决? 为什么要分库分表? 分布式寻址方式都有哪些?知道一致性hash吗?手写一下java实现代码? 你若用userId取模分片,我要查询连续时间段里的数据怎么办? 如何解决分库分表的主键问题?有什么实现方案? 分布式缓存 redis和memcached什么区别?为什么单线程的redis比多线程的memcached效率要高? redis有什么数据类型?都在哪些场景下使用? redis主从复制如何实现的?redis的集群模式如何实现?redis的key是如何寻址的? 使用redis如何设计分布式锁?说一下实现思路?使用zk可以吗?如何实现?这两种有什么区别? 知道redis 的持久化吗?底层如何实现的?有什么优点缺点? redis过期策略都有哪些?LRU算法知道吗?写一下java代码实现? 分布式服务框架 说一下dubbo的实现过程?注册中心挂了可以继续通信吗? zookeeper原理知道吗?项目中都用到zookeeper哪些功能?其实现算法知道吗?说一下大概原理? dubbo支持哪些序列化协议?知道hessian的数据结构吗?PB知道吗?为啥他的效率最高? netty知道吗?netty可以做什么?NIO,BIO,AIO都是什么?有什么区别? dubbo负载均衡策略和高可用策略都有哪些?动态代理策略都有哪些? 为啥要进行系统拆分?不进行拆分可以吗?dubbo和thrift什么区别? 分布式消息队列 为什么使用消息队列?消息队列有什么优点和缺点? 如何保证消息队列高可用?如何保证消息不被重复消费? kafka,activemq,rabbitmq,rocketmq都有什么优点缺点? 如果让你设计一个消息队列?该如何进行架构设计,说一下你的思路? 分布式搜索引擎 es的工作 过程是如何实现的,他是如何实现分布式的的? Es在数据量很大的情况下(数十亿),如何提高查询效率? Es的查询是一个怎么的工作过程?底层的luncence介绍一下?倒排索引知道吗?es和mongodb有什么区别?使用场景都有哪些? 高并发高可用架构设计 如何设计一个高并发高可用系统? 如何限流?工作中是怎么做的?说一下具体实现? 缓存如何使用?缓存使用不当会造成什么后果? 如何熔断?熔断框架都有哪些?说一下具体原理实现? 如何降级?如何进行系统拆分?如何进行数据库拆分? 需要免费Java架构学习资料视频请加扣扣群835544715 群内提供免费的学习指导 架构资料 以及免费的解答 不懂得问题都可以在本群提出来 之后还会有职业生涯规划以及面试指导