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



边栏推荐
- 3000 words speak through HTTP cache
- The team of East China Normal University proposed the systematic molecular implementation of convolutional neural network with DNA regulation circuit
- 在哪个期货公司开期货户最安全?
- Three. JS series (3): porting shaders in shadertoy
- 【医学分割】attention-unet
- Common training data set formats for target tracking
- ThinkPHP URL 路由简介
- 华东师大团队提出,具有DNA调控电路的卷积神经网络的系统分子实现
- laravel 是怎么做到运行 composer dump-autoload 不清空 classmap 映射关系的呢?
- AutoLISP series (3): function function 3
猜你喜欢
ByteDance Android gold, silver and four analysis, Android interview question app
![[designmode] facade patterns](/img/79/cde2c18e2ec8b08697662ac352ff90.png)
[designmode] facade patterns

Horizontal and vertical centering method and compatibility

Three. JS series (1): API structure diagram-1

Opencv configuration 2019vs

【DesignMode】外观模式 (facade patterns)

Personal notes of graphics (2)

Personal notes of graphics (1)

Imitate the choice of enterprise wechat conference room

Logback日志框架第三方jar包 免费获取
随机推荐
无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
Introduction to ThinkPHP URL routing
Sysom case analysis: where is the missing memory| Dragon lizard Technology
Unity3d click events added to 3D objects in the scene
记一次项目的迁移过程
Three. JS series (1): API structure diagram-1
Three. JS series (3): porting shaders in shadertoy
laravel中将session由文件保存改为数据库保存
AutoLISP series (1): function function 1
Multiplication in pytorch: mul (), multiply (), matmul (), mm (), MV (), dot ()
thinkphp3.2.3中设置路由,优化url
【Android -- 数据存储】使用 SQLite 存储数据
ATM system
【Vulnhub靶场】THALES:1
【DesignMode】外观模式 (facade patterns)
【MySql进阶】索引详解(一):索引数据页结构
HAVE FUN | “飞船计划”活动最新进展
JS中null NaN undefined这三个值有什么区别
AutoLISP series (3): function function 3
Personal notes of graphics (2)