面霸养成记;50W字Android面试文档致敬2022摸爬滚打的一年

Posted 初一十五啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面霸养成记;50W字Android面试文档致敬2022摸爬滚打的一年相关的知识,希望对你有一定的参考价值。

前言

“抗寒”,2022专有词…任正非大佬都说了要把寒气传给每一个人,确实22年过得很艰辛,摸爬滚打,总算是安定下来了。

回头想想,抽空吧面试过程中被问到的问题和平时看的文档整理分享出来,希望能给面试的小伙伴一点借鉴。

整套50W字Android体系文档

一丶面霸养成记

获取参考答案
2022Android十一位大厂面试题;134道真题;再也不怕面试了

1.百度面试问什么?

  • 关于okhttpRetrofit
  • view的绘制流程
  • 触摸的传递机制
  • 自定义view主要重写哪个方法
  • 讲一下策略模式和状态模式的各自的特点和区别
  • 说一下线程安全,线程同步的原子性,可见性和有序性
  • 讲一下双重检查锁中的 volatile 关键字的作用
  • 讲一下jvm的堆栈
  • 二叉树的层次遍历
  • 自定义Navigator切换fragment
  • Navigation使用和源码剖析
  • volatile的作用

2.阿里面试问什么?

  • android 插件化.Hook 插件化框架 ( Hook Activity 启动流程 | Hook点分析
  • AndroidHandler处理Runnable任务的常见方法
  • 讲讲对Handler的认识
  • 求二叉树中两个节点之间的最大距离。
  • 谈谈对Binder的认识
  • 动态代理实现
  • ASM的原理
  • 内存泄漏常见场景以及解决方案
  • touch 事件源码问题。
  • Android自定义崩溃收集器捕获java层和native层崩溃异常
  • 如果 int 的值大于了 3 需要提示
  • 介绍下 flutter 的启动流程
  • 介绍下 flutterweex 的区别
  • 组件化介绍一下
  • webviewjs 交互的实现方法
  • 介绍下 flutter_boost 的原理

3.腾讯面试问什么?

  • 讲一下MVVM, MVP,MVC
  • LiveData在项目里的实践是怎样的,遇到了什么问题;有没有想过怎么去解决LiveData膨胀的问题
  • HandlermessageQueue懂多少说多少,越详细越好
  • View绘制的三个流程;onMeasure中的measureSpecwrapContent为什么会失效
  • 内存泄漏是怎么避免的?LeakCanary原理是什么,没看过源码的话现在想一下该怎么实现
  • 项目里的webView是如何优化加载速度的的
  • RecyclerViewScrollView为什么不能一起使用
  • 线程池用过吗,工作组件有哪些,OkHttp用的是什么线程池,为什么要用
  • synchronized锁升级的过程,为什么要设计这个锁升级
  • HashMap的实现,如果要自己实现多线程安全的HashMap怎么操作
  • 如果我想要自定义个任务有优先级的线程池,应该从哪些方面入手
  • 为啥打开一个app以后默认会显示白屏吗,为啥不是黑屏呢?
  • 进程间通信方式有哪些,Binder讲一下,和共享内存的区别是什么
  • 动态代理和静态代理
  • 数据结构和23种设计模式
  • RecyclerView的性能优化怎么实践
  • 堆排序实现

4.京东面试问什么?

  • Activity相关(生命周期、启动模式)
  • service的意义
  • Handler内存泄漏相关
  • OKhttp源码相关
  • 手写Singletion

5.字节面试问什么?

  • 弱引用与软引用,HashMap的各个版本差异
  • 什么是线程安全,如何实现线程安全 .常用的线程池种类,为什么要这么设计
  • 单例常见的实现方式
  • DCL为什么要加两层判断
  • ReentrantLock如何实现公平锁的
  • 线程池里面非核心线程什么时候会被回收
  • handler机制,
  • AsyncTask原理,
  • Activity窗口层级,
  • binder机制,
  • Activity的启动流程,
  • mmapIntent传输数据的限制,
  • ANR原理,
  • RxJava 线程池的使用注意问题,
  • OKHTTP拦截器
  • Activity的启动流程
  • OKhttpRetrofit
  • 布局优化,内存优化,网络优化,apk瘦身
  • kotlin
  • 常用设计模式,
  • MVC,MVVM,MVP
  • main方法执行之前发生了什么

6.Bilibili面试问什么?

  • 启动Activity的方法
  • intent可以传递的数据
  • ActivityFragment的关系,生命周期,如何传递数据
  • 项目用到了ViewModel,说说看他的原理,为什么Fragment可以获取到ActivityViewModel
  • 你说到了内存泄露,有用过别的内存检查的工具吗,什么时候会发生内存泄露
  • 说说进程和线程的理解
  • 请说说看mvpmvvm模式有什么区别吗
  • JVM的内存结构是怎样的,哪个地方不会出现内存泄露
  • App的启动流程
  • Handler的理解,handler的内存泄露了解吗

7.网易面试问什么?

  • 线程进程
  • IPC
  • HashMap
  • 创建线程三种方式
  • 锁、volatile
  • 动态代理
  • http相关(https、响应码、请求方式)
  • Handler
  • Binder
  • view绘制

8.小米面试问什么?

  • Android启动模式
  • 不同启动模式活动跳转的生命周期
  • handler机制
  • 一个线程中几个handler同时发送一个相同的消息,怎么分辨哪个消息是哪个handler发送的
  • Android服务的生命周期
  • Android持久化存储的方式
  • Android广播的分类和使用场景
  • 自定义view三个方法,每个方法都要覆写吗
  • java怎么使得一个同步方法变为异步方法
  • synchnoized作用
  • java 抽象类和接口的区别
  • 抽象类的方法一定要继承吗

9.携程面试问什么?

  • Glide讲一讲。你为什么选择glide
  • Glide三级缓存
  • Glide怎么加载图片进Imageview
  • OKhttp拦截器
  • getpost请求区别
  • 项目里面内存优化
  • LeakCanary
    -Bitmap高效缓存
  • 项目中启动优化
  • 渲染布局优化
  • ViewStub懒加载
  • MVPMVVM,谈谈你对它们的了解
  • 设计模式项目里边有用过哪些
  • HTTPS通信
  • JVM内存模型
  • 怎么保证线程安全
  • 垃圾回收gc讲一讲

10.小红书面试问什么?

  • Java深拷贝和浅拷贝的区别
  • 自定义View是怎么绘制的?ViewGroup?
  • Handler机制,
  • TCPUDP的区别

11.爱奇艺面试问什么?

  • Android布局嵌套深有什么问题
  • kotlin协程
  • HashMap原理
  • 算法:手写快排
  • Activity启动模式
  • Activity A → B的生命周期在这四种启动模式下的状态
  • 有序广播如何实现的按顺序收到广播
  • SharedPreferences的格式
  • xml解析方式
  • jsonxml的区别,json为什么比xml更好
  • Android view绘制流程
  • surfaceView
  • 机型大小适配
  • ANR 什么时候出现,如何排查
  • Android 动画
  • startServicebindService的区别
  • Service保活方式
  • java泛型
  • 重写equals方法需要重写hashCode方法吗

二丶音视频面霸养成记

获取参考答案
音视频真的是太吃香了?60道音视频经典面试题

看音视频从零到一到精通之前结合上面的60道经典音视频面试全面掌握(答案已经整理出)

1.从零到一:音视频初级开发

1.通过三种方式绘制图片.
2.使用 AudioRecord 采集音频PCM并保存到文件.
3.使用 AudioTrack 播放PCM音频.
4.使用 Camera API 采集视频数据.
5.使用 MediaExtractorMediaMuxer API 解析和封装 mp4 文件
6.MediaCodec API 详解
7.音视频如何录制?

2.从一到熟悉:音视频中级开发

1.OpenGL ES环境搭建,定义.绘制形状
2.OpenGL ES使用投影和相机视图
3.OpenGL ES添加运动效果
4.OpenGL ES 响应触摸事件
5.OpenGL ES 着色器语言GL SL
6.OpenGL ES纹理贴图
7.通过GLES20与着色器交互
8.利用SoundTouch实现PCM音频的变速和变调

3.从熟悉到精通:音视频高级开发

1.MPEG-4/H.264 AVC 编解码标准
2.AAC 音频编码技术
3.流媒体协议:HLSRTMP
4.多媒体文件格式:MP4FLVM3U8TSPCM / WAV
5.查看媒体文件头信息工具ffprobe
6.:播放媒体文件的工具ffplay
7.媒体文件转换工具ffmpeg
8.FFmpeg 调整音视频播放速度
9.Mac下安装FFmpeg
10.将 FFmpeg 移植到 Android平台
11.FFmpeg API 介绍与通用 API 分析
12.FFmpeg 编解码 API 分析及超时设置
13.FFmpeg 核心模块 libavformatlibavcodec 分析
14.AVFormatContext,AVStream,AVPacket,AVFrame, AVCodec,AVCodecContext,AVIOContext分析
15.FFMPEG中重要结构体之间的关系
16.FFmpeg开发之 AVFilter 使用流程总结
17.FFmpegNDKCentos7上交叉编译
18.x264NDKCentos7上交叉编译
19.faacNDKCentos7上交叉编译
20.Webrtc音视频通话

三丶Android面霸养成记

1.性能优化

启动优化、内存优化、启动优化速度、卡顿优化、布局优化、崩溃优化、应用启动全流程(源码深度解析)等内容.

2.Framework

Framework源码面试六部曲:1.activity启动流程
Framework源码面试六部曲:2.Binder通信机制
Framework源码面试六部曲:3.Handler面试集合
Framework源码面试六部曲:4.事件传递机制
Framework源码面试六部曲:5.onMeasure测量原理
Framework源码面试六部曲:6.Android屏幕刷新机制

Framework通信、Framework底层服务、Framework事件机制等内容.

4丶Compose

5.Android资深架构师

Arraylist,Okhttp,Retrofit,图片加载,Dagger 2,MVC.MVP.MVVM,Jetpack Room


6.Android车载工程师

涉及:Android Auto,汽车媒体应用,构建Android Auto即时通信应用,构建车载导航和地图注点应用,构建Android Automotive OS视频应用,测试Android车载应用,分发Android汽车应用,适用于汽车的Google Play服务,Android Automotive OS的通知.


视频
比亚迪车载DiLink系统:Framework需求和源码实战车载APP主题切换

7.Flutter高级工程师

Dart语法,Flutter动画丶组件丶网络请求以及Flutter3.0简介。

配合最全的 整套50W字Android体系文档 内容,让学习更贴近未来实战

以上是关于面霸养成记;50W字Android面试文档致敬2022摸爬滚打的一年的主要内容,如果未能解决你的问题,请参考以下文章

面霸养成记;50万字2022最新Android11位大厂面试专题

50w字+的Java技术类校招面试题汇总,BAT大厂面试总结

50w字+的Java技术类校招面试题汇总,Java篇

50w字+的Java技术类校招面试题汇总,HR的话扎心了

50w字+的Java技术类校招面试题汇总,灵魂拷问

吸金狂魔“Steam”养成记