9.9号面完,第一次写面经积攒运气,受挫了感觉我不大约适合走程序员这条路
约的四点半,五点10分左右开始面试,一个岗位是不是只有一个面试官,因为排队只有第一的时候才开始面试
1. 自我介绍
2. 介绍实习工作
3. 线程池参数
4. 可以分辨出线程池里核心线程和非核心线程吗,比如6个线程有5个核心线程,可以通过某种方法获取到这6个线程里面有5个核心线程吗
5. 使用锁抛出异常之后这个线程是什么状态,会造成死锁吗
6. 线程池里面设置了空闲等待时间,如何知道这段时间内这个线程没有被使用
这个我当时回答的是使用CAS,不断尝试获取线程有没有被使用,或者Future看有返回值状态,最后上网搜,说线程池里面维护了一个计时器
7. 阻塞队列了解吗
8. 索引机构了解吗
9. 聚簇索引和非聚簇索引
10. 事务了解吗,事务隔离级别,mvcc
11. 事务场景题(这个真不会,只知道几个常见的事务并发情况)现在我也有点懵,记下了几个,希望有佬看一看,解答一下
/*
* 一个表u_table,里面两个字段,uid,age,有一条数据 5 5
* A事务 B事务
* select * from u_table where uid=5;
* select * from u_table where uid=5;
* update u_table set age=age+5 where uid=5;
*
* select * from u_table where uid=5;
* commit;
* select * from u_table where uid=5;
* */
/*
* 一个表u_table,里面两个字段,uid,age,有一条数据 5 5
* A事务 B事务
* select * from u_table where uid=5;
* select * from u_table where uid=5;
* update u_table set age=age+5 where uid=5;
* update u_table set age=age+5 where uid=5;
*
* commit;
* select * from u_table where uid=5;
* */
/*
* 一个表u_table,里面两个字段,uid,age,有一条数据 5 5
* A事务 B事务
* select * from u_table where uid=5;
* select * from u_table where uid=5;
*
* update u_table set age=age+5 where uid=5;
* select * from u_table where uid=5;
* update u_table set age=age+5 where uid=5;
* commit;
* select * from u_table where uid=5;
* */
问B事务每次查询的结果是什么,中间可能蒙对了几个,导致越来越深,这时应该及时说不会的,这时候已经心态崩了
12. 问算法怎么样,我说挺拉的,说那我给你找个简单的,然后给了一个二叉树中寻找路径为指定值的所有路径,看了看是个middle,算法好久没看了,本身也挺差的,加上前面心态崩了,写了几分钟说不会
13. 如果一个数据被使用,另一个事务再更改,第一个事务拿到了锁,第二个事务那么会一直等待吗
反问:能不能分辨核心线程和非核心,确实不行
还有哪些提高的,说八股文背的挺熟练的,但是底层实现原理不够,只有深度才能打动面试官,这一说想起来,基本的八股好像都回答出来了,但是那个情景题和手撕代码,没做出来应该是大大减分。
最后结束,面试官说等下一轮面试,我说这还有下一轮吗,答:该说还是要说的。
好好好,我真是个垃圾,我可能不适合走开发,另外八股是不是要表现得磕巴一点才不会认为是背的,或者要了解很深才行,因为之前得物的面试官说可以走广度和深度两条线,贝壳说只有深度才行
心态崩了
#23届找工作求助阵地##悬赏#