Android 核心名词手册跟读版

前言

Android 面试经常会出现大量英文专业名词,很多同学看得懂、写得出,但是面试口述的时候容易读错、解释不清,这样真的十分掉价。本文整理 Android 面试高频名词,包含音标、释义、面试考点说明,覆盖 Java、Kotlin、Dart、Android SDK、Framework、性能优化、网络、架构、跨端、热修复等方向,适合面试复习、博客收藏。


一、Java 基础 & JVM & 并发

名词 音标 释义&面试解释
JDK /ˌdʒeɪ diː ˈkeɪ/ Java Development Kit,Java开发工具包,包含JRE、编译器、调试工具
JRE /ˌdʒeɪ ɑːr ˈiː/ Java Runtime Environment,Java运行环境,JVM + 基础类库
JVM /ˌdʒeɪ viː ˈem/ Java Virtual Machine,Java虚拟机,执行class字节码,实现跨平台
Bytecode /ˈbaɪtkoʊd/ 字节码,javac编译源码生成,JVM识别的中间代码
ClassLoader /ˈklɑːsloʊdər/ 类加载器,负责加载class字节码,核心考点:双亲委派模型
Parent Delegation Model /ˈperənt ˌdelɪˈɡeɪʃn ˈmɑːdl/ 双亲委派模型,类加载安全机制,防止核心类被篡改
Heap /hiːp/ 堆,JVM内存区域,存放对象实例,GC主要回收区域
Stack /stæk/ 虚拟机栈,存放局部变量、方法帧,方法调用入栈出栈
Method Area /ˈmeθəd ˈeriə/ 方法区,JDK8之后被Metaspace替代,存放类信息、常量、静态变量
Metaspace /ˈmetəspeɪs/ 元空间,JDK8替代永久代,使用本地内存,不在堆内
GC (Garbage Collection) /ˈɡɑːrbɪdʒ kəˈlekʃn/ 垃圾回收,自动回收无引用对象内存
GC Root /ˈɡɑːrbɪdʒ ruːt/ GC根,可达性分析起点,从根不可达对象判定为垃圾
Mark-Sweep /mɑːrk swiːp/ 标记清除算法,先标记再清除,缺点:产生内存碎片
Copying /ˈkɑːpiɪŋ/ 复制算法,存活对象复制到新区域,无碎片,占用双倍空间
Mark-Compact /mɑːrk ˈkɑːmpækt/ 标记整理,标记后压缩存活对象,消除碎片
Generational Collection /ˌdʒenəˈreɪʃnl kəˈlekʃn/ 分代收集,年轻代、老年代使用不同回收策略
Young Generation /jʌŋ ˌdʒenəˈreɪʃn/ 年轻代:Eden + S0 + S1,对象大多朝生夕灭
Old Generation /oʊld ˌdʒenəˈreɪʃn/ 老年代,长期存活、大对象,回收频率低
Minor GC /ˈmaɪnər ˌdʒiː siː/ 年轻代GC,速度快、触发频繁
Major GC / Full GC /ˈmeɪdʒər ˌdʒiː siː / fʊl ˌdʒiː siː/ 老年代GC / 全堆GC,耗时高,开发尽量避免
CMS /ˌsiː em ˈes/ Concurrent Mark Sweep,并发标记清除,低停顿老年代收集器,存在碎片问题
G1 (Garbage-First) /ˈɡɑːrbɪdʒ fɜːrst/ G1收集器,分区堆,可预测停顿,JDK9默认
ZGC /ˌziː dʒiː ˈsiː/ Z Garbage Collector,超低延迟GC,适合大堆场景
Reference /ˈrefrəns/ 引用,Java包含四种引用类型
Strong Reference /strɔːŋ ˈrefrəns/ 强引用,默认引用,GC不会回收
Soft Reference /sɔːft ˈrefrəns/ 软引用,内存不足时回收,适合缓存场景
Weak Reference /wiːk ˈrefrəns/ 弱引用,下一次GC一定会回收,典型:WeakHashMap
Phantom Reference /ˈfæntəm ˈrefrəns/ 虚引用,仅用于对象回收追踪,无法获取对象
Synchronized /ˈsɪŋkrənaɪzd/ 内置锁,支持偏向锁、轻量级锁、重量级锁升级
Lock /lɑːk/ JUC显式锁,代表实现 ReentrantLock
ReentrantLock /riːˈentrənt lɑːk/ 可重入锁,支持公平/非公平、可中断、条件变量
Volatile /ˈvɑːlətl/ 关键字,保证可见性、禁止指令重排,不保证原子性
CAS /ˌsiː eɪ ˈes/ Compare And Swap,比较并交换,无锁乐观操作,存在ABA问题
ABA Problem /ˌeɪ biː ˈeɪ ˈprɑːbləm/ ABA问题,CAS识别对象中间修改,可用版本号解决
Thread /θred/ 线程,操作系统最小调度单元
Process /ˈprɑːses/ 进程,资源分配最小单元,内存隔离
Concurrency /kənˈkɜːrənsi/ 并发,同一时间段交替执行
Parallelism /ˈpærəlelɪzəm/ 并行,同一时刻多核同时执行
ThreadPool /ˈθruːdpuːl/ 线程池,复用线程,避免频繁创建销毁
JUC /ˌdʒeɪ juː ˈsiː/ java.util.concurrent,Java并发工具包
Deadlock /ˈdedlɑːk/ 死锁,多个线程循环等待对方持有的锁
Livelock /ˈlaɪvlɑːk/ 活锁,线程反复重试,无法推进,没有阻塞
Starvation /stɑːrˈveɪʃn/ 饥饿,线程长期拿不到资源无法执行
Atomic /əˈtɑːmɪk/ 原子性,操作不可拆分,要么全部成功要么失败
Visibility /ˌvɪzəˈbɪləti/ 可见性,一个线程修改对其他线程立即可见
Ordering /ˈɔːrdərɪŋ/ 有序性,禁止指令重排序
Inner Class /ˈɪnər klæs/ 内部类:成员内部、静态内部、局部、匿名内部类
Polymorphism /ˌpɑːliˈmɔːrfɪzəm/ 多态,继承 + 重写 + 父类引用指向子类
Encapsulation /ɪnˌkæpsjuˈleɪʃn/ 封装,隐藏内部实现,对外暴露接口
Inheritance /ɪnˈherɪtəns/ 继承,复用父类代码,Java只支持单继承
Overload /ˌoʊvərˈloʊd/ 重载,同类中方法名相同、参数不同
Override /ˌoʊvərˈraɪd/ 重写,子类重写父类方法
Interface /ˈɪntərfeɪs/ 接口,抽象契约,Java8支持default方法
Abstract Class /ˈæbstrækt klæs/ 抽象类,可包含抽象与普通方法,拥有构造器
Generic /dʒəˈnerɪk/ 泛型,编译期类型检查,存在类型擦除
Type Erasure /taɪp ɪˈreɪʒər/ 类型擦除,泛型信息编译后被抹除
Reflection /rɪˈflekʃn/ 反射,运行时获取类信息、调用方法,开销大
Annotation /ˌænəˈteɪʃn/ 注解,元数据,编译期/运行期处理
Exception /ɪkˈsepʃn/ 异常
Checked Exception /tʃekt ɪkˈsepʃn/ 受检异常,必须catch或throws声明
Unchecked Exception /ʌnˈtʃekt ɪkˈsepʃn/ 非受检异常,RuntimeException,无需声明
Serializable /ˌseriəˈlaɪzəbl/ 序列化,对象转字节流
Deserialization /ˌdiːseriəlaɪˈzeɪʃn/ 反序列化,字节流转回对象
HashMap /hæʃ mæp/ 哈希表,数组+链表+红黑树,JDK8链表长度>8转红黑树
HashTable /hæʃ ˈteɪbl/ 线程安全哈希表,方法加synchronized,效率低
ConcurrentHashMap /kənˈkɜːrənt hæʃ mæp/ 并发哈希Map,JDK7分段锁、JDK8 CAS+sync
ArrayList /əˈreɪlɪst/ 数组列表,随机访问快,插入删除慢
LinkedList /ˈlɪŋkt lɪst/ 双向链表,随机访问慢,头尾插入性能好
BlockingQueue /ˈblɑːkɪŋ kjuː/ 阻塞队列,线程池核心组件,满/空时阻塞
ForkJoin /fɔːrk dʒɔɪn/ 分治线程框架,任务拆分合并,工作窃取
Work Stealing /wɜːrk ˈstiːlɪŋ/ 工作窃取,空闲线程偷取其他线程队列任务

