@andy2015
2022-08-24T08:33:33.000000Z
字数 1288
阅读 67
基础技术面试
应用后端
介绍一下Collection集合
- List ArrayList, LinkedList,
- Set HashSet, treeSet, TreeSet 基于什么实现
- 介绍一下Map集合,每个区别
HashMap,HashTable,treeMap,linkendHashMap, linkedHashTable
EnumMap
线程的实现方式:
- 继承Thread类实现多线程
- 实现Runnable接口方式实现多线程
- 使用ExecutorService、Callable、Future实现有返回结果的多线程
- 线程启动是用那个? start和run的区别?
- 线程启动 start,run 是复写线程具体实现的步骤
- Java并发编程:
- 线程间协作的两种方式:wait、notify、notifyAll和Condition
- 让某个线程等待,应给怎么执行,如何唤醒,如何唤醒所有的,线程怎么实现生产者和消费者
- 什么是线程池,介绍一下ThreaLocal
- 怎么给线程加锁?
synchronized lock接口 ReentrantLock ,怎么写,怎么实现,应该注意哪些
- java多线程 怎么预测执行的结果?
- 如何写代码来解决生产者消费者问题 (线程中的)
- java中的弱引用和强引用,适用场景
- Java 中的 ConcurrentHashMap
- Java 中的volatile
- Java中你怎样唤醒一个阻塞的线程
- 注解,怎么自定义一个注解,@Retention具体有哪些 @Target具体有哪些 ,@Inherited
注解实现的原理, 注解都可以获取到哪些 ,包括访问权限,参数类型,方法签名等很多
- Spring框架,Spring Aop
- Hibernate, Hibernate 的一级缓存,二级缓存
- 有2个类,怎么用Spring Aop 去实现以下,多这两个类中的方法,添加一些属性
Spring Aop 实现的原理,会涉及到 JDK 代理,和Spring 代理,Spring Bean的实现原理(反射,得讲详细点)
怎么用Aop实现针对不同的类中的一些方法,执行特定的代码,[
定义一个注解,然后加在要执行的类的某个方法上面,然后再利用Spring Aop 切面反射去执行]
Spring事务介绍
- HiberNate的三种状态(持久,瞬时,游离),相互转换
- Hibernate的load和get方法
- Hibernate的SqlSession,Session这些等,懒加载等
- 设计模式具体怎么写,举例,具体描述:
单例模式的几种写法
策略模式
适配器模式
工厂模式
构建者模式
观察者模式
- 代理模式(jdk代理,还会问到静态代理,以及 Spring的代理等)
- java面向对象的重构和重载
- jvm内存结构模型,堆和栈,不是简单的那种描述,而是要描述堆长什么样子,栈长什么样子,画图等
- 怎么实现分库分表大数据查询
- 怎么定义包,具体描述代码,怎么定义package的输入和返回值,java 调用packag的时候如何接收返回的package,具体描述, Oracle 中的function
- Jdbc 链接数据库的具体过程
- 动态数据源切换,SpringJdbc,mybatis问题
- 目前会的一些框架等,详细描述一下在项目中怎么用
- 事务的隔离机制