当前位置: 首页 > 面试经验 >

快手java一面面经

优质
小牛编辑
91浏览
2023-06-13

快手java一面面经

自我介绍+项目流程讲解(20min)
无反问和深挖
八股:(20min)
1.线程的状态?拓展:为什么处于blocked的线程不占用cpu(操作系统角度回答)?
我当时回答:线程的 blocked状态往往无法进入同步方法/代码块,因为无法获取到与同步方法/代码块相关联的锁,因而不占用cpu。面试官认可了,但我事后没有找到相关的面试题,回答仅供参考。
2.对volatile的理解
3.对ThreadLocal的理解
4.interrupt方法对线程的影响
5.runnable和callable方法区别
6.线程池的理解?拓展:为什么先判断阻塞队列是否已满,再判断线程数是否小于最大线程数(没答上来)
面试官说,阻塞队列(救急数)一般容量都没有限制,而最大线程数=核心数+救急数; 如果先设置最大线程数,很浪费资源,违反需要尽量使用较小的线程池原则,一般设置线程池大小为CPU核心数+1。 因为CPU密集型任务使得CPU使用率很高,若开过多的线程,只会增加上下文切换的次数,带来额外的开销。
笔试:(20min)
需要自定义链表结构 自己创建输入和输出
1.轮转数组Leetcode189 要求空间O(1) 没a出来换了下一道
2.旋转链表Leetcode61 先成环再断开 迅速a完
补充:
1.无反问环节 全程时间线非常紧凑 无任何闲聊 感觉很面试官专业
2.面试的部门是[效果营销研发中心] 面试链接标题显示了[社招] 但应聘的岗位又是[java暑期实习] 有点迷惑 而且这个岗位我没有在官网找到(官网海投的部门全挂了)
3.八股很基础,面试官中途询问是否了解某些技术,但是由于完全没有听过所以直接跳过,猜测是实际开发会用到的框架/技术,所以即使没听过,也不需要有任何心理压力
 类似资料: