0
点赞
收藏
分享

微信扫一扫

2019--Android-面试真题集锦(1),【设计思想解读开源框架

天涯学馆 2022-01-07 阅读 68

计算机网络部分。

计算机网络部分还是挺容易考察的,不过考察的点不会那么深入。通常来说也就是这些问题:

  1. TCP 有哪些状态。
  2. 三次握手、四次挥手。为啥是三次不是两次?
  3. HTTPS 和 HTTP 的区别。HTTPS 2.0,3.0?
  4. 浏览器输入一个 URL,按下回车网络传输的流程?
  5. 喜欢深问一点的还会问到网络架构,每层有些什么协议,FTP 这些相关原理,印象比较深刻的还有一个问题是:TCP 建立连接后,发包频率是怎样的?

Android 部分

Android 很广,所以这里只是简单说下有些什么问题。这个的话其实真的 70% 问题出自你的简历。

  1. Activity 的生命周期;
  2. Android 的 4 大启动模式,注意 onNewIntent() 的调用;
  3. 组件化架构思路,如何从一个老项目一步一步实现组件化,主要问实现思路,考察应试者的架构能力和思考能力。
    这一块内容真的很多,你需要考虑的问题很多,哪一步做什么,顺序很重要。
  4. MVC、MCP、MVVP 的区别和各种使用场景,如何选择适合自己的开发架构?
  5. Router 原理,如何实现组件间通信,组件化平级调用数据方式。
  6. 系统打包流程;
  7. APP 启动流程;
  8. 如何做启动优化?
    冷启动什么的肯定是基础,后续应该还有的是懒加载,丢线程池同步处理,需要注意这里可能会有的坑是,丢线程池如何知道全部完成。
  9. 事件分发机制。
    事件分发已经不是直接让你讲了,会给你具体的场景,比如 A 嵌套 B ,B 嵌套 C,从 C 中心按下,一下滑出到 A,事件分发的过程,这里面肯定会有 ACTION_CANCEL 的相关调用时机。
  10. 如何检测卡顿,卡顿原理是什么,怎么判断是页面响应卡顿还是逻辑处理造成的卡顿?
  11. 生产者模式和消费者模式的区别?
  12. 单例模式双重加锁,为什么要这样做。
  13. Handler 机制原理,IdleHandler 什么时候调用。
  14. LeakCanary 原理,为什么检测内存泄漏需要两次?
  15. BlockCanary 原理。
  16. ViewGroup 绘制顺序;
  17. Android 有哪些存储数据的方式。
  18. SharedPrefrence 源码和问题点;
  19. 讲讲 Android 的四大组件;
  20. 属性动画、补间动画、帧动画的区别和使用场景;
  21. 自定义 ViewGroup 如何实现 FlowLayout?如何实现 FlowLayout 调换顺序?
  22. 自定义 View 如何实现打桌球效果;
  23. 自定义 View 如何实现拉弓效果,贝瑟尔曲线原理实现?
  24. APK 瘦身是怎么做的,只用 armabi-v7a 没有什么问题么?
    APK 瘦身这个基本是 100% 被面试问到,可能是我简历上提到的原因。
  25. ListView 和 RecyclerView 区别?RecyclerView 有几层缓存,如何让两个 RecyclerView 共用一个缓存?
  26. 如何判断一个 APP 在前台还是后台?
  27. 如何做应用保活?全家桶原理?
  28. 讲讲你所做过的性能优化。
  29. Retrofit 在 OkHttp 上做了哪些封装?动态代理和静态代理的区别,是怎么实现的。
  30. 讲讲轨迹视频的音视频合成原理;
  31. AIDL 相关;
  32. Binder 机制,讲讲 Linux 上的 IPC 通信,Binder 有什么优势,Android 上有哪些多进程通信机制?
  33. RxJava 的线程切换原理。
  34. OkHttp 和 Volloy 区别;
  35. Glide 缓存原理,如何设计一个大图加载框架。
  36. LRUCache 原理;
  37. 讲讲咕咚项目开发中遇到的最大的一个难题和挑战;
    这个问题基本是 95% 必问的一个问题;
  38. 说说你开发最大的优势点。
    出现率同上。

算法

  1. String 转 int。
    核心算法就三行代码,不过临界条件很多,除了判空,还需要注意负数、Integer 的最大最小值边界等;
  2. 如何判断一个单链表有环?
  3. 链表翻转;
  4. 快排;
  5. 100 亿个单词,找出出现频率最高的单词。要求几种方案;
  6. 链表每 k 位逆序;
  7. 镜像二叉树;

总结

Android架构学习进阶是一条漫长而艰苦的道路,不能靠一时激情,更不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!

上面分享的字节跳动公司2021年的面试真题解析大全,笔者还把一线互联网企业主流面试技术要点整理成了视频和PDF(实际上比预期多花了不少精力)

,包含知识脉络 + 诸多细节。

【Android高级架构视频学习资源】

Android部分精讲视频领取学习后更加是如虎添翼!进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!

市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!

举报

相关推荐

0 条评论