写点什么

移动开发属于哪个领域!2021 年 Android 春招面试经历,详细的 Android 学习指南

发布于: 2021 年 01 月 09 日

前言


回顾一下自己这段时间的经历,三月份的时候,疫情原因公司通知了裁员,我匆匆忙忙地出去面了几家,但最终都没有拿到 offer,我感觉今年的寒冬有点冷。到五月份,公司开始第二波裁员,我决定主动拿赔偿走人。后续的面试过程我做了一些准备,基本都能走到 hr 面,后面我也顺利地拿到了 offer,我给大家分享下我的求职体会,希望能给大家一些参考。


一般 Android 面试分为两部分:Java 部分和 Android 部分,下面说一下自己面试过程遇到的一些具体题目和一些相关知识点。


一线企业的 app 都是多线程和多进程的,而 Android 进程间通信机制就是 Binder,原生的线程间通信则是 Handler,Binder 和 Handler 是了解安卓运行机制必须要掌握的一个知识点,更是一线企业面试必问的知识点!


以下几道就是大厂关于和 Binder 常见的面试真题:


  • Binder 有什么优势?(字节跳动)

  • Binder 是如何做到一次拷贝的?(腾讯)

  • MMAP 的原理讲解;(腾讯)

  • 为什么 Intent 不能传递大数据?(阿里)

  • 描述 AIDL 生成的 java 类细节;(字节跳动)

  • 四大组件底层的通信机制;(字节跳动)

  • 为什么 Intent 不能传递大数据?(阿里)

  • Binder 机制是如何跨进程的?

  • Binder 机制原理


为了让大家更好的掌握 Framework 与 Binder 的原理,今天分享一份 Android Framework 高频面试题总结 和 BATJ 大牛笔记 Android Framework 内核解析,看完之后不信你还不掌握 Framework 和 Binder。



Android Framework 高频面试题解析


1. AMS 、PMS


  • AMS 概述

  • AMS 的启动流程

  • AMS 与进程启动

  • AMS 家族

  • PMS



2. Activity 启动流程,App 启动流程


  • Activity 的启动模式

  • 什么是 Zygote 进程

  • Zygote 进程的启动流程

  • SystemServer 进程启动流程

  • 启动服务



3. Binder 机制(IPC、AIDL 的使用)


  • 什么是 AIDL 以及如何使用

  • AIDL 的全称是什么?如何工作?能处理哪些类型的数 据?

  • Android 的 IPC 通信方式,线程(进程间)通信机制有哪些


4.为什么使用 Parcelable,好处是什 么?


  • 实现机制



5. Android 图像显示相关流程,Vsync 信号等


  • Android Vsync 原理浅析

  • 双重缓冲

  • 三重缓冲


总结


【Android 详细知识点思维脑图(技能树)】





我个人是做 Android 开发,已经有十来年了,目前在某创业公司任职 CTO 兼系统架构师。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。


这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司 19 年的面试题。把技术点整理成了视频和 PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。


由于篇幅有限,这里以图片的形式给大家展示一小部分。





详细整理在 GitHub 可以见;


Android架构视频+BAT面试专题PDF+学习笔记


网上学习 Android 的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。


最后,赠与大家一句话,共勉!


用户头像

VX公众号:编程进阶路 2020.11.28 加入

还未添加个人简介

评论

发布
暂无评论
移动开发属于哪个领域!2021年Android春招面试经历,详细的Android学习指南