Java面试总结一

  1. Java容器有哪些?哪些是同步容器,哪些是并发容器?
  2. 为什么 Java 要采用垃圾回收机制,而不采用 C/C++的显式内存管理?
  3. 一个线程的生命周期有哪几种状态?它们之间如何流转的?
  4. 什么是活锁、饥饿、无锁、死锁?怎么检测一个线程是否拥有锁?
  5. 如何解决同时存在的对象创建和对象回收问题
  6. 说说一致性 Hash 原理
  7. 新生代分为几个区?使用什么算法进行垃圾回收?为什么使用这个算法?
  8. HashMap在什么情况下会扩容,或者有哪些操作会导致扩容?
  9. HashMap检测到hash冲突后,将元素插入在链表的末尾还是开头?
  10. 1.8还采用了红黑树,讲讲红黑树的特性,为什么大家一定要用红黑树而不是AVL、B树之类的?
  11. https和http区别,有没有用过其他安全传输手段?
  12. 线程池的工作原理,几个重要参数,然后给了具体几个参数分析线程池会怎么做,最后问阻塞队列的作用是什么?
  13. RabbitMQ 上的一个 queue 中存放的 message 是否有数量限制?
  14. RabbitMQ 允许发送的 message 最大可达多大?
  15. 有使用过哪些NoSQL数据库?MongoDB和Redis适用哪些场景?
  16. 项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理
     
  17. 查询中哪些情况不会使用索引?
  18. 描述分布式事务之TCC服务设计?
  19. 数据库索引,底层是怎样实现的,为什么要用B树索引?
  20. Mysql主从同步的实现原理?
  21. MySQL是怎么用B+树?
  22. 谈谈数据库乐观锁与悲观锁?
  23. Redis和memcache有什么区别?Redis为什么比memcache有优势?
  24. Redis 的数据结构
  25. 海量数据过滤,黑名单过滤一个 url。
  26. 讲一讲AtomicInteger,为什么要用CAS而不是synchronized?
     
  27. 考虑redis的时候,有没有考虑容量?大概数据量会有多少?
  28. Redis 的 list zset 的底层实现
  29. 分布式架构设计哪方面比较熟悉
  30. 分布式 session 的共享方案有哪些,有什么优劣势
  31. 谈谈分布式锁、以及分布式全局唯一ID的实现比较?
  32. 集群监控的时候,重点需要关注哪些技术指标?这些指标如何优化?
  33. 从千万的数据到亿级的数据,会面临哪些技术挑战?你的技术解决思路?
  34. 排序算法的复杂度,快速排序非递归实现。
  35. 消息中间件有哪些?他们之间的优劣势?
  36. 介绍项目
  37. 介绍你实践的性能优化案例,以及你的优化思路

你可能感兴趣的:(面试)