二、Kotlin 高频面试

名词 音标 释义&面试解释
Kotlin /ˈkɑːtlɪn/ JetBrains开发,Android官方首选语言,兼容Java
Null Safety /nʌl ˈseɪfti/ 空安全,编译期管控空指针,?可空、!!非空断言
Nullable Type /ˈnʌləbl taɪp/ 可空类型,类型后带?
Non-Null Type /nɑːn nʌl taɪp/ 非空类型,Kotlin默认不可为null
Smart Cast /smɑːrt kæst/ 智能类型转换,is判断后自动转型
Data Class /ˈdeɪtə klæs/ 数据类,自动生成equals、hashCode、toString、copy
Sealed Class /siːld klæs/ 密封类,受限继承,子类只能同文件,适合状态管理
Enum Class /ɪˈnʌm klæs/ 枚举类
Object /ˈɑːbdʒekt/ object关键字:单例、伴生对象
Companion Object /kəmˈpæniən ˈɑːbdʒekt/ 伴生对象,替代Java静态成员
Extension Function /ɪkˈstenʃn ˈfʌŋkʃn/ 扩展函数,不修改源码给类新增方法,静态解析
Lambda /ˈlæmdə/ Lambda表达式,匿名函数,函数式编程
Higher-Order Function /ˈhaɪər ˈɔːrdər ˈfʌŋkʃn/ 高阶函数,参数或返回值是函数
Inline Function /ˈɪnlaɪn ˈfʌŋkʃn/ 内联函数,编译时拷贝代码到调用处,减少函数开销
Crossinline /ˈkrɔːsɪnlaɪn/ 禁止lambda被非内联函数捕获
Noinline /noʊˈɪnlaɪn/ 标记lambda不内联
Reified /ˈriːɪfaɪd/ 具体化泛型,内联函数中获取泛型T,突破类型擦除
Coroutine /ˌkɔːrəˈtiːn/ 协程,轻量级线程,用户态调度,suspend挂起
Suspend Function /səˈspend ˈfʌŋkʃn/ 挂起函数,只能在协程内调用,不阻塞线程
Continuation /kənˌtɪnjuˈeɪʃn/ 续体,挂起后保存上下文,用于恢复执行
Dispatcher /dɪˈspætʃər/ 调度器,指定协程执行线程:Main、IO、Default、Unconfined
Job /dʒɑːb/ 协程任务句柄,支持取消、等待
Deferred /dɪˈfɜːrd/ 带返回值Job,await()等待结果
Scope /skoʊp/ 协程作用域,管理协程生命周期:GlobalScope、lifecycleScope、viewModelScope
Flow /floʊ/ 冷流,数据流,上游不发送则不工作,支持背压
StateFlow /steɪt floʊ/ 热流,持有最新值,粘性,常用来替代LiveData
SharedFlow /ʃerd floʊ/ 热流,多播,可配置重播数,无默认值
Backpressure /ˈbækpreʃər/ 背压,生产速度大于消费速度,Flow自带处理策略
Modifier /ˈmɑːdɪfaɪər/ Kotlin修饰符:public/private/protected/internal,internal同模块可见
Delegation /ˌdelɪˈɡeɪʃn/ 委托,by关键字,类委托、属性委托
Lazy /ˈleɪzi/ 延迟初始化委托,懒加载,首次访问才初始化
Lateinit /leɪt ˈɪnɪt/ 延迟初始化var,非空引用类型,初始化前访问抛异常
Property Delegate /ˈprɑːpərti ˈdelɪɡeɪt/ 属性委托,把get/set交给第三方类
Infix /ˈɪnfɪks/ 中缀表达式,单个参数函数,可以省略点和括号
Operator Overloading /ˈɑːpəreɪtər ˌoʊvərˈloʊdɪŋ/ 运算符重载,operator关键字
Destructuring Declaration /ˌdiːˈstrʌktʃərɪŋ ˌdekləˈreɪʃn/ 解构声明,对象字段批量赋值变量

