今天下午吃饭吃到一半收到offer,
都快小半个月了,来写个面经
一面
1.自我介绍
2.集合-> Collection 和 Map
3.linkedlist和arraylist区别、使用场景
4.链表100的元素,删除第99个怎么删除,时间复杂度是O(N)
5.线程安全的list?说了vector和copyWriteList(写时复制技术),后者读数据的时候加锁嘛?不加锁
6.问题5这两个线程安全的list效率那个快? 其实就是Synchronized和ReentrantLock那个快?说copyWriteList(Reentrant)快一点
7.线程安全的map? 介绍一下concurrentHashMap
8.接7,put流程中CAS和synchronized都用在哪里? 直接说了put和transfer全部流程,
2.集合-> Collection 和 Map
3.linkedlist和arraylist区别、使用场景
4.链表100的元素,删除第99个怎么删除,时间复杂度是O(N)
5.线程安全的list?说了vector和copyWriteList(写时复制技术),后者读数据的时候加锁嘛?不加锁
6.问题5这两个线程安全的list效率那个快? 其实就是Synchronized和ReentrantLock那个快?说copyWriteList(Reentrant)快一点
7.线程安全的map? 介绍一下concurrentHashMap
8.接7,put流程中CAS和synchronized都用在哪里? 直接说了put和transfer全部流程,
CAS在对应桶位是空的时候CAS放入,
syn是桶后面跟的是链表或者红黑树的话加锁写入。
9.线程池的四种方式?不建议用,极端情况都会OOM
建议自己去实现
10.JVM垃圾回收器几种?CMS介绍一下 -> 初始标记-并发标记-重新标记-并发回收
11.Mysql join的几种方式 ?left join 和 inner join区别?
12.Mysql由一列数据转行成行数据 我说了不会
13.Mysql执行引擎 MyISAM和InnoDB区别
14.脏读、不可重复读、幻读
15.Mysql底层索引 -> B+树 和B树的区别?为什么不使用红黑树?
16.Redis有五个基本数据类型?场景:某一个页面一天的访问人数,用哪个好一点? set好一点
17.缓存击穿、穿透、雪崩?
18.Spring IOC AOP 简单介绍一下
19.设计模式? 单例模式? 懒汉饿汉? 懒汉双重锁DCL ? 饿汉线程安全?
20.项目介绍
21.算法 -> 二叉树两个节点的最近的祖先节点
22.linux命令? ls la ll 目录
查看进程 ps top
syn是桶后面跟的是链表或者红黑树的话加锁写入。
9.线程池的四种方式?不建议用,极端情况都会OOM
建议自己去实现
10.JVM垃圾回收器几种?CMS介绍一下 -> 初始标记-并发标记-重新标记-并发回收
11.Mysql join的几种方式 ?left join 和 inner join区别?
12.Mysql由一列数据转行成行数据 我说了不会
13.Mysql执行引擎 MyISAM和InnoDB区别
14.脏读、不可重复读、幻读
15.Mysql底层索引 -> B+树 和B树的区别?为什么不使用红黑树?
16.Redis有五个基本数据类型?场景:某一个页面一天的访问人数,用哪个好一点? set好一点
17.缓存击穿、穿透、雪崩?
18.Spring IOC AOP 简单介绍一下
19.设计模式? 单例模式? 懒汉饿汉? 懒汉双重锁DCL ? 饿汉线程安全?
20.项目介绍
21.算法 -> 二叉树两个节点的最近的祖先节点
22.linux命令? ls la ll 目录
查看进程 ps top
查看一个目录下的文件 ll | grep *
find 递归查询
23.反问
find 递归查询
23.反问
二面:
1.项目介绍
2.做题,单链表反转
3.做题,场景题:大文件,topk问题
hr:
常规问题,答得不太好
祝愿大家都找到offer!!!
全部评论
(2) 回帖