快手安卓客户端面经

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

一面:
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万倍,安卓啥也不是,地位最低,路过的扫地阿姨都要鄙夷
2 回复 分享
发布于 04-16 12:36 江苏
二面挂了吗
点赞 回复 分享
发布于 04-12 13:30 广东

相关推荐

07-13 20:10
门头沟学院 Java
2025.7.5时长:1h20min1. String ,string builder和string buffer它们的区别是什么2. 都适用于什么场景?或者你在开发时候什么场景使用3. 深拷贝和浅拷贝4. 深拷贝怎么实现5. jvm内存模型中,方法区,堆以及这个本地方法栈程序计数器他们的各自作用是什么?6. jvm内存管理的工作过程7. hashset和hashmap区别?如何处理哈希冲突8. concurrentHashMap在jdk1.7和1.8的实现区别9. 有看过具体的代码实现吗10. 进程间通信方式。包括线程间通信11. 进程和线程的区别12. 一个进程可以有多少个线程13. 物理内存和虚拟内存的区别14. 32位CPU架构对它的一个进程的虚拟内存是多大?15. redis就它的这个缓存穿透击穿和雪崩这个概念是什么意思?怎么去解决这几个问题?16. redis持久化机制17. 怎么去选择呢项目:1. 介绍一下大概做的这个周期,以及整体你在这里面这个架构的设计,包括中间遇到一些问题如何解决的,以及最后的一个结果怎么样。2. 过程中有遇到什么问题和挑战?算法:1. 链表反转2. 极大值字符串相减(要处理减数比被减数小的情况)其他:1. 平时的一个学习方法,学习方式什么样?2. ai这块有关注吗3. 为什么大二就想出来实习4. 面试准备了多久反问:你认为有什么可以在进步的地方或者或者不足的地方?(面试官叫我自己评价一下,还要我给自己打分)进入后主要负责哪一块(然后面试官问我对安卓了解多少,还问go了解吗?说具体要再和一二面面试官对接一下)
查看25道真题和解析
点赞 评论 收藏
分享
评论
5
29
分享

创作者周榜

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