0
点赞
收藏
分享

微信扫一扫

35岁Android开发,还能在程序员这条路上越走越远么?,安卓性能优化面试

非凡兔 2022-02-05 阅读 59

  • Fragment 为什么会被称为第五大组件

  • Fragment 加载到 Activity 的 2 种方式

  • Fragment 与 ViewPager 的搭配使用

  • Fragment 的生命周期

  • 在 Fragment 中调用 Activity 中的方法

  • 在 Activity 中调用 Fragment 的方法

  • 在 Fragment 中调用另外一个 Fragment 的方法

  • Fragment 的切换方式

  • 谈谈 Activity 和 Fragment 的区别

  • Fragment 中 add 与 replace 的区别(Fragment 重叠)

  • getFragmentManager、getSupportFragmentManager 、 getChildFragmentManager 之间的区别

  • FragmentPagerAdapter 与 FragmentStatePagerAdapter 的区别与使用场景

Bitmap


  • Bitmap 使用需要注意哪些问题

  • Bitmap.recycle()会立即回收么?什么时候会回收?如果没有地方使用这 个 Bitmap,为什么垃圾回收不会直接回收

  • 一张 Bitmap 所占内存以及内存占用的计算

  • Android 中缓存更新策略

  • LRU 的原理

  • Service及BroadcastReceiver

  • 谈一谈 Service 的生命周期

  • Service 的两种启动方式?区别在哪

  • 如何保证 Service 不被杀死

  • 能否在 Service 开启耗时操作 ? 怎么做

  • 用过哪些系统 Service

  • 了解 ActivityManagerService 吗?发挥什么作用

  • 广播有几种形式 ? 都有什么特点

  • 广播的两种注册方式

  • 广播发送和接收的原理了解吗 ?(Binder 机制、AMS)

Handler


  • 谈谈消息机制 Handler 作用 ?有哪些要素 ?流程是怎样的

  • 一个线程能否创建多个 Handler,Handler 跟 Looper 之间的对应关系

  • 软引用跟弱引用的区别

  • Handler 引起的内存泄露原因以及最佳解决方案

  • 为什么系统不建议在子线程访问 UI

  • Looper 死循环为什么不会导致应用卡死

  • 使用 Handler 的 postDealy 后消息队列会有什么变化

  • 可以在子线程直接 new 一个 Handler 吗?怎么做

  • Message 可以如何创建?哪种效果更好,为什么

性能优化


  • 图片的三级缓存中,图片加载到内存中,如果内存快爆了,会发生什么?怎么处理

  • 内存中如果加载一张 500*500 的 png 高清图片.应该是占用多少的内存

  • WebView 的性能优化

  • Bitmap 如何处理大图,如一张 30M 的大图,如何预防 OOM

  • 内存回收机制与 GC 算法(各种算法的优缺点以及应用场景);GC 原理时机 以及 GC 对象

  • 内存泄露和内存溢出的区别 ?AS 有什么工具可以检测内存泄露

  • 性能优化,怎么保证应用启动不卡顿? 黑白屏怎么处理

  • 强引用置为 null,会不会被回收

  • ListView 跟 RecyclerView 的区别

  • ListView 的 adapter 是什么 adapter

  • LinearLayout、FrameLayout、RelativeLayout 性能对比,为什么

设计模式


  • 你所知道的设计模式有哪些

  • 谈谈 MVC、MVP 和 MVVM,好在哪里,不好在哪里

  • 封装 p 层之后.如果 p 层数据过大,如何解决

  • 是否能从 Android 中举几个例子说说用到了什么设计模式

  • 装饰模式和代理模式有哪些区别

  • 实现单例模式有几种方法 ?懒汉式中双层锁的目的是什么 ?两次判空的目的又是什么

  • 用到的一些开源框架,介绍一个看过源码的,内部实现过程

  • Fragment 如果在 Adapter 中使用应该如何解耦

线程


  • 线程池的好处? 四种线程池的使用场景,线程池的几个参数的理解

  • Android 中还了解哪些方便线程切换的类

  • 讲讲 AsyncTask 的原理

  • IntentService 有什么用

  • 直接在 Activity 中创建一个 thread 跟在 service 中创建一个 thread 之间 的区别

  • ThreadPoolExecutor 的工作策略

  • Handler、Thread 和 HandlerThread 的差别

  • ThreadLocal 的原理

  • 多线程是否一定会高效(优缺点)

  • 多线程中,让你做一个单例,你会怎么做

  • 除了 notify 还有什么方式可以唤醒线程

最后

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

下图是我进阶学习所积累的历年腾讯、头条、阿里、美团、字节跳动等公司2019-2021年的高频面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节

以上【历年大厂高级工程师面试题集】、【Android高级进阶教学视频】、【Android高级知识点学习PDF】皆无偿分享给大家。如有需要,点击**【Android架构视频+BATJ面试专题PDF+学习笔记】**即可免费获取。

tps://github.com/a120464/Android-P7/blob/master/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)**即可免费获取。

整理不易,望各位看官老爷点个关注转发,谢谢!祝大家都能得到自己心仪工作。

举报

相关推荐

0 条评论