Android开发经验谈Android开发Android技术知识

新鲜出炉:腾讯Android开发笔记+2022Android十一

2022-09-08  本文已影响0人  躲得过初一躲不过十五

前言

经过几天几夜的鏖战,终于把Android体系的内容整理完了,包含基础,性能优化,Framework,Compose,音视频,架构,flutter,kotlin。更有22年十一位大厂128道面试真题等等。以后再也不用繁琐的查找了。

1.腾讯Android开发笔记
2.2022年Android十一位大厂面试真题
3.60道音视频经典面试题

一丶2022Android十一位大厂面试真题

参考
2022年Android十一位大厂面试真题

1.百度篇

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

2.阿里篇

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

3.腾讯篇

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

4.京东篇

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

5.字节篇

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

6.Bilibili篇

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

7.网易篇

1.线程进程
2.IPC
3.HashMap
4.创建线程三种方式
5.锁、volatile
6.动态代理
7.http相关(https、响应码、请求方式)
8.Handler
9.Binder
10.view绘制

8.小米篇

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

9.携程篇

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

10.小红书篇

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

11.爱奇艺篇

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

二丶腾讯Android开发笔记

参考
腾讯Android开发笔记

1.Android工程师必备技能篇

涉及:注解、泛型、Retrofit、架构动态编程技术原理、ButterknifeJavaSSit丶虚拟机丶并发内存丶Synchronize丶并发原理之线程池丶数据序列化

2.性能优化篇

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

3.Framework篇

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

4.Compose篇

5.音视频开发篇

涉及CC++基础语法,H264编码基础和进阶,H265编码原理和应用MediaCodec硬解码,Media内核源码,WeChat视频通话。初级-中-高,WebRTC

6.架构篇

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

7.车载认识篇

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

8.Flutter篇

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

9.Harmony OS篇

涉及Ability组件,分布式任务,事件总线,Harmony OS线程,UI自定义控件

10.kotlin篇

涉及:对象丶类丶继承丶变量丶常量丶拓展函数等20多个内容

三丶60道音视频经典面试题

参考
3.60道音视频经典面试题

1.为什么巨大的原始视频可以编码成很小的视频?这其中有什么技术?
2.怎么做到直播秒开优化
3.直方图在图像处理里面最重要的作用是什么?
4.数字图像滤波有哪些方法?
5.图像可以提取的特征有哪些?
6.衡量图像重建好坏的标准有哪些?怎么计算?
7.AACPCM的区别?
8.H264存储的两个形态
9.FFmpeg:图像如何合成视频?
10.常见的音视频格式有哪些?
11.1080P的意义
12.请解释颜色的本质及数字记录原理,并说出你知道的色域
13.请解释矢量图和位图的区别
14.请从光圈,快门速度,感光度,白平衡,景深中任意选2个进行叙述?
15视频分量YUV的意思及数字化格式
16.在MPEG标准中图像类型有哪些?
17.列举一些音频编解码常用的实现方案?
18.叙述MPEG视频基本码流结构?
19.SPSPPS的区别
20.叙述AMR基本码流结构?
21.预测编码的基本原理是什么?
22说一说FFmpeg的数据结构
23.说一说AVFormatContextAVIntFormat之间的关系?
24.说一说AVFormatContext, AVStreamAVCodecContext之间的关系?
25.说一说视频拼接处理步骤?(细节处理,比如分辨率大小不一,时间处理等等)
26.NV21如何转换成I420
27.DTSPTS共同点?
28.影响视频清晰度的指标有哪些?
29.编解码处理时遇到什么困难?
30.如何秒开视频?什么是秒开视频
31.如何降低延迟?如何保证流畅性?如何解决卡顿?解决网络抖动?
32.需要把网络上一段视频存储下来(比如作为mp4 ), 请实现并说出方法(第一个视频需要翻墙才能进)?
33.需要把网络上一段语音存储下来(比如作为mp3 ), 请实现并说出方法?
34.为什么要有YUV这种数据出来?(YUV相比RGB来说的优点)
35.H264/H265有什么区别?
36.视频或者音频传输,你会选择TCP协议还是UDP协议?为什么?
37.平时说的软解和硬解,具体是什么?
38.何为直播?何为点播?
39.简述推流、拉流的工作流程?
40.如何在直播中I帧间隔设置、与帧率分辨率选定?
41.直播推流中推I帧与推非I帧区别是什么?
42.常见的直播协议有哪些?之间有什么区别?
43.点播中常见的数据传输协议主要有哪些?
44.RTMPHLS协议各自的默认端口号是?
45.简述RTMP协议,如何封装RTMP包?
46.m3u8构成是?直播中m3u8ts如何实时更新?
47.何为音视频同步,音视频同步是什么标准?
48.播放器暂停、快进快退、seek、逐帧、变速怎么实现
49.说说你平时在播放过程中做的优化工作?
50.你研究过哪些具体的流媒体服务器,是否做过二次开发
51.什么是GOP?
52.音频测试的测试点,音频时延如何测试?
53.美颜的实现原理,具体实现步骤?
54.如何直播APP抓包过来的文件,如何过滤上行,下行,总码率?
55.如何测试一个美颜挂件?
56.为什么要用FLV
57.如何测试一个美颜挂件?
58.平常的视频格式?
59.何为homebrew?你用它安装过什么?常用命令有哪些?
60.RTMPHLS协议各自的默认端口号是?

上一篇下一篇

猜你喜欢

热点阅读