【面试复盘】北京-快手-Java开发工程师(已意向)

第一次投递:上海-Java开发工程师,无笔试,部门初筛挂;
第二次投递:北京-Java开发工程师,无笔试,获得面试机会;
能早投尽量早投,挂了还可以继续投递,快手今年可以无限制次数投递,最好还是投北京,感觉岗位更多一点;
  • 面试部门:研发线-平台研发部-监控部门(应该是面向快手内部做中间件的);
  • 面试流程:连续两轮技术面(牛客网链接-视频面试)+HR面(电话);
  • 面试感受:快手的面试官比较看中面试者的代码能力,也就是实际的应用能力,而不单纯是八股,需要会灵活使用;

一面(45min)

1.死锁?
2.讲一下如何实现多并发,对比一下synchronized ,volatile 等?
3.LRU算法和LFU算法,讲一下什么是缓存污染?
4.写一下LRU算法,然后改成线程安全的?
5.反问环节:询问了具体的技术栈和部门主要做的方向;

二面(45min)

1.自我介绍+聊项目(20min)
2.知道的索引有哪些?
3.类加载过程?
4.类加载会出现的异常?类找不到?链接异常?
5.新生代垃圾回收过程?用的算法?为什么这样设计
6.讲一下hashmap的扩容
7.HashMap 的长度为什么是2的幂次方
没给反问环节,直接就结束了;

HR面(20min)

强调部门做的是纯技术,提供平台支撑服务的;

9.30 意向书

9.26HR联系说开始陆续发意向,让不要着急;
国庆前一天晚上正在外边吃饭收到意向书;

总结:

① 个人无实习,无框架项目,只有两个教研室项目,只能硬着头皮和面试官讲,还好对自己的项目比较熟悉,只要面试官不打断就继续讲;
② 多背背常考的代码题,比如LRU缓存,自己遇到好几次了,还要会写测试用例;
③ 多看底层源码,有时间的话相关的知识点做好自己实际动手操作一下;

面试问题参考答案文档:6-快手-正式批.note
链接:http://note.youdao.com/noteshare?id=20458f0672bb49a56c9ddb1f00ffead2&sub=C478DBA080F4407AA78CD00***92

#面试复盘##面经##面试题目#
全部评论
老哥二面完多久通知过了的
1
送花
回复
分享
发布于 2021-09-21 17:08
咋就两面啊😂
点赞
送花
回复
分享
发布于 2021-09-21 18:41
滴滴
校招火热招聘中
官网直投
也可以试试去哪儿哈 第一批这两天面试,等下一批流程 内推更快:https://www.nowcoder.com/discuss/732239
点赞
送花
回复
分享
发布于 2021-09-21 18:51
许愿快手捞我简历
点赞
送花
回复
分享
发布于 2021-09-21 21:46
两边大概率白菜🥬
点赞
送花
回复
分享
发布于 2021-09-22 00:11
大佬面试什么形式?视频面吗?
点赞
送花
回复
分享
发布于 2021-09-22 00:22
一面完没继续面就是凉么
点赞
送花
回复
分享
发布于 2021-09-22 07:03
真的这么简单?
点赞
送花
回复
分享
发布于 2021-09-22 13:12
为什么我的快手5面,目前是第4面技术面。。。
点赞
送花
回复
分享
发布于 2021-09-22 16:27
同java  楼主什么部门呀
点赞
送花
回复
分享
发布于 2021-09-26 18:49
916271919 快手2022校招唠嗑qq群,来互通有无分享信息呀!民间群非官方,六百多人啦
点赞
送花
回复
分享
发布于 2021-09-26 19:13

相关推荐

投递快手等公司10个岗位
点赞 评论 收藏
转发
先自我介绍,总共45分钟1、专业具体方向是什么2、实习主要做了些什么3、垃圾回收机制4、常用的垃圾回收器5、G1和CMS的区别是什么6、多线程安全怎么做7、volatile和synchronized的区别8、双亲委派模型是怎么样的9、双亲委派的模型,怎么打破10、静态代理和动态代理的区别,动态代理是怎么实现的11、线程池的submit和excute的区别1、返回结果:submit()方法可以接受并返回Future对象,用于表示异步任务的结果。你可以通过Future对象获取任务的执行结果,或者等待任务执行完成。而execute()方法没有返回值,无法获取任务的执行结果。2、异常处理:submit()方法能够处理任务执行过程中抛出的异常。你可以通过调用Future对象的get()方法来获取任务执行过程中的异常,或者通过捕获ExecutionException异常来处理异常情况。而execute()方法无法处理任务执行过程中的异常,异常会被传播到线程池的未捕获异常处理器(UncaughtExceptionHandler)。3、方法重载:submit()方法有多种重载形式,可以接受Runnable、Callable和其他可执行任务作为参数。它们的返回值类型分别为Future、Future和Future,其中T为Callable返回结果的类型。这使得submit()方法更加灵活,可以处理不同类型的任务。而execute()方法只接受Runnable类型的任务作为参数,没有方法重载的选项。12、算法:最长重复子数组(动态规划秒了,然后要我优化时空复杂度)13、喜欢那些具体方面的技术14、分布式产品有哪些15、使用微服务和单体架构的区别16、微服务组件用过那些17、CAP原理18、一般互联网公司会用cap的哪两个19、redis怎么实现分布式架构20、redis集群的原理21、redis扩容怎么办22、redis的可用性怎么保证23、了解其它一些数据库吗24、怎么定位bug的25、线上部署的项目怎么定位bug26、在linux上怎么定位bug,定位bug时常用那些命令27、在linux上磁盘IO过大怎么定位问题所在28、大概可以实习多久29、看你简历上是去深圳,是一定要深圳吗
点赞 评论 收藏
转发
9 54 评论
分享
牛客网
牛客企业服务