快手面经

9.18 一面  70min
1、聊项目
2、线程的几种状态
3、线程池的状态
4、线程池的运行过程
5、如何合理地配置线程池
6、怎么实现阻塞队列
7、怎么监控线程池的运行状态,答的用一些线程监控的工具,面试官说指代码层面上,只争对线程池,没答上
线程池执行类ThreadPoolExecutor给了相关的API来监控某一个线程池的执行状态,能实时获取线程池当前活动线程数、正在排队线程数、已执行线程数、总线程数等。
ThreadPoolExecutor tpe = ((ThreadPoolExecutor) es);
while (true) {
    System.out.println();
 
    int queueSize = tpe.getQueue().size();
    System.out.println("当前排队线程数:" + queueSize);
 
    int activeCount = tpe.getActiveCount();
    System.out.println("当前活动线程数:" + activeCount);
 
    long completedTaskCount = tpe.getCompletedTaskCount();
    System.out.println("执行完成线程数:" + completedTaskCount);
 
    long taskCount = tpe.getTaskCount();
    System.out.println("总线程数:" + taskCount);
 
    Thread.sleep(3000);
}
8、java中有几种锁
9、锁升级的过程(自旋的缺点,CAS有什么不足)
10、对象头的结构
11、synchronized和ReentrantLock区别
12、ReentrantLock是怎么实现的,讲到AQS,顺便说了AQS
13、还有哪些基于AQS的同步工具
14、volatile作用
15、volatile怎么保证可见性和防止指令重排序
16、mysql的隔离级别
17、事务acid
18、mysql如何保证acid
19、redo log和undo log区别
20、redo log和undo log是如何生成的(这块细节忘了,只说了先写内存,然后再刷盘)
21、介绍几种消息队列
22、说说rabittmq架构(说了分为虚拟机、交换机和队列,然后说了下消息的传递过程,面试官否认了,说这只是应用层面)
23、jvm的内存模型
24、对象什么情况会进去老年代
25、spring ioc aop
26、注解底层怎么实现的(动态代理)
27、注解失效有哪些原因(自己还经历过@Transaction失效的bug的,当时没答上来,被自己气死)
28、bean的加载过程
算法:有序数组生成平衡二叉树,当时已满60分钟,面试官给了5分钟的时间限制,看我思考了一会,问我有没有思路,我说暂时还没,然后就换了一道题
二叉树交替层次遍历,秒了

大致就记得这些了,问的很深,第二次经历这么深的面试(第一次小米二面,被问麻了,经历这次后才发现自己的缺陷,也才能应付了这次的一面)。面完后告诉我过了,让我等着,接着二面

下午再来整理二面

9.18 二面 40min
1、聊项目
2、mysql默认隔离级别
3、如何实现可重复读
4、如何解决幻读
5、间隙锁和nextkey锁
6、mysql锁是锁的什么(索引)
7、mysql的索引结构,有什么优点
8、怎么实现读写分离
9、主从复制是怎么实现同步的,答传bin log文件,后续数据更新怎么同步,答mysq不了解,但我知道redis主从复制后续是通过一个复制缓存区来记录新增的命令,通过发送这些命令实现同步
10、说说redis架构(单线程,io多路复用)
11、redis的底层数据结构知道吗(只知道用到了跳表,然后说了下跳表)
12、缓存穿透和缓存雪崩,解决方法
13、缓存和数据库怎么保证一致性
14、说说threadlocal怎么实现的
15、threadlocalmap中key为啥要用弱引用,key被gc后value怎么办
16、说说四种引用
17、spring事务传播机制
18、spring如何解决循环依赖
19、说说tcp协议
20、tcp如何保证不会接受重复的报文
21、tcp如何保证有序
算法:lc124. 二叉树中的最大路径和
反问有几面,一般3到4面,今天后续肯定没面了(快18点了)
部门:商业化技术部

