快手安卓客户端面经

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

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

相关推荐

05-12 22:45
已编辑
2222 安卓
55min问了40多个问题,底裤都被扒完了...问题:1,为什么使用flutter2,flutter的优点是什么3,mvvm架构的特点4,flutter和原生混合开发时,页面路由如何管理5,hashmap数据结构如何实现6,红黑树特点,插入和查找的时间复杂度7,hashmap为什么在链表长度为8时转化为红黑树8,内存泄漏的根本原因是什么?9,内存泄漏检测工具的原理了解吗?内存泄漏是如何被检测出来的?10,引用类型有哪些?11,Java中加锁有几种方式?12,审查代码时,如何发现潜在的死锁问题?13,死锁如何产生14,如何避免死锁15,tcp,udp是哪一层的协议,他们的区别是什么?16,tcp如何保证可靠性17,请求头中有哪些信息18,cookie的概念19,序列化和反序列化20,json和protobuf的区别21,数据加密有了解过吗?22,https相比较与http增加了哪些内容?23,https中的证书的概念24,效率比较高的排序算法,哪种算法时间最稳定?25,在实际项目中更轻倾向于自己实现排序算法,还是使用系统提供的方法26,java或c++中排序算法的源码有了解过吗,动态调节排序算法的策略?27,字符串查找算法,kmp时间复杂度,kmp思想是什么?28,计算机两数相乘溢出,如何解决?29,两个链表相交,如何求焦点30,安卓跨进程通信31,传统的操作系统,除了共享内存外,还有哪些跨进程通信的方法,使用场景相比于共享内存有哪些不同?32,view的绘制流程33,安卓绘制中的硬件加速的概念34,flutter是如何实现跨平台的35,flutter如何进行渲染,落实到平台上36,安卓消息机制37,flutter跟原生之间的消息通信38,服务器主动推送消息到客户端有了解吗?39,安卓本地存储,sqlite和sp的特点40,sp可以跨进程吗?如何操作?41,sp存储信息的两种方式,有什么区别?42,高德sdk,手机在室内时无法做卫星定位,如何发挥作用,误差是多少?43,网络请求框架现在普遍使用的是什么?dio是一种什么样的网络请求框架?
点赞 评论 收藏
分享
评论
4
18
分享

创作者周榜

更多
牛客网
牛客企业服务