当前位置:网站首页>最新Android面试合集,android视频提取音频
最新Android面试合集,android视频提取音频
2022-07-07 14:47:00 【InfoQ】
前文
1、Java 相关
- 容器(HashMap、HashSet、LinkedList、ArrayList、数组等)
- 内存模型
- 垃圾回收算法(JVM)
- 系统性能的显著提升。
- 应用启动更快、运行更快、体验更流畅、触感反馈更及时。
- 更长的电池续航能力。
- 支持更低的硬件。
- 机器码占用的存储空间更大,字节码变为机器码之后,可能会增加10%-20%(不过在应用包中,可执行的代码常常只是一部分。比如最新的 Google+ APK 是 28.3 MB,但是代码只有 6.9 MB。)
- 应用的安装时间会变长。
- 类加载过程(需要多看看,重在理解,对于热修复和插件化比较重要)
- 反射
- 多线程和线程池
- HTTP、HTTPS、TCP/IP、Socket通信、三次握手四次挥手过程
- 设计模式(六大基本原则、项目中常用的设计模式、手写单例等)
- 断点续传
- Java 四大引用
- Java 的泛型,<? super T> 和 <? extends T> 的区别
- final、finally、finalize 的区别
- 接口、抽象类的区别
2、Android 相关
- 自定义 View
- 1、ViewGroup 绘制顺序 (例:自定义 ViewGroup 如何实现 FlowLayout?如何实现 FlowLayout 调换顺序)2、 自定义 View 如何实现打桌球效果;3、 自定义 View 如何实现拉弓效果,贝瑟尔曲线原理实现?
- 解决过的一些性能问题,在项目中的实际运用。
- 性能优化工具(TraceView、Systrace、调试 GPU 过度绘制 & GPU 呈现模式分析、Hierarchy Viewer、MAT、Memory Monitor & Heap Viewer & Allocation Tracker 等)
- 性能优化(讲讲你自己项目中做过的性能优化)(1)网络:API 优化、流量优化、弱网优化(2)内存:OOM 处理、内存泄漏、内存检测、分析、Bitmap 优化LeakCanary 原理,为什么检测内存泄漏需要两次?(3)绘制(4)电量:WeakLock 机制、JobScheduler 机制(5)APK 瘦身(APK 瘦身是怎么做的,只用 armabi-v7a 没有什么问题么? APK 瘦身这个基本是 100% 被面试问到,可能是我简历上提到的原因。)(6)内存抖动(7)内存泄漏(8)**卡顿 **{如何检测卡顿,卡顿原理是什么,怎么判断页面响应卡顿还是逻辑处理造成的卡顿}BlockCanary的原理(9)性能优化:布局优化、过度渲染处理、ANR 处理、监控、埋点、Crash 上传。(10)启动优化
3、Android Framework
- AMS 、PMS
- Activity 启动流程,App 启动流程
- Binder 机制(IPC、AIDL 的使用)(讲讲 Linux 上的 IPC 通信,Binder 有什么优势,Android 上有哪些多进程通信机制?)
- 1、项目中遇见了什么多进程场景?2、AIDL 是什么?解决了什么问题?3、谈谈对进程共享和线程安全的认知?4、什么是协程?
- 为什么使用Parcelable,好处是什么?
- Android 图像显示相关流程,Vsync 信号等
4、三方源码
- Glide:加载、缓存、LRU 算法(如何自己设计一个大图加载框架)(LRUCache 原理)2. EventBus3. LeakCanary4. ARouter
5、算法与数据结构
- 单链表:反转、插入、删除
- 双链表:插入、删除
- 手写常见排序、归并排序、堆排序
- 二叉树前序、中序、后序遍历
- 最大 K 问题
- 广度、深度优先搜索算法
- 可以去刷一下LeetCode,对自己提升也会比较大。
- String 转 int。 核心算法就三行代码,不过临界条件很多,除了判空,还需要注意负数、Integer 的最大最小值边界等;
- 如何判断一个单链表有环?
- 链表翻转;
- 快排;
- 100 亿个单词,找出出现频率最高的单词。要求几种方案;
- 链表每 k 位逆序;
- 镜像二叉树;
- 找出一个无序数组中出现超过一半次数的数字;
- 计算二叉树的最大深度,要求非递归算法。
- String 方式计算加法。
6、项目 & HR
- 项目开发中遇到的最大的一个难题和挑战,你是如何解决的。(95% 会问到)
- 说说你开发最大的优势点(95% 会问到)
- 你为什么会离开上家公司
- 你的缺点是什么?
- 你能给公司带来什么效益?
- 你对未来的职业规划?
文末



边栏推荐
- Laravel service provider instance tutorial - create a service provider test instance
- Logback日志框架第三方jar包 免费获取
- Talk about the cloud deployment of local projects created by SAP IRPA studio
- 偶然升职的内心独白
- 面向接口编程
- 网关Gateway的介绍与使用
- URL和URI的关系
- Inner monologue of accidental promotion
- Common training data set formats for target tracking
- Unity3d click events added to 3D objects in the scene
猜你喜欢
无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
Three. JS series (1): API structure diagram-1
[designmode] facade patterns
【Android -- 数据存储】使用 SQLite 存储数据
模仿企业微信会议室选择
Pycharm terminal enables virtual environment
[designmode] proxy pattern
低代码(lowcode)帮助运输公司增强供应链管理的4种方式
【Vulnhub靶场】THALES:1
Vs2019 configuration matrix library eigen
随机推荐
AutoLISP series (3): function function 3
ATM system
laravel post提交数据时显示异常
Lecturer solicitation order | Apache seatunnel (cultivating) meetup sharing guests are in hot Recruitment!
【医学分割】attention-unet
Introduction and use of gateway
Leetcode-136- number that appears only once (solve with XOR)
Binary search tree (basic operation)
[designmode] proxy pattern
Three. JS series (1): API structure diagram-1
AutoLISP series (1): function function 1
如何快速检查钢网开口面积比是否符合 IPC7525
Opencv personal notes
os、sys、random标准库主要功能
laravel怎么获取到public路径
模仿企业微信会议室选择
Three. JS series (2): API structure diagram-2
Description of vs common shortcut keys
ByteDance Android gold, silver and four analysis, Android interview question app
预测——灰色预测