Java|阿里三年面试官:Java程序员搞懂这些技术点,随随便便吊打我( 二 )


19. synchronized和ReentrantLock的区别?
20. Semaphore有什么作用?
21. Java Concurrency API中的Lock接口(Lock interface)是什么?对比同步它有什么优势?
设计模式面试题目
1.装饰器模式
2.工厂模式
3.单例模式
4.观察者模式
5.动态代理模式
6.适配器模式
7.模板模式
8.策略模式
JVM面试题目
1.内存模型以及分区需要详细到每个区放什么 。
2.对象创建方法 , 对象的内存分配 , 对象的访问定位 。
3. GC的两种判定方法:引用计数与引用链 。
4. GC的三种收集方法:标记清除、标记整理、复制算法的原理与特点 , 分别用在什么地
方 , 如果让你优化收集方法 , 有什么思路?
5. GC收集器有哪些? CMS收集器与G1收集器的特点 。
6. Minor?GC与FulI?GC分别在什么时候发生?
7.几种常用的内存调试工具: jmap. jstack、 jconsole.
8.类加载的五个过程:加载、验证、准备、解析、初始化 。
9.双亲委派模型: Bootstrap?ClassLoader. Extension?ClassLoader. ApplicationClassLoader 。
10.分派:静态分派与动态分派 。
11. JVM过去过来就问了这么些问题 , 没怎么变 , 内存模型和GC算法这块问得比较多
算法与数据结构
1.链表与数组 。
2.队列和栈 , 出栈与入栈 。
3.链表的删除、插入、反向 。
4.字符串操作 。
5. Hash表的hash函数冲突解决方法有哪些 。
6.各种排序:冒泡、选择、插入、希尔、归并、快排、堆排、桶排、基数的原理、平均时间复杂度、最坏时间复杂度、空间复杂度、是否稳定 。
【Java|阿里三年面试官:Java程序员搞懂这些技术点,随随便便吊打我】7.快排的partition函数与归并的Merge函数 。
8.对冒泡与快排的改进 。
9.二分查找 , 与变种二分查找 。
10.二叉树、B+树、AVL树、红黑树、哈夫曼树 。
11.二叉树的前中后续遍历:递归与非递归写法 , 层序遍历算法 。
12.图的BFS与DFS算法 , 最小生成树prim算法与最短路径Dijkstra算法 。
13. KMP算法 。
14.排列组合问题 。
15.动态规划、贪心算法、分治算法 。(一般不会问到)
数据库面试题目
1.事务四大特性(ACID) 原子性、-致性、 隔离性、持久性
2.数据库隔离级别 , 每个级别会引发什么问题 , mysq|l默认是哪个级别
3. innodb和myisam存储引擎的区别
4. MYSQL的两种存储引擎区别(事务、锁级别等等) , 各自的适用场景
5.查询语句不同元素(where、 jion、 limit. group by、having等等) 执行先后顺序
6.数据库的优化(从sql语句优化和索引两个部分回答)
7.索引有B+索引和hash索引各自的区别
8. B+索引数据结构和B树的区别
9.索引的分类(主键索引、唯一索引) , 最左前缀原则 , 哪些情况索引会失效
10.聚集索引和非聚集索引区别 。
11.有哪些锁(乐观锁悲观锁) , select时怎么加排它锁
12.关系型数据库和非关系型数据库区别
13.数据库三范式 , 根据某个场景设计数据表(可以通过手绘ER图)
14.数据库的读写分离、主从复制
15.使用explain优化sq和索引
16. long_ query怎么解决
17.内连接、外连接、交叉连接、笛卡儿积等
Spring面试题目
1. I0C和DI是什么?
2. Spring I0C的理解 , 其初始化过程?
3. BeanFactory和FactoryBean的区别?
4. BeanFactory和ApplicationContext的区别?
5. ApplicationContext上下文的生命周期?
6. Spring Bean的生命周期?
7. Spring AOP的实现原理?
8. Spring是如何管理事务的 , 事务管理机制?
9. Spring的不同事务传播行为有哪些干什么用的?


推荐阅读