三、Dart & Flutter 面试

名词 音标 释义&面试解释
Dart /dɑːrt/ Dart语言,谷歌开发,Flutter原生语言
JIT /ˌdʒeɪ aɪ ˈtiː/ Just In Time,即时编译,开发期支持热重载
AOT /ˌeɪ oʊ ˈtiː/ Ahead Of Time,提前编译,发布编译成机器码,高性能
Hot Reload /hɑːt ˌriːˈloʊd/ 热重载,修改代码不用重启App,注入更新
Hot Restart /hɑːt ˌriːˈstɑːrt/ 热重启,重建整个App状态,比重载彻底
Isolate /ˈaɪsəleɪt/ 隔离区,Dart并发单元,不共享内存,通过Port通信
Event Loop /ɪˈvent luːp/ 事件循环,Dart单线程模型,Microtask队列、Event队列
Microtask /ˈmaɪkroʊtæsk/ 微任务队列,优先级高于普通事件队列
Future /ˈfjuːtʃər/ 异步任务,代表未来完成结果,单次回调
Stream /striːm/ 流,异步序列,持续多个数据,分单订阅/多订阅
Async/Await /əˈsɪŋk əˈweɪt/ 异步语法糖,基于Future,同步写法写异步
Const /kɑːnst/ 编译期常量,对象不可变,相同const复用实例
Final /ˈfaɪnl/ 运行期常量,变量只能赋值一次,对象本身可变
Factory Constructor /ˈfæktri kənˈstrʌktər/ 工厂构造函数,可以返回缓存实例、子类
Redirecting Constructor /ˌriːdəˈrektɪŋ kənˈstrʌktər/ 重定向构造,调用本类其他构造器
Mixin /ˈmɪksɪn/ 混入,复用代码,with关键字,解决多继承痛点
Generics /dʒəˈnerɪks/ Dart泛型,运行时保留泛型信息,和Java类型擦除不一样
Null Safety(Dart2.12+) /nʌl ˈseɪfti/ Dart空安全,可空?、late、required
Late /leɪt/ 延迟初始化,告诉编译器变量后续一定会赋值
Typedef /ˈtaɪpdɛf/ 类型别名,给函数类型起名字

