快手Android社招面经(已OC)

只是抱着试一试的心态,没想到oc了,这次快手的面试体验感极佳,遗憾的是base在北京所以给拒绝了。下面贴上三面的面经。
一面:
PS:一面面经忘记做记录,大致会议一下,不是很全
1.自我介绍
2.挖项目
3.Handler-Message机制
4.okHttp线程池参数如何配置?为什么?
5.okHttp连接复用
6.View的事件分发相关
7.HashMap原理
8.HashMap线程安全吗?
9.ConCurrentHashMap如何保证线程安全
10.反转链表
补充:
11.jvm运行时数据区有哪些
12.gc回收机制
13.哪些对象可以是gc root

二面:
1.项目
2.物品识别,物品检测框时延如何优化(把第一帧往后移)
3.事件是怎么从硬件层传递到应用层
4.DOWN事件有几个坐标点,MOVE事件呢?
5.View的绘制流程: View绘制屏幕刷率,帧率控制?- 编舞者(Choreographer)
6.为什么要有线程池?(稍微点原理,如何从线程复用的角度去答)
7.发线程数量越多性能越好吗?(从线程切换频繁的角度去答)
8.如何设计一个线程池?(结合原理讲)
9.okhttp里面的线程池参数时怎么配置的?
10.如果开一个for循环去不断给okhttp发请求,会奔溃吗?为什么?(okhttp分发机制就绪队列和等待队列)
11.为什么okhttp为什么将线程池的队列前移?
12.算法题100000个数字中,对前10000小的数字进行排序

三面:
1.大部分时间问的是业务
2.收撕lru算法,要求查找的时间复杂度o(1)
3.在一个迭代了很多个版本的App中,如何实现App换肤(这边我知道可以用Hook的方式去实现但具体的没有了解过,就给面试官要了点思考时间,然后联想到插件化的实现方式除了Hook以外可以用插桩,就现场想了个用插桩方式实现App换肤的思路)

hr面略

全部评论
请问背调大概多久啊
点赞 回复 分享
发布于 2024-01-27 00:44 上海

相关推荐

03-30 16:38
已编辑
湖南工业大学 移动开发
上架的流程,遇到过哪些困难(没有证书申请嘛?我说Xcode自动生成的,他反问“你确定嘛?”沉默….“所以你还是不来了解过程是吧”)。。。你的app没有崩溃日志?项目中为什么用MVC,不用MVVM(“所以你是觉得你项目简单才用的MVC?”)包体积构成,静动态库的区别?你觉得什么时候应该用静态库,什么时候应该用动态库?项目重难点响应链的过程,怎么从中间去拦截一个事件?响应链你提到runloop?有哪些模式?为什么runloop能捕获事件?他的底层怎么实现的?内存管理,ARC的底层怎么实现的?怎么自动监测的?weak为什么可以设置成nil?assign知道嘛?(OC的知道个蛋啊….)Runtime的底层数据结构是怎样的?atomic和nonatomic?你项目中用到了哪些设计模式?你觉得ios中哪里用到了工厂模式?优化了哪些卡顿问题?字典的数据结构?哈希冲突怎么办数组如何可以放不同类型元素的?所以你觉得创建了数组就是创建了对象?(说的空数组是指向数组对象的,不知道对不对)同步和异步,串行和并行,死锁?数据结构你知道嘛?了解基本的。。。 “那你知道红黑树嘛”……链表和数组区别八股:http,https,tcp,常见状态码(感觉看我太菜了,给我降点难度算了…..)反问(没脸反问了,您对客户端的看法)#暑期实习   ##腾讯视频##牛客AI配图神器#
查看17道真题和解析
点赞 评论 收藏
分享
评论
3
31
分享

创作者周榜

更多
牛客网
牛客企业服务