美文网首页Android进阶之路Android技术知识
备战金九银十面试;Android大厂必问的Framework面试

备战金九银十面试;Android大厂必问的Framework面试

作者: 码农的地中海 | 来源:发表于2022-07-13 19:28 被阅读0次

转眼间就又快到金九银十的面试季了,那么我们对于自己Android开发工作应聘,都应准备那些知识点呢?

根据近两年,总结网上的以及开发朋友的一些信息。有关framework的面试常常问到的面试题;总结如下:


b57ae23f882c3672cec3908f5451ab10.jpeg

framework面试问题:

  • Android中多进程通信的方式有哪些?

  • 进程通信你用过哪些?原理是什么?

  • 描述下Binder机制原理?

  • Binder线程池的工作过程是什么样?

  • Handler怎么进行线程通信,原理是什么?

  • Handler如果没有消息处理是阻塞的还是非阻塞的?

  • handler.post(Runnable) runnable是如何执行的?

  • handler的Callback和handlemessage都存在,但callback返回true,handleMessage还会执行么?

  • Handler的sendMessage和postDelay的区别?

  • 怎么跨进程传递大图片?

  • 各种跨进程传输数据的方式及各自优缺点?

  • TransactionTooLargeException的触发原因和底层机制是?

  • Bitmap传输底层原理?

  • 跨进程传大图有哪些方案?

  • 如何通过IPC的方式转发图片数据?

  • ThreadLocal在FrameWork中的使用?

  • ThreadLocal的适用于什么场景?

  • ThreadLocal的使用方式是怎样的?

  • ThreadLocal的实现原理是怎样的?

  • 说说Looper的副业?

  • 怎么检查线程有耗时任务?

  • 怎么同步处理消息?

  • intent带的数据量大了为什么会异常?

  • 为什么有时候IdleHandler调不到?

  • 如何在Activity的onCreate和onResume获取view宽高?

  • viewTree绘制流程是从哪里开始的?

  • zygote是谁启动的?

  • 为什么需要zygote?

  • 为什么需要socket方式而不是binder?

  • 从launcher是如何通知zygote进程创建app的过程?

  • PMS服务是干什么?PMS跟咱们的安装速度和启动速度有关系吗?

  • 为什么需要PMS?

  • PMS被谁启动的,它是一个单独进程运行吗?如果不是,又是在哪个进程呢?

  • PMS扫描是为了什么,为什么PMS需要这样设计呢?

  • AMS与PMS之间的关系是什么,他们在同一个进程吗?

  • 系统是如何存AMS服务对象的,以及应用层如何拿到AMS应用的?

  • AMS与servicemanage进程是什么关系,app启动流程讲一讲

  • AMS与ActivityThread之间是什么关系,它的交互机制详细说一下?

  • Android是基于Linux系统展开的,为什么Android不直接用Linux的进程通讯,而是要重复造轮子呢?

  • Intent传递参数最大是多少?在哪里限制了这个参数呢,异步呢?

  • Binder一次拷贝原理是什么?

  • Binder通讯机制简单说一说?

  • 如何对 Android 应用进行性能分析

  • 什么情况下会导致内存泄露?

  • 如何避免 OOM 异常?

  • Android 中如何捕获未捕获的异常

  • ANR 是什么?怎样避免和解决 ANR

  • Android 线程间通信有哪几种方式

  • Devik 进程,linux 进程,线程的区别

  • 描述一下 android 的系统架构

  • android 应用对内存是如何限制的?我们应该如何合理使用内存?

  • 简述 android 应用程序结构是哪些

  • 请解释下 Android 程序运行时权限与文件系统权限的区别

  • 多线程间通信和多进程之间通信有什么不同,分别怎么实现

  • Framework 工作方式及原理,Activity 是如何生成一个 view 的,机制是什么

  • Android 屏幕适配

  • 什么是 AIDL 以及如何使用

  • Handler 机制

  • 事件分发机制

  • 子线程发消息到主线程进行更新 UI,除了 handler 和 AsyncTask,还有什么

  • 子线程中能不能 new handler?为什么

  • Android 中的动画有哪几类,它们的特点和区别是什么

  • 如何修改 Activity 进入和退出动画?

  • SurfaceView & View 的区别

省略号……(此处省略一个圆周率)

面试题答案及解析:《2022精选面试题》

《Android Framework面试题分类》

第一章 系统启动流程分析

Android启动概览

init.rc解析

Zygote

第二章 Binder解析

宏观认识Binder

binder的jni方法注册

binder驱动

数据结构

启动service_manager

获取service_manager

addService流程

Binder面试题全解析

第三章 Handler解析

Handler常问面试题

第四章 AMS 解析

Android架构

通信方式

系统启动系列

AMS

AMS 面试题解析

第五章 WMS解析

Activity与Window相关概念

Android窗口管理服务WindowManagerService计算Activity窗口大小的过程分析

Android窗口管理服务WindowManagerService对窗口的组织方式分析

Android窗口管理服务WindowManagerService对输入法窗口的管理分析

Android窗口管理服务WindowManagerService对壁纸窗口的管理分析

………

《Android精选2022面试题纲资料汇总》

资料展示:

Android进阶技术.png 大量PDF资料图纯净版.png 面试汇总.png

常问面试经文:

Android常见原理性面试题.png Android常问基础知识点.png Android常见面试题.png

大厂面经整合:

阿里巴巴面试真题集锦.png 美团面试题集锦.png 面试京东题解.png

文末

关于如何学习Android Framework开发知识,可以参考这份由字节大佬总结的Android Framework 开发与面试题解,其中部分章节在某平台收藏达到1000+!今天在这里分享给大家 。

相关文章

网友评论

    本文标题:备战金九银十面试;Android大厂必问的Framework面试

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