文章目录
- 前言
- 一、Java基础
- 二、框架
- 三、数据库
- 四、中间件
- 五、 计算机网络,操作系统
- 六、 数据结构(算法)
- 七、 项目经验
- 八、 其他
- 面试资料
- 亲身面试题目总汇
前言
JAVA开发工程师面试总结,主要分为几个模块:
- Java基础(集合,JVM,线程,设计模式等)
- 框架(Spring,SpringCloud,SpringBoot,Mybatis等)
- 数据库(Mysql)
- 中间件(Es,Redis,Kafka,ZK等)
- 计算机网络,操作系统
- 数据结构(算法)
- 项目经验
一、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面试资料总汇(亲验)
亲身面试题目总汇
- 线程上下文切换,存储什么,性能为啥
- 异常分类,什么时候出现检查
- 自己创建线程池
- 队列
- 事物注解失效
- Threadlocal
- Arraylist ,linked list原理
- 实现注解
- Nio. Bio场景用
- nio原理
- Jdk动态代理
- Hashmap不安全原因
- Array list是线程安全的吗
- 拦截feign
- Es加快查询
- Es集群
- Full Gc频繁,怎么找问题
- Springboot starter原理
- 创建线程方式
- 网络通,自己可以访问,其他人访问不了,怎么排查
- Mysql. Explain执行计划
- 锁
- 数据库隔离级别
- 不可重复读解决的问题
- 幻读 解决办法
- 死锁
- Redis cluster扩容优化
- Kafka消息方式,解决了什么问题
- 线上cpu高解决思路
- SQL优化
- Tcp三次握手为什么
- 为什么4次挥手
- 流量控制
- 一个http请求过程
- EsSegment作用
- Es 数据查询,更新过程
- redis rdb存储的是什么
- Redis设置数据的过程
- Es倒排索引结构,多了会慢吗,cat api等
- Mysql Explain. 字段 索引
- 线程池队列
- ES主副分片数据同步
- JVM区域
- GC
- 锁-synchronized原理
- G1,cms垃圾收集器区别
- 二分查找算法
- 海量数据topk问题
- Kafka好处
- mysql分库分表
- 分布式事务
- volatile
- IOC,AOP
- SQL注入
- ConCurrentHashMap原理
- 设计模式
- hytrixs断路器原理
- eureka注册中心原理
- springcloud常用组件
- java线程池
- http,tcp
- mysql 自增id和UUID做主键性能分析,及最优方案
- 一致性HASH,解决什么问题
- 设计原则
- 业务幂等
- 限流方案
- Mq重复消息处理
- 数据库锁,悲观锁,乐观锁模型
- quartz原理
- 实现@trsantional
- 分布式锁实现方式