20.什么是CAS?
21.乐观锁与悲观锁?乐观锁的实现方式?
22.Lock与synchronized的区别。
三、MyBatis
1.MyBatis是什么?
2.ORM是什么?
3.为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?
4.传统JDBC开发存在的问题。
5.JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?
6.Mybatis优缺点。
7.MyBatis框架适用场景。
8.Hibernate和MyBatis的区别。
9.MyBatis的解析和运行原理。
10.MyBatis编程步骤是什么样的?
11.请说说MyBatis的工作原理。
12.MyBatis的功能架构是怎样的?
13.MyBatis的框架架构设计是怎么样的?
14.Mybatis都有哪些Executor执行器?它们之间的区别是什么?
15.Mybatis中如何指定使用哪一种Executor执行器?
16.Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?
17.#{}和${}的区别。
18.模糊查询like语句该怎么写?
19.在mapper中如何传递多个参数?
20.Mybatis如何执行批量操作?
21.简述Mybatis的Xml映射文件和Mybatis内部数据结构之间的映射关系?
四、Spring
1.什么是spring?Spring是什么?
2.Spring的优缺点是什么?为什么要用Spring?
3.什么是控制反转(IOC)和依赖注入(DI)?意义是什么?实现机制是什么
4.什么是依赖注入–DI,依赖注入,是IOC的重要实现
5.什么是AOP?意义是什么?实现原理是什么?具体怎么使用?Spring AOP的通知类型和顺序是怎样的?
6.什么是AOP–面向切面编程?
7.静态代理和动态代理的区别是什么?
8.如何强制Spring AOP使用CGLIB实现动态代理?
9.依赖注入实现原理和实现方式?
10.@Qualifier 注解有什么作用?
11.Spring中对象的作用域是怎样的?怎么改变Spring中对象的作用域?
12.Spring中对象是线程安全的吗?如何保证Spring中的对象线程安全?
13.如何保证Spring中的对象线程安全?
14.Spring Framework 中有多少个模块,它们分别是什么?
五、并发编程
基础知识
1.线程和进程区别
2.创建线程的四种方式
3.as-if-serial规则和happens-before规则的区别
…
Lock体系
1.Lock简介与初识AQS
2.乐观锁的实现方式,什么是 CAS?
3.什么是死锁?
4.死锁与活锁的区别,死锁与饥饿的区别?
5.AQS(AbstractQueuedSynchronizer)详解与源码分析
并发容器
1.并发容器之CopyOnWriteArrayList详解
2.并发容器之ThreadLocal详解
3.并发容器之ConcurrentHashMap详解(JDK1.8版本)与源码分析
4.并发容器之BlockingQueue详解
5.ThreadLocal内存泄漏分析与解决方案
线程池
1.Executors类创建四种常见线程池
2.线程池之ThreadPoolExecutor详解
六、中间件
RabbitMQ
1.rabbitmq 的使用场景有哪些?
2.rabbitmq 有哪些重要的角色?
3.rabbitmq 有哪些重要的组件?
4.rabbitmq 中 vhost 的作用是什么?
5.rabbitmq 的消息是怎么发送的?
6.rabbitmq 怎么保证消息的稳定性?
7.rabbitmq 怎么避免消息丢失?
8.要保证消息持久化成功的条件有哪些?
9.rabbitmq 持久化有什么缺点?
10.rabbitmq 怎么实现延迟消息队列?
11.rabbitmq 对集群节点停止顺序有要求吗?
Kafka
1.kafka 可以脱离 zookeeper 单独使用吗?为什么?
2.kafka 有几种数据保留的策略?
3.kafka 同时设置了 7 天和 10G 清除数据,到第五天的时候消息达到了 10G,这个时候 kafka 将如何处理?
4.什么情况会导致 kafka 运行变慢?
5.使用 kafka 集群需要注意什么?
Zookeeper
1.zookeeper 是什么?
2.zookeeper 都有哪些功能?
3.zookeeper 有几种部署模式?
4.zookeeper 怎么保证主从节点的状态同步?
5.集群中为什么要有主节点?
6.集群中有 3 台服务器,其中一个节点宕机,这个时候 zookeeper 还可以使用吗?
7.说一下 zookeeper 的通知机制?
七、数据库
MySql
1.说一下数据库的事务隔离?
2.说一下 mysql 常用的引擎?
3.说一下 mysql 的行锁和表锁?
4.说一下乐观锁和悲观锁?
5.mysql 问题排查都有哪些手段?
6.如何做 mysql 的性能优化?
7.怎么验证 mysql 的索引是否满足需求?
写在最后
作为一名即将求职的程序员,面对一个可能跟近些年非常不同的 2019 年,你的就业机会和风口会出现在哪里?在这种新环境下,工作应该选择大厂还是小公司?已有几年工作经验的老兵,又应该如何保持和提升自身竞争力,转被动为主动?
就目前大环境来看,跳槽成功的难度比往年高很多。一个明显的感受:今年的面试,无论一面还是二面,都很考验Java程序员的技术功底。
最近我整理了一份复习用的面试题及面试高频的考点题及技术点梳理成一份“Java经典面试问题(含答案解析).pdf和一份网上搜集的“Java程序员面试笔试真题库.pdf”(实际上比预期多花了不少精力),包含分布式架构、高可扩展、高性能、高并发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、Mycat、Netty、Kafka、Mysql、Zookeeper、Tomcat、Docker、Dubbo、Nginx等多个知识点高级进阶干货!
由于篇幅有限,为了方便大家观看,这里以图片的形式给大家展示部分的目录和答案截图!
Java经典面试问题(含答案解析)
阿里巴巴技术笔试心得
pdf**和一份网上搜集的“Java程序员面试笔试真题库.pdf”(实际上比预期多花了不少精力),包含分布式架构、高可扩展、高性能、高并发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、Mycat、Netty、Kafka、Mysql、Zookeeper、Tomcat、Docker、Dubbo、Nginx等多个知识点高级进阶干货!
由于篇幅有限,为了方便大家观看,这里以图片的形式给大家展示部分的目录和答案截图!
[外链图片转存中…(img-s2rL5Sme-1719244475843)]
Java经典面试问题(含答案解析)
[外链图片转存中…(img-2YplQu7J-1719244475844)]
阿里巴巴技术笔试心得
[外链图片转存中…(img-xy8J1fFY-1719244475845)]