20届客户端老咸鱼的过期面经系列之BIGO
实习
现场面,基本围绕Java和Android基础,算法题:剑指offer青蛙跳台阶的递归和非递归写法
校招
一面
没有涉及Android 知识和项目,全程怼基础
-
计算机网络:tcp 如何实现可靠传输
-
操作系统:线程死锁如何解决
-
算法题:32位整型翻转,重点是边界判断
-
反问建议:基础不牢
个人感觉一面难度最大,记录下来就这几方面问题,但共计面了一小时多了一点,计算机网络问的比较透,从常规的三握四挥起手,拥塞控制过程滑动窗口机制,滑动窗口变化过程面试官要求手画解释,这里有些记不清了答得磕磕绊绊,导致和后面的拥塞控制机制有些记混了,一开头就慌了o r z,线程死锁,常规问法,类型条件-> 代码 -> 解决方案 -> 场景实践,因为大学操作系统课设做过银行家算法,这部分比较流畅,然后算法题leetcode07 考虑边界就可以了,最后反问题(“你有什么问题要问我吗?”)问了面试官有什么给我的建议,说基础不扎实建议多加强。
二面
点比较散,基本围绕简历来,和面试官聊了聊看过的技术书
-
实习项目和对应知识(网络请求监控,bitmap占用统计,创业项目陪玩平台)
-
Java 基础起手:final,static,hashmap
-
设计模式继承的缺点与组合
-
设计一个线程池
-
android 内存泄露场景
-
android 基础 handler机制 (原理源码)
-
android 事件分发机制
-
https 的过程
-
实现 lrucache ,因为刚复习到答得很顺,答到一半面试官就说嘿嘿这个你准备过吧orz
-
算法题:翻转链表
-
反问:技术学习路径 然后加了20%左右的主观题(聊人生),除了技术书平常看什么书(答曰推理和科幻),自己带小团队的时候怎么处理团队矛盾,学习过程中的困惑这些 常规题,准备到了所以很好答,实习项目面试官结合场景给了一种新的方案,回去试了一下应该是可行的,果然经验很重要
三面
点同样比较散,状态比较好
-
同样是实习项目起手
-
GLide 源码
-
http1.0 和htpp2.0 区别点
-
handler机制(原理)
-
view 事件分发
-
反问:组织架构与个人定位 同样有20%左右的主观题(聊人生), 三面面试官告诉我发展路径和一些建议,面试体验极佳,很有收获,感觉面试官对技术的理解很有见地,个人比较喜欢面试官对自家产品的态度,对自己的产品有明显认同感且态度谦虚(以前曾经有问面试官工作体验怎么看待自己的产品,答曰就工作呗的情况(手动捂脸))