跳动三轮面试

面试第一轮:

1.自我介绍
2.介绍下Android的mvc/mvp/mvvm
3.view的事件分发机制
4.viewGroup 怎么知道view有没有消费事件
5.写一个单例模式(解释单例模式中的sync,双锁,volidate)
6.算法题目:
有A和B两个有序数组(数组元素不重复),给出sum,请找到A和B中所有相加和为sum的序列对(面头条遇到的)

A:[1,4,5]
B:[3,4,6]
sum=8
output 1,1,2,0 => because A[1]+B[1]=8 /A[2]+B[0]=8

7.内存泄漏有哪些?怎么排查

面试第二轮:

1.自我介绍
2.你遇到最难的问题是什么
3.android的handler机制
4.android的anr机制
5.android冷启动优化
6.android弱网优化
7.android 视频相关有了解么?
8.android长图片加载怎么实现
9.gradle用过哪些
10.最近看什么书?
11.职业规划是什么?
12.能接受在北京工作?
13.算法题目:排序二叉树转有序双链表,要求在原来的树节点基础上增加。

面试第三轮:

1.自我介绍
2.项目里面的难点(如何解决,解决方案是什么)
3.一个app发布一个版本后,发现变卡了,你如何复现?如何得知某个地方变卡,如何得知用户在某行代码变卡
4.android 动画机制有哪些?
5.lottie的原理
6.直播中的动画要怎么做?要做成动态的,比如礼物是可以配置的?
7.算法题:找出数组中的k数。k数的定义:比位置位于这个数前面的数字都大,且比位置位于这个数后面的数字都小的数字(数组首尾的数字不用管)(面头条遇到的)

[4,1,3,2,7,9,8,10,12]
此数组中的k数为7和10

8.人在杭州?对换城市有什么想法
9.看你是做中台的,为什么选择业务?



作者:Android进阶架构
链接:https://www.jianshu.com/p/a0676397047a
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值