9.9号面完,第一次写面经积攒运气,受挫了感觉我不大约适合走程序员这条路约的四点半,五点10分左右开始面试,一个岗位是不是只有一个面试官,因为排队只有第一的时候才开始面试1. 自我介绍2. 介绍实习工作3. 线程池参数4. 可以分辨出线程池里核心线程和非核心线程吗,比如6个线程有5个核心线程,可以通过某种方法获取到这6个线程里面有5个核心线程吗5. 使用锁抛出异常之后这个线程是什么状态,会造成死锁吗6. 线程池里面设置了空闲等待时间,如何知道这段时间内这个线程没有被使用这个我当时回答的是使用CAS,不断尝试获取线程有没有被使用,或者Future看有返回值状态,最后上网搜,说线程池里面维护了一个计时器7. 阻塞队列了解吗8. 索引机构了解吗9. 聚簇索引和非聚簇索引10. 事务了解吗,事务隔离级别,mvcc11. 事务场景题(这个真不会,只知道几个常见的事务并发情况)现在我也有点懵,记下了几个,希望有佬看一看,解答一下 /*  * 一个表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. 如果一个数据被使用,另一个事务再更改,第一个事务拿到了锁,第二个事务那么会一直等待吗反问:能不能分辨核心线程和非核心,确实不行还有哪些提高的,说八股文背的挺熟练的,但是底层实现原理不够,只有深度才能打动面试官,这一说想起来,基本的八股好像都回答出来了,但是那个情景题和手撕代码,没做出来应该是大大减分。最后结束,面试官说等下一轮面试,我说这还有下一轮吗,答:该说还是要说的。好好好,我真是个垃圾,我可能不适合走开发,另外八股是不是要表现得磕巴一点才不会认为是背的,或者要了解很深才行,因为之前得物的面试官说可以走广度和深度两条线,贝壳说只有深度才行心态崩了
点赞 6
评论 3
全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务