文章目录

  • 前言
  • 一、Java基础
  • 二、框架
  • 三、数据库
  • 四、中间件
  • 五、 计算机网络,操作系统
  • 六、 数据结构(算法)
  • 七、 项目经验
  • 八、 其他
  • 面试资料
  • 亲身面试题目总汇


前言

JAVA开发工程师面试总结,主要分为几个模块:

  1. Java基础(集合,JVM,线程,设计模式等)
  2. 框架(Spring,SpringCloud,SpringBoot,Mybatis等)
  3. 数据库(Mysql)
  4. 中间件(Es,Redis,Kafka,ZK等)
  5. 计算机网络,操作系统
  6. 数据结构(算法)
  7. 项目经验

一、Java基础

主要包括集合,JVM,线程,锁,设计模式等

推荐书籍
《深入理解Java虚拟机》

二、框架

主要包括Spring,SpringCloud,SpringBoot,Mybatis等

推荐书籍
《深入理解SpringCloud与微服务构建》
《SpringCloud微服务实战》

三、数据库

主要是mysql,索引原理,sql优化,执行计划等

四、中间件

包括Es,Redis,Kafka,Zk等,看你的项目中用到哪个就深入问哪个
一些基本原理,使用场景等

推荐书籍
《Elasticsearch源码解析与优化实践》
《Kafka入门与实践》
《Redis开发与运维》
《从Paxos到Zookeeper》
《Kafka权威指南》

五、 计算机网络,操作系统

问的公司46开吧,除非腾讯,其他涉及网络的研发组会问。大多数公司不会深问,问的很基础,HTTP相关,TCP三次连接,四次挥手等。

六、 数据结构(算法)

10个公司有4个会考察吧,基本很基础。例如:二分查找算法等,还有一些给你个场景条件,让你解。

何弃疗

七、 项目经验

重要!!!重要!!!重要!!!
做的项目架构,原理研究明白,你参与的模块说的通透

八、 其他

  • 自我介绍准备好,简单工作经历和项目经历就行,如果有亮点也加上,控制时间。
  • 离职原因,一定要提前想好,组织好语言,很重要,很重要,很重要
  • 面试后不要影响心情,会的就会,不会的就说出来,“没接触过”。如果你本来应该会的却不会的,记下来之后复习。如果面试问一些你没接触过,没做过而不会的,不要气馁,不要影响心情,面试是互相选择的过程,说明这个公司这个项目组也不适合你。你是最棒的!
  • 面试结束后会让你提出有什么问题需要问的,提前想好问面试官的两个问题,两个就好,不多不少

面试资料

亲验,亲自整理,必看!!!
Java面试资料总汇(亲验)

亲身面试题目总汇

  1. 线程上下文切换,存储什么,性能为啥
  2. 异常分类,什么时候出现检查
  3. 自己创建线程池
  4. 队列
  5. 事物注解失效
  6. Threadlocal
  7. Arraylist ,linked list原理
  8. 实现注解
  9. Nio. Bio场景用
  10. nio原理
  11. Jdk动态代理
  12. Hashmap不安全原因
  13. Array list是线程安全的吗
  14. 拦截feign
  15. Es加快查询
  16. Es集群
  17. Full Gc频繁,怎么找问题
  18. Springboot starter原理
  19. 创建线程方式
  20. 网络通,自己可以访问,其他人访问不了,怎么排查
  21. Mysql. Explain执行计划
  22. 数据库隔离级别
  23. 不可重复读解决的问题
  24. 幻读 解决办法
  25. 死锁
  26. Redis cluster扩容优化
  27. Kafka消息方式,解决了什么问题
  28. 线上cpu高解决思路
  29. SQL优化
  30. Tcp三次握手为什么
  31. 为什么4次挥手
  32. 流量控制
  33. 一个http请求过程
  34. EsSegment作用
  35. Es 数据查询,更新过程
  36. redis rdb存储的是什么
  37. Redis设置数据的过程
  38. Es倒排索引结构,多了会慢吗,cat api等
  39. Mysql Explain. 字段 索引
  40. 线程池队列
  41. ES主副分片数据同步
  42. JVM区域
  43. GC
  44. 锁-synchronized原理
  45. G1,cms垃圾收集器区别
  46. 二分查找算法
  47. 海量数据topk问题
  48. Kafka好处
  49. mysql分库分表
  50. 分布式事务
  51. volatile
  52. IOC,AOP
  53. SQL注入
  54. ConCurrentHashMap原理
  55. 设计模式
  56. hytrixs断路器原理
  57. eureka注册中心原理
  58. springcloud常用组件
  59. java线程池
  60. http,tcp
  61. mysql 自增id和UUID做主键性能分析,及最优方案
  62. 一致性HASH,解决什么问题
  63. 设计原则
  64. 业务幂等
  65. 限流方案
  66. Mq重复消息处理
  67. 数据库锁,悲观锁,乐观锁模型
  68. quartz原理
  69. 实现@trsantional
  70. 分布式锁实现方式