问题

阿里面试题 JAVA

阿里部分面试题汇总,对想进阿里的同学非常实用

题库小秘书

发表于 2019-03-13 13:03:55

一、JVM与性能优化

  1. 描述一下 JVM 加载 Class 文件的原理机制?
  2. 什么是类加载器?
  3. 类加载器有哪些?
  4. 什么是tomcat类加载机制?
  5. 类加载器双亲委派模型机制?
  6. Java 内存分配?
  7. Java 堆的结构是什么样子的?
  8. 简述各个版本内存区域的变化?
  9. 说说各个区域的作用?
  10. Java 中会存在内存泄漏吗,简述一下?
  11. Java 类加载过程?
  12. 什么是GC? 为什么要有 GC?
  13. 简述一下Java 垃圾回收机制?
  14. 如何判断一个对象是否存活?
  15. 垃圾回收的优点和原理,并考虑 2 种回收机制?基本原理是什么?
  16. 深拷贝和浅拷贝?
  17. 什么是分布式垃圾回收(DGC)?它是如何工作的?
  18. 在 Java 中,对象什么时候可以被垃圾回收?
  19. 简述Minor GC 和 Major GC?
  20. Java 中垃圾收集的方法有哪些?
  21. 讲讲你理解的性能评价及测试指标?
  22. 常用的性能优化方式有哪些?
  23. 说说分布式缓存和一致性哈希?
  24. 什么是GC调优?

二、Redis

  1. redis数据结构有哪些?
  2. Redis缓存穿透,缓存雪崩?
  3. 如何使用Redis来实现分布式锁?
  4. Redis的并发竞争问题如何解决?
  5. Redis持久化的几种方式,优缺点是什么,怎么实现的?
  6. Redis的缓存失效策略?
  7. Redis集群,高可用,原理?
  8. Redis缓存分片?
  9. Redis的数据淘汰策略?
  10. redis队列应用场景?
  11. 分布式使用场景(储存session)?

三、网络编程

  1. TCP建立连接和断开连接的过程?
  2. HTTP协议的交互流程• HTTP和HTTPS的差异,SSL的交互流程?
  3. TCP的滑动窗口协议有什么用?
  4. HTTP协议都有哪些方法?
  5. Socket交互的基本流程?
  6. 讲讲tcp协议(建连过程,慢启动,滑动窗口,七层模型)?
  7. webservice协议(wsdl/soap格式,与restt办议的区别)?
  8. 说说Netty线程模型,什么是零拷贝?
  9. TCP三次握手、四次挥手?
  10. DNS解析过程?
  11. TCP如何保证数据的可靠传输的?

四、设计模式与重构

  1. 说说几个常见的设计模式(23种设计模式)?
  2. 设计一个工厂的包的时候会遵循哪些原则?
  3. 列举一个使用了 Visitor/ Decorator模式的开源项目/库?
  4. 如何实现一个单例?
  5. 代理模式(动态代理)?
  6. 单例模式(懒汉模式,恶汉模式,并发初始化如何解决, volatile与lock的使用)?
  7. JDK源码里面都有些什么让你印象深刻的设计模式使用,举例看看?

五、分布式

  1. 什么是CAP定理?
  2. 说说CAP理论和BASE理论?
  3. 什么是最终一致性?最终一致性实现方式?
  4. 什么是一致性Hash?
  5. 讲讲分布式事务?
  6. 如何实现分布式锁?
  7. 如何实现分布式 Session?
  8. 如何保证消息的一致性?
  9. 负载均衡的理解?
  10. 正向代理和反向代理?
  11. CDN实现原理?
  12. 怎么提升系统的QPS和吞吐?
  13. Dubbo的底层实现原理和机制?
  14. 描述一个服务从发布到被消费的详细过程?
  15. 分布式系统怎么做服务治理?
  16. 消息中间件如何解决消息丢失问题?
  17. Dubbo的服务请求失败怎么处理?
  18. 对分布式事务的理解?
  19. 如何实现负载均衡,有哪些算法可以实现?
  20. Zookeeper的用途,选举的原理是什么?
  21. 讲讲数据的垂直拆分水平拆分?
  22. zookeeper原理和适用场景?
  23. zookeeper watch机制?
  24. redis/zk节点宕机如何处理?
  25. 分布式集群下如何做到唯一序列号?
  26. 用过哪些MQ,怎么用的,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗?
  27. MQ系统的数据如何保证不丢失?
  28. 列举出能想到的数据库分库分表策略?