面试题整理

原文地址:https://maimai.cn/article/detail?fid=509832818

git:https://github.com/crossoverJie/Java-Interview

  • JMM 内存模型,如何划分的?分别存储什么内容?线程安全与否?
  • 类加载机制,谈到双亲委派模型后会问到哪些违反了双亲委派模型?为什么?为什么要双亲委派?好处是什么?
  • 平时怎么使用多线程?有哪些好处?线程池的几个核心参数的意义?
  • 线程间通信的方式?
  • HashMap 的原理?当谈到线程不安全时自然引申出 ConcurrentHashMap ,它的实现原理?
  • 分库分表如何设计?垂直拆分、水平拆分?
  • 业务 ID 的生成规则,有哪些方式?
  • SQL 调优?平时使用数据库有哪些注意点?
  • 当一个应用启动缓慢如何优化?
  • 从一个日志文件中根据关键字读取日志,记录出现的次数,最后按照次数排序打印。
  • 谈谈你所理解的 HTTP 协议?
  • 对 TCP 的理解?三次握手?滑动窗口?
  • 基本算法,Base64 等。
  • Java 内存模型,Happen Before 的理解。
  • 对 Java 锁的理解?

    我谈到了 synchronize,Lock 接口的应用。他们两者的区别以及优缺点呢?

 

  • 线程间通信的多种方式?
  • 限流算法?单机限流?分布式限流?
  • 提到了 Guava Cache ,了解它的实现原理嘛?
  • 如何定位一个线上问题?
  • CPU 高负载?OOM 排查等?

 

  • 谈谈对 Netty 的理解?
  • Netty 的线程模型?
  • 写一个 LRU 缓存。
  • 一致性 Hash 算法的原理?
  • 谈谈你理解的 Zookeeper?
  • 如何处理 MQ 重复消费?业务幂等处理
  • 客户端负载算法:轮询、随机、一致性 Hash、故障转移、LRU 等。。
  • volatile 关键字的原理及作用?happen Before?可见性、一致性。。
posted @ 2018-07-31 11:31  橙子味的小云儿  阅读(219)  评论(0编辑  收藏  举报