面试官蛮好的,贼喜欢
1.介绍自己
2.直接开始java基础面 八大基本数据类型
3.float a = 1.4f;float b = 1.1f a-b多少 (默认是double,类型最后输出是0.29999995)
4.==和equals的关系,还有hashcode呢,hashcode和equals有什么关系 什么时候重写hashcode
5.object类中有哪些方法(讲了getClass() ,hashCode() equals() toString() wait()(讲了wait和sleep的区别,通过notify() 唤醒)
5.ArrayList和LinkList(从arraylist实现的接口 RandomAccess的作用,cloneable的浅拷贝,Serialable的序列化,构造方法,参数,底层扩容...linklist也差不多,然后讲了他们的区别)
6.HashMap底层实现,讲了构造函数,扩容阈值,具体怎么扩容,扩容优化,抖动函数,讲了拉链法,还有1.7和1.8的区别
7.ConcurrentHashMap具体实现,讲到jdk1.7,jkd1.8区别,分段锁,锁粒度 ,cas,自旋,synchronized加锁
8.static修饰的作用(一直讲到在jvm的存储)
9.多线程相关,让三个线程排序获取锁,讲了Condition接口,问了voilate,讲到防止指令重新排序,内存屏障怎么插入,cpu总线嗅探机制,
问了threadlocal,讲到内存泄露,采用开放定址法线性探测,二次探测,询问了用什么能够替换锁,这个有点懵逼,讲了cas并发机制
10.BIO NIO AIO 的区别(讲了一些普通区别...讲到bio会产生c10k的原因,nio是怎么解决的 扯到io多路复用,直接和面试官说这底层自己还不怎么了解,这就是给自己挖坑 哭了)
11.开始问框架
spring中@Autowire和@Resource的区别
@RequestBody和@ResponseBody的区别
@Component,@Service和@ Repository
@transactional,还问了spring的事务,mvc里的HandlerMapping和Handler(还好都是项目中使用过的,说了一下其他经常使用的注解还结合自己的项目进行了了一些扩展)
springboot都有什么优点,为什么可以快速开发,启动器里集成了哪些
mybatis怎么防止sql注入
springaop的底层原理,讲了动态代理和cglib代理,以及项目中我主要做什么,怎么做的
12.面试官说 我们问点算法好了
八大排序,,,,,基本时间复杂度,讲了一些排序的思路
口述 二分查找的思路
口述 如何计算一个字符串形式的 数学表达式(计算器)
12.面试官说再问点 mysql的
索引,隔离级别,解决了哪些问题,共享锁和排它锁,封锁协议,
13.面试官问了我的职业规划,问了看了那些书,和面试官闲聊中
表白面试官,表白二面,表白offer
12.面试官说再问点 mysql的
索引,隔离级别,解决了哪些问题,共享锁和排它锁,封锁协议,
13.面试官问了我的职业规划,问了看了那些书,和面试官闲聊中
表白面试官,表白二面,表白offer
全部评论
(13) 回帖