快手安卓客户端面经

时隔一年半再面快手,感觉难了很多。

一面:
1.算法:连续子数组的最大和。
2.泛型string的list是否能add一个数,编译是否通过?运行时是否会报错?如果想在运行时拿到泛型应该怎么做?
3.假如一个static变量,更新它的值,另一个进程是否能获取它的最新值?另一个线程呢?
4.volatile关键字的作用?在双重检验锁中,不使用它会有什么问题?
5.synchronized关键字,修饰类和修饰方法有什么区别?
6.activity跳转过程中,生命周期的变化?
7.activity如何与fragment通信?
8.在view中,requestlayout和invalidate方法有什么区别?
9.场景题:实现一个根据优先级对子view进行测量的自定义viewgroup

二面
1.在B站主要负责什么模块?
2.详细说下下载组件的实现,对于大文件下载如何优化?
3.对于多个下载任务如何优化?
4.重载和重写的区别?
5.HashMap的实现,有哪些线程安全的集合类?
6.synchroized和volatile的区别?
7.atomic类的实现原理?
8.activity之间如何实现通信?传递的数据是否有大小限制?
9.activity与service如何通信?
10.如何减少布局嵌套?
11.线性布局的优点?
12.自定义view的实现方式?
13.view的渲染流程?
14.recycledview的优化方式?
15.bitmap如何优化?bitmap池是什么?
16.算法:生产者消费者模式,kotlin实现

全部评论
千万别选安卓,快跑,测开都比安卓强1万倍,安卓啥也不是,地位最低,路过的扫地阿姨都要鄙夷
3 回复 分享
发布于 2025-04-16 12:36 江苏
二面挂了吗
点赞 回复 分享
发布于 2025-04-12 13:30 广东

相关推荐

02-09 03:00
已编辑
门头沟学院 安卓
公司主要是做Flutter业务的,感觉答的一般般,简历上的东西自己还是要熟悉。1.自我介绍2.你在项目中遇到的难点,怎么解决的?3.讲一下MVVM架构,安卓和Flutter中的MVVM框架有什么区别吗?4.原生安卓与Flutter之间的区别。5.假如让你开发一个功能,你会怎么使用AI完成这个功能?6.AI开发中的代码大部分是正常,但是有一部分不正常,你会怎么处理?7.在这个AI写的功能有一部分异常的基础上再开发下一个功能,你会怎么处理?(没答到点上)8.你一般用什么网络框架?(问安卓+Flutter的)9.判断网络请求是否成功或者失败,失败的原因是什么。成功的话,成功会返回什么数据,你会怎么封装这样的网络框架?(答的不好)10.token拦截与自动刷新怎么设计的?(答的不好)11.怎么减少用户加载时间?12.你知道LRU框架,LRU算法吗?(不会,然后面试官和我讲解了几分钟)13.怎么提高APP中的下载速度?14.多线程下载步骤是什么?(没答好)15.多线程怎么下载不同的片?16.怎么校验一个文件是不是原来的文件?有没有下载成功?17.写鸿蒙体验怎么样?对比安卓有什么区别?18.AI怎么写鸿蒙?相比于别的是不是比较难写?19.用Flutter开发怎么兼容鸿蒙?20.怎么分别管理安卓和ios、鸿蒙的SDK?21.有些SDK是不兼容鸿蒙的,只兼容安卓、ios的SDK,你怎么处理?22.鸿蒙有个封装了sqlite的库,你怎么把他引入到Flutter项目中,尽量不改变原有,又保证对安卓、ios的侵入性是最小的?(答的不好)23.反问环节。对我们这个项目有什么想问的吗、谈薪等。
查看22道真题和解析
点赞 评论 收藏
分享
评论
7
39
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务