当了5年的Android面试官,特此前来总结几点经验,Android开发面试题及答案

14. 广播的分类与工作原理

15. 可以再onReceive中开启线程么,会有什么问题?

16. 什么是有序广播?

17. Application、Activity、Service中context的区别?能否启动一个activity、dialog?

18. Fragment的生命周期? (美团)

19. Fragment的构造函数为啥不让传参?(B站)

20. Fragment add与replace的区别,分别对Fragment的生命周期影响(美团)

第二章 View System

1. View绘制流程与自定义View注意点。(东方头条、美团)

Android中的每一个UI控件都是集成自View,然后这些View都具有相同的绘制流程,必须经过measure,layout和draw. view的绘制流程是在Window添加过程中,ViewRootImpl类的setView方法开始的

2. 在onResume中可以测量宽高么

3. 事件分发机制是什么过程?(东方头条)

4. 事件冲突怎么解决?(东方头条)

5. View分发反向制约的方法?(字节跳动)

6. 自定义Behavior,NestScroll,NestChild。(东方头条)

7. View.inflater过程与异步inflater(东方头条)

8. inflater为什么比自定义View慢?(东方头条)

9. onTouchListener onTouchEvent onClick的执行顺序。(58 京东)

10. 怎么拦截事件 onTouchEvent如果返回false onClick还会执行么?(58 京东)

11. 事件的分发机制,责任链模式的优缺点 (美团)

12. 动画的分类以及区别(车和家)

13. 属性动画与普通的动画有什么区别?(车和家)

14. 插值器 估值器的区别(车和家)

15. RecyclerView与ListView的对比,缓存策略,优缺点。(美团)

16. WebView如何做资源缓存?(字节跳动)

17. WebView和JS交互的几种方式与拦截方法。(字节跳动)

18. 自定义view与viewgroup的区别

19. View的绘制原理

20. View中onTouch,onTouchEvent和onClick的执行顺序

21. View的滑动方式

22. invalidate() 和 postInvalicate() 区别

23. View的绘制流程是从Activity的哪个生命周期方法开始执行的

24. Activity,Window,View三者的联系和区别

25. 如何实现Activity窗口快速变暗

26. ListView卡顿的原因以及优化策略

27. ViewHolder为什么要被声明成静态内部类

28. Android中的动画有哪些? 动画占用大量内存,如何优化

29. 自定义View执行invalidate()方法,为什么有时候不会回调onDraw()

30. DecorView, ViewRootImpl,View之间的关系,ViewGroup.add()会多添加一个ViewrootImpl吗

31. 如何通过WindowManager添加Window(代码实现)?

32. 为什么Dialog不能用Application的Context?

33. WindowMangerService中token到底是什么?有什么区别

34. RecyclerView是什么?如何使用?如何返回不一样的Item

35. RecyclerView的回收复用机制

36. 如何给ListView & RecyclerView加上拉刷新 & 下拉加载更多机制

37. 如何对ListView & RecycleView进行局部刷新的?

38. ScrollView下嵌套一个RecycleView通常会出现什么问题?

39. 一个ListView或者一个RecyclerView在显示新闻数据的时候,出现图片错位,可能的原因有哪些 & 如何解决?

40. Requestlayout,onlayout,onDraw,DrawChild区别与联系

41. 如何优化自定义View

42. Android属性动画实现原理,补间动画实现原理

第三章 Android FrameWork

1. Android中多进程通信的方式有哪些? 进程通信你用过哪些?原理是什么?(字节跳动、小米)

2. 描述下Binder机制原理?(东方头条)

3. Binder线程池的工作过程是什么样?(东方头条)

4. Handler怎么进行线程通信,原理是什么?(东方头条)

5. Handler如果没有消息处理是阻塞的还是非阻塞的?(字节跳动、小米)

6. handler.post(Runnable) runnable是如何执行的?(字节跳动、小米)

7. handler的Callback和handlemessage都存在,但callback返回true handleMessage还会执行么?(字节跳动、小米)

8. Handler的sendMessage和postDelay的区别?(字节跳动)

9. IdleHandler是什么?怎么使用,能解决什么问题?

10. 为什么Looper.loop不阻塞主线程?Looper无限循环为啥没有ANR(B站)

11. Looper如何在子线程中创建?(字节跳动、小米)

12. Looper、handler、线程间的关系。例如一个线程可以有几个Looper可以对应几个Handler?(字节跳动、小米)

13. 如何更新UI,为什么子线程不能更新UI?(美团)

14. ThreadLocal的原理,以及在Looper是如何应用的?(字节跳动、小米)

15. Android 有哪些存储数据的方式?

16. SharedPreference原理,commit与apply的区别是什么?使用时需要有哪些注意?

17. 如何判断一个 APP 在前台还是后台?

18. 如何做应用保活?

19. 一张图片100x100在内存中的大小?(字节跳动)

20. Intent的原理,作用,可以传递哪些类型的参数?

21. 如果需要在Activity间传递大量的数据怎么办?

22. 打开多个页面,如何实现一键退出?

23. LiveData的生命周期如何监听的?(B站)

第四章 性能优化

1. 内存优化,内存抖动和内存泄漏。 什么时候会发生内存泄漏?举几个例子(美团)

2. Bitmap压缩,质量100%与90%的区别?(东方头条)

3. TraceView的使用,查找CPU占用(东方头条)

4. 内存泄漏查找 (酷我音乐)

5. ANR是什么,怎么解决?ANR查找(美团)

6. CPU波动

7. 当前项目中是如何进行性能优化分析的

8. 冷启动、热启动的概念(酷我音乐)

9. View层次过深怎么优化,选择哪个布局比较好?(美团)

10. 怎样检测函数执行是否卡顿 (字节跳动)

第五章 开源框架

1. LeakCanray 2.0为啥不需要在application里调install?(B站)

2. OkHttp的原理(B站)

3. Glide缓存机制(B站)

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

最后

我坚信,坚持学习,每天进步一点,滴水穿石,我们离成功都很近!
以下是总结出来的字节经典面试题目,包含:计算机网络,Kotlin,数据结构与算法,Framework源码,微信小程序,NDK音视频开发,计算机网络等。

字节高级Android经典面试题和答案


一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

最后

我坚信,坚持学习,每天进步一点,滴水穿石,我们离成功都很近!
以下是总结出来的字节经典面试题目,包含:计算机网络,Kotlin,数据结构与算法,Framework源码,微信小程序,NDK音视频开发,计算机网络等。

字节高级Android经典面试题和答案

[外链图片转存中…(img-NhkOoCRd-1712989956936)]
[外链图片转存中…(img-7tnJmB1h-1712989956937)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-2jYB8DzZ-1712989956937)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值