四、Android SDK & Jetpack & UI

名词 音标 释义&面试解释
Android /ˈændrɔɪd/ 安卓
APK /ˌeɪ piː ˈkeɪ/ Android Package,安卓安装包
AAB /ˌeɪ eɪ ˈbiː/ Android App Bundle,Google发布包,动态拆分资源
Manifest /ˈmænɪfest/ AndroidManifest.xml,清单文件,声明组件、权限
Activity /ækˈtɪvəti/ 页面组件,用户交互窗口,生命周期、任务栈管理
Service /ˈsɜːrvɪs/ 服务,后台执行任务,无UI
BroadcastReceiver /ˈbrɔːdkæst rɪˈsiːvər/ 广播接收器,接收系统/自定义广播事件
ContentProvider /ˈkɑːntent prəˈvaɪdər/ 内容提供者,跨进程共享数据组件
Intent /ɪnˈtent/ 意图,组件间通信载体,显式/隐式Intent
IntentFilter /ɪnˈtent fɪltər/ 意图过滤器,匹配隐式Intent
Task /tæsk/ 任务栈,Activity后进先出栈
Lifecycle /ˈlaɪfsaɪkl/ 生命周期,组件从创建到销毁回调
ViewModel /ˈvjuːmɑːdl/ 视图模型,生命周期独立于配置变更,保存页面数据
LiveData /laɪv ˈdeɪtə/ 可观察数据持有者,生命周期感知,自动防泄漏
Room /ruːm/ Jetpack ORM数据库框架,SQLite封装,编译期校验SQL
WorkManager /ˈwɜːrkˌmænɪdʒər/ 任务调度,兼容各版本,适合约束型后台任务
Navigation /ˌnævɪˈɡeɪʃn/ Navigation组件,单Activity架构,路由管理
DataBinding /ˈdeɪtəˌbaɪndɪŋ/ 数据绑定,xml绑定变量,支持表达式
ViewBinding /vjuː ˈbaɪndɪŋ/ 视图绑定,轻量,自动生成绑定类,无表达式
RecyclerView /ˌriːˈsaɪklər vjuː/ 复用列表,ViewHolder回收复用,高性能列表
ViewHolder /vjuː ˈhoʊldər/ 视图持有者,缓存item view,避免频繁inflate
LayoutManager /ˈleɪaʊt ˈmænɪdʒər/ 布局管理器,控制RecyclerView排列:线性、网格、瀑布流
Adapter /əˈdæptər/ 适配器,数据源和视图中间层
View /vjuː/ 视图,UI基础单元,绘制、事件分发
ViewGroup /vjuː ɡruːp/ 视图组,View子类,可以包含子View(布局容器)
Measure /ˈmeʒər/ 测量,onMeasure,计算View宽高
Layout /ˈleɪaʊt/ 布局,onLayout,确定子View位置
Draw /drɔː/ 绘制,onDraw,Canvas绘制内容
Event Dispatch /ɪˈvent dɪˈspætʃ/ 事件分发:dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent
Touch Slop /tʌtʃ slɑːp/ 触摸阈值,系统最小滑动距离,区分点击和滑动
VelocityTracker /vəˈlɑːsəti ˈtrækər/ 速度追踪,获取滑动速率,用于Fling
Scroller /ˈskroʊlər/ 滚动计算器,平滑滚动辅助,不自己移动View
Choreographer /ˌkɔːriˈɑːɡrəfər/ 编舞师,接收VSync信号,驱动UI绘制
VSync /ˌviː sɪŋk/ Vertical Synchronization,垂直同步,屏幕刷新信号
Surface /ˈsɜːrfɪs/ Surface,绘图缓冲区,独立于View,视频/相机渲染
SurfaceView /ˈsɜːrfɪs vjuː/ SurfaceView,Surface+View,双缓冲,适合视频
TextureView /ˈtekstʃər vjuː/ 纹理View,Surface内容渲染到纹理,可以做变换动画
Canvas /ˈkænvəs/ 画布,绘图对象
Paint /peɪnt/ 画笔,颜色、样式、抗锯齿
Matrix /ˈmeɪtrɪks/ 矩阵,图形变换:平移缩放旋转倾斜
Bitmap /ˈbɪtmæp/ 位图,像素图片,内存大户,OOM重灾区
Drawable /drɔːəbl/ 可绘制对象,shape、图片、矢量图等抽象绘图资源
Vector Drawable /ˈvektər drɔːbl/ 矢量图,xml路径,无损缩放
Density /ˈdensəti/ 屏幕密度,dpi
DPI /ˌdiː piː ˈaɪ/ Dot Per Inch,每英寸像素点
DP / Dip /ˌdiː ˈpiː / dɪp/ Density-independent pixel,密度无关像素,适配核心单位
SP /ˌes ˈpiː/ Scale-independent pixel,字体单位,跟随系统字体缩放
PX /ˌpiː ˈeks/ Pixel,屏幕真实像素点
Configuration /kənˌfɪɡjəˈreɪʃn/ 配置变更:横竖屏、语言、字体大小,默认重建Activity
SavedStateHandle /seɪvd steɪt ˈhændl/ 保存状态句柄,ViewModel保存跨重建临时数据
Permission /pərˈmɪʃn/ 权限,普通权限、危险权限、特殊权限
Runtime Permission /ˈrʌntaɪm pərˈmɪʃn/ 运行时权限,Android6+危险权限动态申请
Foreground Service /ˈfɔːrɡraʊnd ˈsɜːrvɪs/ 前台服务,常驻通知栏,优先级高不容易被杀
Background Restriction /ˈbækɡraʊnd rɪˈstrɪkʃn/ 后台限制,高版本Android严控后台,省电策略

