8月11号三面,目前还无HR面消息。面试时间40分钟左右,面试官是一个小姐姐,很漂亮!
主要是围绕项目来扩展,话题比较随意,对框架聊的比较多(可能是我说自己接触这些比较多)
面试内容如下:
- Android 常见OOM原因:
- 回答主要分为两类:
- 资源类型:图片,数据,资源太大
- 代码问题:内存泄漏,UI操作、Handler延迟任务太多,死循环等
- 说到内存泄漏,你开发使用过程中如何排查?
- Android Studio 自带的Android Profiler
- LeakCanary
- MAT
- 看你项目里面有做插件化,为什么,好处是什么?
- 功能扩展性强
- 模块性分工
- 方便热更新和灰度开发
- 变相的缩小App包的大小(可以选择性动态下载)
- 那开发遇到的缺点是?
- 这个要看你自己使用的框架是什么,不同的框架有不同的缺陷,主要包括:兼容性和资源冲突;
- 看到二面面试官问你关于网络库的问题,你设计一个网络,怎么设计(心中狂喜,这不是之前刚刚看的嘛)
- 拦截器,线程管理器(线程池),顺序执行,处理请求
- 这里面哪些可以作为公开能力,哪些做私有能力?
- 共有能力:网络请求,请求回调,设置请求参数,取消请求,自定义拦截器等
- 私有能力:网络请求的底层操作,错误处理,数据解析等;
- 还有其他能力吗?
- 请求重试,网络监听,缓存机制等;
- 说到缓存机制,你知道的缓存机制有几种?
- 强制缓存,协商缓存,响应缓存(类似本地DNS),不缓存,自动缓存(选择性缓存);
算法题:DFS的前序遍历,非递归,找一个栈解决,写完后说了一下思路
许愿HR面,虽然我鸽了快手2次了,但是还是希望手能爱我~
#快手信息集散地##快手24秋招#
#快手面经##客户端##Android#