阿里资深专家面试问题收集

corejava

  1. hashcode相等的两个对象一定相等吗?equals呢?反过来相等吗?
  2. 介绍一下集合框架?
  3. hashtable,hashmap底层实现是什么?hashtable和concurrenthashmap底层实现的区别?
  4. hashmap和treemap的区别?底层数据结构都是什么?
  5. 线程池用过吗?都有什么参数?底层是如何实现的?
  6. synchronize 和Lock接口的区别是什么?synchronize什么情况下是对象锁?什么情况下是全局锁?为什么?
  7. ThreadLocal 如何使用的?说出你在项目中使用的例子?底层实现是什么?
  8. volatile 的工作原理是什么?
  9. CAS是什么?如何实现的呢?
  10. 请用至少四种写法?写单例模式的实现.

JVM

  1. 请介绍一下JVM内存模型?用过哪些垃圾回收器?
  2. 线上频繁发生full gc如何处理?CPU使用率过高怎么办?说出你的思路和处理方法? 3,知道字节码吗?字节码都有哪些指令?Integer x=5. int y=5. 比较 x==y都经过哪些步骤?
  3. 讲讲类加载机制?都有哪些类加载器?这些类加载器都加载哪些类文件?说说你在项目中用到类加载器的例子?
  4. 知道osgi吗?他是如何实现的?
  5. 请问你做过哪些JVM方面的优化?使用的什么方法?达到了什么效果?

数据库

  1. 使用mysq索引都有哪些规则?索引是什么数据结构?B+tree和B tree的区别是什么?
  2. mysql有哪些存储引擎啊?都有什么区别?
  3. 设计高并发高可用系统时数据库层面设计该怎么设计?
  4. 数据库锁都有哪些?如何实现的的?
  5. 数据库事务都有哪些?

分库分表

  1. 如何设计可以动态扩容缩容的分库分表方案?
  2. 用过哪些分库分表方案?都有什么优点和缺点?说一下他的底层如何实现的?
  3. 我现在有一个未分库分表系统A,以后系统需要分库分表B,请问,线上如何动态的由A切换到B?
  4. 分布式事务知道吗?它是如何实现的?若在通信过程中,出现网络原因,如何解决?
  5. 为什么要分库分表?
  6. 分布式寻址方式都有哪些?知道一致性hash吗?手写一下java实现代码?
  7. 你若用userId取模分片,我要查询连续时间段里的数据怎么办?
  8. 如何解决分库分表的主键问题?有什么实现方案?

分布式缓存

  1. redis和memcached什么区别?为什么单线程的redis比多线程的memcached效率要高?
  2. redis有什么数据类型?都在哪些场景下使用?
  3. redis主从复制如何实现的?redis的集群模式如何实现?redis的key是如何寻址的?
  4. 使用redis如何设计分布式锁?说一下实现思路?使用zk可以吗?如何实现?这两种有什么区别?
  5. 知道redis 的持久化吗?底层如何实现的?有什么优点缺点?
  6. redis过期策略都有哪些?LRU算法知道吗?写一下java代码实现?

分布式服务框架

  1. 说一下dubbo的实现过程?注册中心挂了可以继续通信吗?
  2. zookeeper原理知道吗?项目中都用到zookeeper哪些功能?其实现算法知道吗?说一下大概原理?
  3. dubbo支持哪些序列化协议?知道hessian的数据结构吗?PB知道吗?为啥他的效率最高?
  4. netty知道吗?netty可以做什么?NIO,BIO,AIO都是什么?有什么区别?
  5. dubbo负载均衡策略和高可用策略都有哪些?动态代理策略都有哪些?
  6. 为啥要进行系统拆分?不进行拆分可以吗?dubbo和thrift什么区别?

分布式消息队列

  1. 为什么使用消息队列?消息队列有什么优点和缺点?
  2. 如何保证消息队列高可用?如何保证消息不被重复消费?
  3. kafka,activemq,rabbitmq,rocketmq都有什么优点缺点?
  4. 如果让你设计一个消息队列?该如何进行架构设计,说一下你的思路?

分布式搜索引擎

  1. es的工作 过程是如何实现的,他是如何实现分布式的的?
  2. Es在数据量很大的情况下(数十亿),如何提高查询效率?
  3. Es的查询是一个怎么的工作过程?底层的luncence介绍一下?倒排索引知道吗?es和mongodb有什么区别?使用场景都有哪些?

高并发高可用架构设计

  1. 如何设计一个高并发高可用系统?
  2. 如何限流?工作中是怎么做的?说一下具体实现?
  3. 缓存如何使用?缓存使用不当会造成什么后果?
  4. 如何熔断?熔断框架都有哪些?说一下具体原理实现?
  5. 如何降级?如何进行系统拆分?如何进行数据库拆分?

转载于:https://my.oschina.net/undefine/blog/1858792

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值