当前位置:网站首页>最新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% 会问到)
- 你为什么会离开上家公司
- 你的缺点是什么?
- 你能给公司带来什么效益?
- 你对未来的职业规划?
文末
边栏推荐
- PHP realizes wechat applet face recognition and face brushing login function
- The differences between exit, exit (0), exit (1), exit ('0 '), exit ('1'), die and return in PHP
- thinkphp3.2.3中设置路由,优化url
- pycharm 终端部启用虚拟环境
- 无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
- Talk about the cloud deployment of local projects created by SAP IRPA studio
- Balanced binary tree (AVL)
- Introduction and use of gateway
- 记录Servlet学习时的一次乱码
- Personal notes of graphics (1)
猜你喜欢
随机推荐
Markdown formula editing tutorial
Introduction to ThinkPHP URL routing
AutoLISP series (2): function function 2
[hcsd celebrity live broadcast] teach the interview tips of big companies in person - brief notes
MySQL中, 如何查询某一天, 某一月, 某一年的数据
URL和URI的关系
Performance comparison of tidb for PostgreSQL and yugabytedb on sysbench
打造All-in-One应用开发平台,轻流树立无代码行业标杆
laravel构造函数和中间件执行顺序问题
prometheus api删除某个指定job的所有数据
Binary search tree (features)
【MySql进阶】索引详解(一):索引数据页结构
爬虫(17) - 面试(2) | 爬虫面试题库
Cesium (4): the reason why gltf model is very dark after loading
深度监听 数组深度监听 watch
Odoo integrated plausible embedded code monitoring platform
二叉搜索树(特性篇)
ORACLE进阶(六)ORACLE expdp/impdp详解
OpenGL personal notes
spark调优(三):持久化减少二次查询