快手安卓客户端面经

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

一面:
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 广东

相关推荐

今天 13:59
已编辑
University of California Irvine C++
经历了人生中最恐怖的拷打,jd上看这是个做分布式存储的岗,但是怎么一点分布式不问啊,我白看了两天的raft算法1. 自我介绍2. 说下c++17和20的特性3. 说下内存泄漏和悬垂指针 4. 说下进程和线程的区别,再说下协程5. 说下const和constexpr6. 一个函数中有 uint 和 int 两个变量,他们进行加减操作会有什么问题吗,如果说左值是double或者float,他们会进行类型转换吗7. 一个类的成员如果没有初始化会怎么样,对于基础类型,自定义类,static修饰的变量都说一下8. 为什么NUMA要绑定线程到节点,两个不同节点的线程如果要传输一个数据怎么办,会不会造成缓存miss9. 说一下线程池的设计10. 为什么项目定时器要用红黑树呢,有没有O(1)复杂度的数据结构,其他实现有哪些,红黑树和堆排序的区别(不会11. 讲一下数组和链表的区别,遍历的话哪个更快12. 双缓冲区的日志库是怎么做的,如果一个线程还没来得及将内容写到磁盘就要交换缓冲区了怎么办,另外其他线程怎么把日志同步给日志库的线程 13. 讲一下io uring,说一下io uring中的提交函数14. 线程之间可以怎么同步/传输数据,如果要共享数据呢15. 左值和右值16. c++如果函数参数不确定可以怎么写,只知道用template的…17. 动态规划和分治算法的区别18. 说一下 NP 和 P 问题算法 一个长度为100的int数组,如果把每 10bit 看作一个数字,那么怎么得到第 n 个数字 比如一个 4,二进制就是 0100,因为int是32位,所以在 0100 前面还有28个0,将每10位看作一个数算法没写出来,思路好像也不对,感觉底裤都被扒掉了,最后也没有反问环节就耻辱下播了-- 更新,答成这样都给我进二面了?
虾皮信息一面341人在聊 查看36道真题和解析
点赞 评论 收藏
分享
05-27 17:50
已编辑
北京理工大学 C++
timeline:5.19 一面5.21 约二面5.22 二面5.23 约三面5.26 三面+oc##一面(1h10min)【手撕】:1.域名变换要求空间复杂度O(1)。2.求栈内最大值栈是一个已存在的栈。要求空间复杂度、时间复杂度O(1)。鼠鼠想半天也只想到辅助栈并提出从存数开始,被要求优化空间复杂度,想的几个都被否了。查了下说是对放进去的数编码。3.环形上有100个灯泡,每个灯泡有一个按钮,按一下也会影响左右两个灯泡,如“暗-亮-暗”变成“亮-暗-亮”,要求设计算法把随机状态的所有灯泡变亮,只说思路。鼠鼠想了很久,然后在和面试官的讨论下做出,首先1-100遇到暗的灯泡就按下一个(100不按),得到除99和100全亮状态,此时四中状态,一种全亮排除,一种暗暗情况下再按一次99,得到三种情况都为100个灯泡只有一个暗。然后从暗的开始三个一组按一下中间的变成全暗。然后每个灯泡按一次,因为收到前后和自己三次按奇数次的影响,遂全变亮。【八股】:1. tcp三次握手和四次挥手2. 三次握手第三次可以没有吗为什么3. 浏览器输入网址到显示的全过程【反问】:无,面试官说超时了会议室外有人催他就赶紧下了。## 二面(1h10min)1. 自我介绍2. STL中关联式容器有哪几个3. map和unordered_map区别(说了底层、时间复杂度、用法)4. unordered_map的时间复杂度一直是o(1)吗5. 为什么最坏O(n),什么情况是O(n)?6. unordered_map底层是怎么实现的(哈希函数、桶+链表)7. 除了链表有没有别的方法(开放地址法,不了解具体)8. 有一亿个string数据应该用map还是unorered_map存为什么9. 说到map底层是红黑树,了解平衡二叉树吗?10. 5个节点的平衡树,最少有多少个节点11. 那假如有50个呢?n个呢?怎么算?    1. 鼠鼠说那肯定是有一个计算公式,但是得让鼠鼠想想    2. 鼠鼠想了好久得出F(N)=F(N-1)+F(N-2)+1;然后面试官让讲讲遂开始讲。12. 用queue怎么实现stack,要几个queue?13. 那用stack怎么实现queue,要几个stack?14. 时间复杂度是多少?15. 了解线程和进程吗?为什么Muduo网络库用多线程而不是多进程?16. 详细讲解线程和进程的区别?17. 存一个数据从内存到到磁盘,经过哪些步骤?18. 手撕:求逆波兰表达式,如string=(101+20)*30-45/5变成101 20 + 30 * 45 5 - /    1. 鼠鼠想了大概五分钟说了思路,用stack做,面试官说思路没问题    2. 然后写了十五分钟,最后输出有点小问题面试官说没关系整体是ok的19. 反问:1.业务 2.进来做什么 3.要提高那些方面(多理解怎么应用)## 三面hr面(25min)1.岗位理解2.岗位适配度3.介绍项目和难点4.详细介绍每个模块的选型5.实验室研究方向和内容6.选择实习时考虑的点7.为什么之前没有实习8.为什么要做xx项目9.实习时间等问题10.有没有别的offer反问:团队氛围、有无转正等然后现场就口头offer了,已接
点赞 评论 收藏
分享
05-23 21:28
东南大学 C++
点赞 评论 收藏
分享
评论
4
19
分享

创作者周榜

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