五、Android Framework & 底层 IPC

名词 音标 释义&面试解释
Zygote /ˈzaɪɡoʊt/ 孵化器进程,Android第一个用户进程,孵化App进程,预加载类
SystemServer /ˈsɪstəm ˈsɜːrvər/ 系统服务进程,运行AMS、WMS、PMS等核心系统服务
AMS /ˌeɪ em ˈes/ ActivityManagerService,Activity管理、任务栈、进程调度
WMS /ˌdʌbljuː em ˈes/ WindowManagerService,窗口管理、Z序、输入法、分屏
PMS /ˌpiː em ˈes/ PackageManagerService,包管理,解析APK、权限、安装卸载
IMS /ˌaɪ em ˈes/ InputManagerService,输入事件管理,触摸按键分发
SurfaceFlinger /ˈsɜːrfɪs flɪŋər/ 合成服务,接收各个Surface,合成送屏幕显示
Binder /ˈbaɪndər/ Android IPC核心驱动,C/S模型,内存映射mmap
IPC /ˌaɪ piː ˈsiː/ Inter-Process Communication,跨进程通信
MMAP /mæp/ Memory Map,内存映射,Binder零拷贝关键
Parcel /ˈpɑːrsl/ 序列化载体,Android跨进程数据载体
Parcelable /ˈpɑːrsləbl/ Parcel序列化接口,Android原生序列化,效率高于Serializable
AIDL /ˌeɪ aɪ diː ˈel/ Android Interface Definition Language,Binder接口定义语言
Messenger /ˈmesɪndʒər/ 基于Binder封装,串行消息IPC,简单,不支持并发
SharedMemory /ʃerd ˈmeməri/ 共享内存,高性能IPC,无拷贝,同步需要自己处理
Process State /ˈprɑːses steɪt/ 进程优先级:前台、可见、服务、缓存、空进程,LMK杀进程
LMK /ˌel em ˈkeɪ/ Low Memory Killer,低内存杀手,根据OOM adj杀进程释放内存
OOM Adj /ˌoʊ em ˈædʒ/ 内存优先级分值,数值越大越容易被杀
ART /ˌeɪ ɑːr ˈtiː/ Android Runtime,Android5+运行时,替代Dalvik,AOT/JIT混合编译
Dalvik /ˈdælvɪk/ 旧安卓虚拟机,寄存器虚拟机,执行dex字节码
DEX /dɛks/ Dalvik Executable,dex文件,ART/Dalvik执行文件
ODEX / VDEX /ˈoʊdɛks / ˈviːdɛks/ 优化dex,提前提取校验信息加快加载
PathClassLoader /pæθ ˈklɑːsloʊdər/ 默认App类加载器,只能加载已安装APK
DexClassLoader /ˈdɛks klɑːsloʊdər/ 加载外部dex,插件化、热修复常用
App Startup /æp ˈstɑːrtʌp/ Jetpack启动库,管控初始化依赖,优化启动速度
ANR /ˌeɪ en ˈɑːr/ Application Not Responding,应用无响应,主线程阻塞超时触发
Main Thread / UI Thread /meɪn θred / ˌjuː ˈaɪ θred/ 主线程/UI线程,只能UI操作,禁止耗时任务
Handler /ˈhændlər/ 消息机制,线程间通信,Message、MessageQueue、Looper
Looper /ˈluːpər/ 循环器,无限循环取MessageQueue消息分发
MessageQueue /ˈmesɪndʒər kjuː/ 消息队列,单链表,按when时间排序
Message /ˈmesɪdʒ/ 消息对象,what、obj、arg1、arg2,池化复用
ThreadLocal /θred ˈloʊkl/ 线程本地存储,每个线程独立副本,Handler底层存Looper
IdleHandler /ˈaɪdl ˈhændlər/ 空闲消息,队列无任务时执行,适合延迟轻量任务

