面试试试试试试题-问

学了忘忘了学学了还得忘。

1. 数据结构

1.1 HashMap、ArrayList、LinkedList、堆、栈

1.1.1 ArrayList与LinkedList的区别
1.1.2 堆、栈是什么
1.1.3 怎么如果有2个数组的数据,怎么给它变成栈
1.1.4 选择

2. 语言

2.1. JAVA

2.1.1. JVM
2.1.2. 介绍一下java内存模型、gc生命周期、对双亲委托机制有什么理解

2.2. Kotlin

2.2.1. 怎么理解空安全检测

3. 多线程

3.1. 使用方式、状态切换、安卓主线程与子线程切换handler、同步/异步(aync、await)/并发编程、ThreadLocal、LooperThread
3.2. 异步,银行家等待资源拿完了又怎么办

4. 内存

4.1. 弱引用、每次GC弱引用都会被回收吗?no、虚引用、弱引用、软引用的区别

4.2. 内存泄漏

4.2.1. 表现、原理、怎么检测和分析、怎么避免、怎么线上检测和分析

5. 安卓

5.1. 进程启动流程

5.2. activity和fragment的区别

5.3. 事件分发原理

5.3.1. 手指触摸屏幕开始会经历什么,具体分发策略,nestedRecyclerView,怎么解决事件冲突,ACTION_CANCEL在什么情况下会花生

5.4. Handler

5.4.1 消息队列怎么work的
5.4.2. 一个APP只有一个MessageQueue吗

5.5. 自定义view

5.6. IPC

5.6.1. 常见IPC方式及aidl原理

5.7. SQLite

5.7.1. 使用步骤

6. 没听过的

Retrofit、hook、钩子

7. 多媒体&音视频

7.1. 音频长短焦点

7.1.1. 音频焦点策略,丢焦点和恢复时机,优先级

7.2. MediaPlayer

7.2.1. 创建流程、原理
7.2.2. 为什么一个MediaPlayer只能设置一个surface

7.3. ijkplayer

7.4. MediaCodec

7.4.1可以配置的参数

7.5. camera

使用和原理

7.6. ffmpeg

7.6.1. 使用流程调了哪些接口
7.6.2. 使用中有什么缺点

8. 设计

8.1. 面向对象编程

8.1.1 封装、继承、抽象
8.1.2. 优点、缺点、不使用它有什么不好的地方、继承有什么缺点、怎么解决,类膨胀怎么解决

8.2. MVC/MVVM/MVP

8.2.1 只是影响UI刷新吗?
8.2.2. 有什么区别

8.3. 设计模式

8.3.1. 讲一下常用的设计模式和应用场景

8.4. 低耦合

8.4.1. 什么时候需要解耦、解耦场景、举措

9. 性能

9.1 平时关注的性能指标有哪些

10. 跨端

10.1. 公司跨端借鉴的语法和开源的语法的区别,编译生成的产物有什么

11. 技术方案相关

11.1. 怎么在OS桌面上展示一个视频播放小窗

11.2. 保活

11.3. 图片预览时怎么处理大图加载

11.4. 视频录制到一半把进程杀了,怎么拿到已经保存到本地的数据

12. 其他

12.1 怎么做好一个软件,质量标准有哪些

13. 笔试题

13.1. 正则表达式

14. 项目

14.1. 挑一个参与感重或者有技术难点的项目讲讲,讲一下主要流程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值