当前位置:网站首页>最新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% 会问到)
- 你为什么会离开上家公司
- 你的缺点是什么?
- 你能给公司带来什么效益?
- 你对未来的职业规划?
文末
边栏推荐
- How to query the data of a certain day, a certain month, and a certain year in MySQL
- 面试题 01.02. 判定是否互为字符重排-辅助数组算法
- 爬虫(17) - 面试(2) | 爬虫面试题库
- Personal notes of graphics (2)
- Odoo integrated plausible embedded code monitoring platform
- The differences between exit, exit (0), exit (1), exit ('0 '), exit ('1'), die and return in PHP
- Prediction - Grey Prediction
- laravel中将session由文件保存改为数据库保存
- Logback logging framework third-party jar package is available for free
- Find tags in prefab in unity editing mode
猜你喜欢
null == undefined
Introduction and use of gateway
The team of East China Normal University proposed the systematic molecular implementation of convolutional neural network with DNA regulation circuit
95. (cesium chapter) cesium dynamic monomer-3d building (building)
torch. Numel action
Cesium(3):ThirdParty/zip. js
Personal notes of graphics (4)
time标准库
Lecturer solicitation order | Apache seatunnel (cultivating) meetup sharing guests are in hot Recruitment!
Binary search tree (basic operation)
随机推荐
Inner monologue of accidental promotion
How does laravel run composer dump autoload without emptying the classmap mapping relationship?
[medical segmentation] attention Unet
射线与OBB相交检测
As an Android Developer programmer, Android advanced interview
01tire+链式前向星+dfs+贪心练习题.1
Statistical learning method -- perceptron
Binary search tree (basic operation)
Iptables only allows the specified IP address to access the specified port
Laravel constructor and middleware execution order
Power of leetcode-231-2
What is the difference between IP address and physical address
3000 words speak through HTTP cache
Binary search tree (features)
How can laravel get the public path
Opportunity interview experience summary
Laravel 中config的用法
ATM系统
01tire+ chain forward star +dfs+ greedy exercise one
平衡二叉树(AVL)