六、性能优化 & 内存 & 编译打包

名词 音标 释义&面试解释
Memory Leak /ˈmeməri liːk/ 内存泄漏,对象不再使用但GC无法回收
Shallow Memory /ˈʃæloʊ ˈmeməri/ 浅内存,对象本身占用内存
Retained Memory /rɪˈteɪnd ˈmeməri/ 保留内存,对象+所有引用子对象总内存
Heap Dump /hiːp dʌmp/ 堆快照,内存分析文件,MAT/Profiler
MAT /ˌem eɪ ˈtiː/ Memory Analyzer Tool,Eclipse内存分析工具
OOM /ˌoʊ oʊ ˈem/ Out Of Memory,内存溢出,堆空间耗尽分配失败
Jank /dʒæŋk/ 卡顿,掉帧,UI绘制耗时超过一帧预算
Frame Rate /freɪm reɪt/ 帧率
Frame Drop /freɪm drɑːp/ 掉帧
Systrace /ˈsɪstreɪs/ 系统追踪,性能工具,看线程、绘制、锁、IO耗时
Perfetto /pɜːrˈfɛtoʊ/ 新一代性能追踪,替代Systrace
Profiler /ˈproʊfaɪlər/ 性能剖析器,AS内置CPU、内存、网络
TraceView /treɪs vjuː/ 方法耗时追踪工具
StrictMode /strɪkt moʊd/ 严苛模式,检测主线程IO、内存泄漏违规
Baseline Profile /ˈbeɪslaɪn ˈproʊfaɪl/ 基线配置文件,ART提前编译热点路径,提升启动速度
R8 /ɑːr eɪt/ 代码压缩混淆器, shrink、obfuscate、optimize,替代Proguard
ProGuard /ˈproʊɡɑːrd/ 旧混淆工具,压缩、混淆、优化
Shrink /ʃrɪŋk/ 代码/资源缩减,删除未引用代码资源
Obfuscate /ˈɑːbfəskeɪt/ 混淆,重命名类、方法名,增加逆向难度
Lint /lɪnt/ 静态代码检查工具,发现代码隐患、规范问题
Dynamic Feature Module /daɪˈnæmɪk ˈfiːtʃər ˈmɑːdʒuːl/ 动态特性模块,Google Play按需模块化

