美文网首页程序员面试Android
望35岁Android开发,在程序这条路上能越走越远

望35岁Android开发,在程序这条路上能越走越远

作者: 冬日毛毛雨 | 来源:发表于2020-12-29 22:24 被阅读0次

    前言

    想必不少伙伴担忧的情况——“晋升无望、收入见顶、生活开支飙升、财务危机如影随形”,小编之前精心收录整理了一些关于Android开发的知识点、面试题,推荐给大家化解成长的烦恼。

    它们都是我平时也经常翻看、学习的一些珍藏资料,包括Java基础、Android进阶、架构设计、NDK、音视频开发、跨平台、底层源码等技术,还有往年一线大厂最新面试题集锦,都分享给大家,助大家学习路上披荆斩棘~ 能力得到提升,思维得到开阔~

    View

    • 说下View 的绘制流程?
    • MotionEvent 是什么?包含几种事件?什么条件下会产生?
    • 描述一下 View 事件传递分发机制?
    • scrollTo()和 scollBy()的区别?
    • Scroller 是怎么实现 View 的弹性滑动?
    • invalidate()和 postInvalidate()的区别 ?
    • SurfaceView 和 View 的区别?
    • 自定义 View 如何考虑机型适配 ?

    Activity

    • 说下 Activity 生命周期
    • Activity A 启动另一个 Activity B 会调用哪些方法?如果 B 是透明主题的 又或者是个 DialogActivity 呢 ?
    • 说下 onSaveInstanceState()方法的作用,何时会被调用?
    • 说下 Activity 的四种启动模式、应用场景
    • 了解哪些 Activity 常用的标记位 Flags
    • 说下 Activity 跟 window,view 之间的关系
    • 横竖屏切换的 Activity 生命周期变化
    • 如何启动其他应用的 Activity
    • Activity 的启动过程

    Fragment

    • 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 还有什么方式可以唤醒线程
    • 什么是 ANR ? 什么情况会出现 ANR ?如何避免 ? 在不看代码的情况 下如何快速定位出现 ANR 问题所在

    算法

    • ViewGroup的层级深度,转换为二叉树的层级深度
    • 查找两个字符串的交集和字符串1中有字符串2中没有的问题
    • String字符串的数字相加
    • 使用三个线程顺序打印有序的数组
    • 给定一个有序的数组和目标数,找出与目标数最近接的index,要求复杂度是log(n)的时间复杂度
    • 二叉树的深度和广度,要求一次遍历
    • 给定一个二叉树和一个目标数,在二叉树中是否存在一条路径的所有节点的和与目标数是相同的case,并且打印
    • m*n的二维数组,做(0,0)出发,可以上下左右走,0为畅通,1为阻塞,目标位置(k,j),问是否能到达这个位置
    • int数组,除了一个数字外,其他数字都出现两次,找出这个只出现一次的数字
    • 一个无序的int数组,给一个target数字,找出数组中两个数字相加为target,并输出坐标
    • 数组中存有1-3的三种数字,例如[1,2,3,1,2,2,1,3,3],将其排序为[1,1,1,2,2,2,3,3,3],要求时间复杂度,后续将内容变为一个对象,继续排序
    • 1~100盏灯,都是亮的,第一次将能被1整除的数的灯按下,变暗,第二次将能被2整除的数的等按下,变亮,第三次将能被3整除的数的等按下,变暗…第100次将能被100整除的数的灯按下,问,最后有多少盏灯是亮的

    最后由于本文篇幅长度有限,我暂且分享到这里了,如想观看后续的内容可以在我GitHub项目中:https://github.com/733gh/Android-T3/blob/master/JianShu.md可自行查阅,我已归纳整理。望这些知识点能够帮助到大家在Android 开发这条路上少踩两个坑。

    相关文章

      网友评论

        本文标题:望35岁Android开发,在程序这条路上能越走越远

        本文链接:https://www.haomeiwen.com/subject/rnoqoktx.html