当前位置:网站首页>最新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% 会问到)
- 你为什么会离开上家公司
- 你的缺点是什么?
- 你能给公司带来什么效益?
- 你对未来的职业规划?
文末



边栏推荐
- 预售17.9万,恒驰5能不能火?产品力在线,就看怎么卖
- Opportunity interview experience summary
- laravel构造函数和中间件执行顺序问题
- Usage of config in laravel
- laravel 是怎么做到运行 composer dump-autoload 不清空 classmap 映射关系的呢?
- 全网“追杀”钟薛高
- Statistical learning method -- perceptron
- The team of East China Normal University proposed the systematic molecular implementation of convolutional neural network with DNA regulation circuit
- Power of leetcode-231-2
- 低代码(lowcode)帮助运输公司增强供应链管理的4种方式
猜你喜欢
Logback logging framework third-party jar package is available for free
记一次项目的迁移过程
使用JSON.stringify()去实现深拷贝,要小心哦,可能有巨坑
AutoLISP series (2): function function 2
Talk about the cloud deployment of local projects created by SAP IRPA studio
null == undefined
Xcode Revoke certificate
Description of vs common shortcut keys
Performance comparison of tidb for PostgreSQL and yugabytedb on sysbench
Statistical learning method -- perceptron
随机推荐
【Android -- 数据存储】使用 SQLite 存储数据
The team of East China Normal University proposed the systematic molecular implementation of convolutional neural network with DNA regulation circuit
Personal notes of graphics (4)
three.js打造酷炫下雪效果
面试题 01.02. 判定是否互为字符重排-辅助数组算法
Record the migration process of a project
ThinkPHP URL 路由简介
What else can an ordinary person do besides working in a factory to make money?
字节跳动Android面试,知识点总结+面试题解析
What is the difference between IP address and physical address
iptables只允许指定ip地址访问指定端口
DNS 系列(一):为什么更新了 DNS 记录不生效?
laravel post提交数据时显示异常
Introduction to ThinkPHP URL routing
Common training data set formats for target tracking
Advanced C language -- function pointer
01tire+链式前向星+dfs+贪心练习题.1
Talk about the cloud deployment of local projects created by SAP IRPA studio
HAVE FUN | “飞船计划”活动最新进展
Laravel 服务提供者实例教程 —— 创建 Service Provider 测试实例