七、网络 & 序列化

名词 音标 释义&面试解释
HTTP /ˌeɪtʃ tiː tiː ˈpiː/ HyperText Transfer Protocol,超文本传输协议
HTTPS /ˌeɪtʃ tiː tiː piː ˈes/ HTTP+TLS,加密传输
TLS /ˌtiː el ˈes/ 传输层安全协议
TCP /ˌtiː siː ˈpiː/ 传输控制协议,面向连接、可靠、有序
UDP /ˌjuː diː ˈpiː/ 用户数据报协议,无连接,不可靠,速度快
OkHttp /oʊk eɪtʃ ˌtiː tiː piː/ 安卓主流网络库,连接池、拦截器、缓存
Retrofit /ˈretrəfɪt/ 基于OkHttp封装,注解式网络请求框架
Interceptor /ˌɪntərˈseptər/ 拦截器,请求响应拦截,日志、签名、Token
Connection Pool /kəˈnekʃn puːl/ 连接池,复用TCP连接,减少握手开销
DNS /ˌdiː en ˈes/ 域名解析
WebSocket /ˈweb sɑːkɪt/ 长连接,双向实时通信
RESTful /rɛstfəl/ REST风格接口,资源为中心,GET/POST/PUT/DELETE
JSON /ˈdʒeɪsən/ JavaScript Object Notation,轻量文本序列化
Gson /dʒiː sɑːn/ 谷歌JSON解析库
Moshi /ˈmoʊʃi/ Square JSON库,Kotlin友好
ProtoBuf /ˈproʊtəʊ bʌf/ Protocol Buffer,二进制序列化,体积小、速度快
FlatBuffer /flæt ˈbʌfər/ 谷歌二进制序列化,无需解析直接访问,适合游戏视频

八、架构 & 设计模式 & DI

名词 音标 释义&面试解释
MVC /ˌem viː ˈsiː/ Model-View-Controller,模型视图控制器,Android容易耦合
MVP /ˌem viː ˈpiː/ Model-View-Presenter,Presenter解耦View和Model,接口多
MVVM /ˌem viː viː ˈem/ Model-View-ViewModel,数据驱动,Jetpack主推
Clean Architecture /kliːn ˈɑːrkɪtektʃər/ 整洁架构,依赖向内,外层依赖内层
Repository /rɪˈpɑːzətɔːri/ 仓库层,统一数据源入口(本地+远程)
Single Source of Truth /ˈsɪŋɡl sɔːrs əv truːθ/ 单一可信源,UI只观察本地仓库数据
SOLID /ˈsɑːlɪd/ 面向对象五大设计原则
SRP /ˌes ɑːr ˈpiː/ Single Responsibility 单一职责
OCP /ˌoʊ siː ˈpiː/ Open Closed 开闭原则
LSP /ˌel es ˈpiː/ Liskov Substitution 里氏替换
ISP /ˌaɪ es ˈpiː/ Interface Segregation 接口隔离
DIP /ˌdiː aɪ ˈpiː/ Dependency Inversion 依赖倒置
Design Pattern /dɪˈzaɪn ˈpætərn/ 设计模式
Singleton /ˈsɪŋɡəltən/ 单例模式
Builder /ˈbɪldər/ 建造者模式
Factory /ˈfæktri/ 工厂模式(简单、工厂方法、抽象工厂)
Observer /əbˈzɜːrvər/ 观察者模式
Strategy /ˈstrætədʒi/ 策略模式
Decorator /ˈdekəreɪtər/ 装饰器模式
Adapter Pattern /əˈdæptər ˈpætərn/ 适配器模式
Chain of Responsibility /tʃeɪn əv rɪˌspɑːnsəˈbɪləti/ 责任链(OkHttp拦截器就是典型)
Dependency Injection /dɪˈpendənsi ɪnˈdʒekʃn/ 依赖注入DI
Dagger / Hilt /ˈdæɡər / hɪlt/ Dagger编译期DI,Hilt是Dagger Android封装