有的同学直接三连面,不知道我情况咋样,还是希望有个三面。

9.28 三面
全程聊项目(引申的几个问题没答好),后面问了下我论文的情况
面试前说面试时长40分钟左右,结果25分钟就结束,反问表现也不说,感觉情况不妙

9.29 今天查看官网状态,已凉



#面试复盘##面经##快手##Java工程师#
全部评论
顶一下好贴 问得好深
1 回复
分享
发布于 2021-09-19 11:45
同18号两面,蹲一个三面
1 回复
分享
发布于 2021-09-20 00:02
阿里巴巴
校招火热招聘中
官网直投
916271919 快手2022校招唠嗑qq群,来互通有无分享信息呀!民间群非官方,四百多人啦
点赞 回复
分享
发布于 2021-09-19 13:11
快手校招是锁池子了吗
点赞 回复
分享
发布于 2021-09-20 01:42
我已经灰了兄弟 我好像跟你是一个面试官
点赞 回复
分享
发布于 2021-09-28 23:33
楼主做的什么项目
点赞 回复
分享
发布于 2021-09-29 22:41
注解失效因为用的不是代理对象
点赞 回复
分享
发布于 2021-10-01 11:27

相关推荐

【华为2012实验室AI系统方向实习生招聘】对AI大模型系统加速和应用优化感兴趣且想加入华为的同学欢迎联系我,有一定深度学习基础即可,我们更看重学习能力,一起研究共同进步,实习优先考虑推荐丰厚的职业机会。地点:北京、上海、杭州、深圳一、AI系统软件工程师岗位职责:1、面向大模型、搜索推荐、自主无人系统等关键行业AI应用场景,负责昇腾平台AI软件系统瓶颈分析以及优化方案的设计开发; 2、负责AI训练/推理系统的优化方案设计和开发,结合AI算法对系统的要求,通过网络、IO、调度等方面优化,提升AI系统性能; 3、构建面向AI的系统性建模、瓶颈分析及仿真能力,持续优化昇腾AI软硬件系统,提高昇腾AI平台的竞争力。岗位要求:1、计算机、软件、自动化、电子、通信、机器人等相关专业; 2、编程基础扎实,熟悉掌握python/C/C++编程语言,有良好的架构设计和编程习惯; 3、具备独立工作能力和解决问题的能力、善于沟通,乐于合作,热衷新技术,善于总结分享,喜欢动手实践; 4、有AI模型训练、模型应用部署相关开发和性能优化经验;5、有AI训练框架、AI推理引擎的开发经验,或算法硬件加相关经验者优先。二、AI推理加速工程师岗位职责:1、面向AIGC类大模型,主流商业场景的CV/NLP/语音/推荐类的AI模型推理场景,负责通用的推理加速和量化压缩算法的设计、开发、落地;2、结合昇腾硬件特性,设计昇腾亲和的推理加速算法,构建昇腾推理算法竞争力;3、面向大模型场景,研发高倍率的模型压缩算法,减少大模型部署成本。4、把握业界和学术界最新研究进展和技术趋势,持续提升算法竞争力。岗位要求:1、熟悉计算机视觉/自然语言处理/搜索推荐等方向主流的AI模型及模型推理加速算法,有丰富的推理加速和模型压缩经验,主导过完整的算法研发、优化及落地;2、熟悉通用的参数类、结构类AI模型压缩与加速算法,包括量化、剪枝、蒸馏、网络结构搜索、图优化等;善于自动组合各类模型压缩算法达到最佳的压缩比和推理性能收益,有Transformer大模型的加速经验为佳。3、熟悉业界常见的推理引擎,如TensorRT、vllm、TGI等,熟悉常用的推理加速技术;4、具备较强的算法研究能力,可快速跟踪洞察业界最前沿AI领域技术,主导算法的持续领先。
点赞 评论 收藏
转发
27 171 评论
分享
牛客网
牛客企业服务