淘宝Java研发面试:Redis+Mybatis+高并发+线程池
在面试的这件事上,我做了大量的“功课”,首先我研究了几乎所有大厂的面试题,还和负责招聘工作的几个朋友,详细的探讨了 Java 面试所要涉及的知识点
并发
- 简单描述下悲观锁乐观锁
- Java中如何创建一个线程?
- Vector(HashTable)如何实现线程安全?
- ConcurrentHashMap的线程安全实现与HashTable不同:
- 在java中wait和sleep方法的不同?
- 你有什么想问我的?
线程池
- 并行和并发有什么区别?
- 创建线程有哪几种方式?
- 线程池都有哪些状态?
- 什么是反射?
- 什么是 java 序列化?什么情况下需要序列化?
spring&设计模式
- 说一下你熟悉的设计模式?
- 简单工厂和抽象工厂有什么区别?
- spring 支持几种 bean 的作用域?
- 说一下 spring 的事务隔离?
- spring boot 核心配置文件是什么?
- 说一下 hibernate 的缓存机制?
Mybatis
- mybatis 是否支持延迟加载?延迟加载的原理是什么?
- mybatis 分页插件的实现原理是什么?
- 说一下 mybatis 的一级缓存和二级缓存?
- RowBounds 是一次性查询全部结果吗?为什么?
- mybatis 有几种分页方式?
Redis
- redis 和 memecache 有什么区别?
- redis 支持的数据类型有哪些?
- 怎么保证缓存和数据库数据的一致性?
- redis 分布式锁有什么缺陷?
- redis 常见的性能问题有哪些?该如何解决?
有了这些面试题不意味着,死记硬背之后就能进入企业工作,尤其是 BAT 等工作岗位竞争更为激烈,这些面试题只能成为面试体系中的一道“开胃菜”,从而提高了整个 Java 面试的壁垒,让愿与学的人,变的更加优秀,从而和懒惰的人拉开差距,让企业也能更轻易的甄别。
大厂面试题&答案分享
答案领取方式:
答案获取方式
获取方式:
还有更多电子书+视频+文档