九、数据结构 & 算法基础

名词 音标 释义&面试解释
Time Complexity /taɪm kəmˈpleksəti/ 时间复杂度 O notation
Space Complexity /speɪs kəmˈpleksəti/ 空间复杂度
Linked List /ˈlɪŋkt lɪst/ 链表
Binary Tree /ˈbaɪnəri triː/ 二叉树
BST /ˌbiː es ˈtiː/ Binary Search Tree 二叉搜索树
AVL Tree /ˌeɪ viː ˈel triː/ 平衡二叉搜索树
Red-Black Tree /rɛd blæk triː/ 红黑树,HashMap底层
Hash Table /hæʃ ˈteɪbl/ 哈希表
Hash Collision /hæʃ kəˈlɪʒn/ 哈希冲突
Queue /kjuː/ 队列 FIFO
Graph /ɡræf/ 图
Context Switch /ˈkɑːntekst swɪtʃ/ 上下文切换,线程切换开销

十、插件化、热修复、跨端

名词 音标 释义&面试解释
Pluginization /ˌplʌɡɪnaɪˈzeɪʃn/ 插件化,运行加载未安装APK
HotFix /hɑːt fɪks/ 热修复,线上修复bug,无需发版
Tinker /ˈtɪŋkər/ 微信Tinker,差分包热更新
Flutter /ˈflʌtər/ 谷歌跨端UI框架,Dart,自绘引擎Skia/Impeller
Skia /ˈskiːə/ 2D图形渲染引擎,Flutter、Android原生绘制引擎
Impeller /ɪmˈpelər/ Flutter新一代渲染器,预编译着色器,减少卡顿
React Native /riˈækt ˈneɪtɪv/ RN跨端,JS桥调用原生
JS Bridge /ˌdʒeɪ es brɪdʒ/ JS桥,H5和原生通信

结语

面试的时候,面试官不仅会问你这个名词是什么,也会让你口头解释

建议:先读准发音,再理解原理,最后用自己的话复述

本文持续更新,适合 Android 初级、中级、高级工程师面试复习

相关推荐
snysy1 小时前
WordPress伪静态404故障排查笔记
android·笔记·wordpress
zhangphil1 小时前
海量小文件造成Android存储碎片化与I/O变慢
android
Kapaseker1 小时前
Kotlin 2.5 Value Class 终于能放多个属性了
android·kotlin
恋猫de小郭1 小时前
Flutter Android 性能修复:8 个大核的手机,Raster 居然只跑在 2 个核上?
android·flutter
传奇开心果编程14 小时前
【Jetpack Compose娓娓道来】第29课:状态容器与UI事件建模——把“散装状态”变成“可穷举的契约”
android·kotlin·移动开发·android jetpack·ui框架·开发范式·声明式ui
五彩小白15 小时前
喵呜打卡项目总结
android·团队开发
古法安卓17 小时前
Android-GPU压测工具
android·java·android studio
xcLeigh19 小时前
KingbaseES数据库教程:初识数据库,从安装到跑通第一条SQL
android·数据库·sql·安装·数据库教程·kes
TimeFine1 天前
AI 编码工作流的设计(二)
android·ai编程