Android 程序员的技术栈大全(1),中高级Android面试题目汇总解答
BufferedReader
InputStreamReader
FileReader
StringReader
PipedReader
CharArrayReader
FilterReader
PushbackReader
Writer
BufferedWriter
InputStreamWriter
FileWriter
PrintWriter
StringWriter
PipedWriter
CharArrayWriter
FilterWriter
集合框架
List
ArrayList
LinkedList
Stack
Vector
TreeList
Set
HashSet
LinkedHashSet
TreeSet
Map
HashMap
LinkedHashMap
WeakHashMap
TreeMap
Queue
PriorityQueue
ArrayDeque
并发包
ConcurrentHashMap
CopyOnWriteArrayList
CopyOnWriteArraySet
ArrayBlockingQueue
LinkedBlockingDeque
LinkedBlockingQueue
ConcurrentLinkedQueue
DelayQueue
JVM 虚拟机
class 字节码
class 字节码的构成
class 字节码指令
学习字节码对开发的指导意义
class 字节码执行
方法调用
方法调用指令
方法重载解析
动态分派
动态类型语言的支持
方法执行
局部变量表
操作数栈
动态连接
方法返回地址
对象的创建
对象的创建过程
对象的内存布局
对象的访问定位
类加载
类的加载时机
类的加载过程
类加载器
双亲委派机制
自定义类加载器
类加载器死锁问题
Class.forName VS ClassLoader.loadClass
JVM 内存区域
程序计数器
Java 虚拟机栈
本地方法栈
Java 堆
方法区
运行时常量池
垃圾回收
什么样的对象可以被回收
什么是 GC Root
垃圾回收算法
标记-清除算法
复制算法
标记整理算法
分代收集算法
常见的垃圾收集器
Serial 收集器
ParNew 收集器
Parallel Scavenge 收集器
Serial Old 收集器
CMS 收集器
Parallel Old 收集器
G1 收集器
ZGC
垃圾回收相关的内存池
Eden Space
Survivor Space
Old Gen
Metaspace
Compressed Class Space
Code Cache
JVM 内存模型
Kotlin
Kotlin 数据类型、访问修饰符
Kotlin 中的 Class 和 Interface
Lambda 表达式
定义 Lambda 表达式
Member Reference
常用函数 let、with、run、apply 分析
Lambda 原理分析
高阶函数
高阶函数的定义
高阶函数的原理分析
高阶函数的优化
Kotlin 泛型
Java 泛型:不变、协变、逆变
Kotlin 中的协变、逆变
Kotlin 泛型擦除和具体化
Kotlin 集合
Kotlin 集合创建方式有哪些
Kotlin 集合的常用的函数
Kotlin 集合 Sequence 原理
Kolint 操作符重载
算术操作符重载
比较操作符重载
集合相关的操作符重载
区间操作符重载
解构操作符重载
属性委托
Koltin 和 Java 交互的一些问题
Android 基础
四大组件
Activity
Service
ContentProvider
BroadcastReceiver
Activity 启动模式
standard
singleTop
singleTask
singleInstance
常用的布局控件
RecyclerView
ConstraintLayout
WebView
…
数据存储
SharedPreferences
File
SQLite
Realm
线程异步
Thread
AsyncTask
IntentService
线程池
IPC
IPC 方式
Bundle
文件共享
AIDL
Messager
ContentProvider
Socket
框架
Hermes
HermesEventBus
熟悉常用的开源框架
UI
UI 绘制流程及原理
事件的传递机制
自定义 View
屏幕适配
开源库
RxJava
OkHttp
Retrofit
Router
EventBus
Glide
Dagger
LeakCanary
SQLite
…
Android 虚拟机
Dalvik
ART
架构
程序架构
MVC
MVP
MVVM
Clean
Jetpack
设计模式
6 大设计原则
模板模式
观察者模式
单例模式
建造者模式
工厂模式
适配器模式
装饰器模式
代理模式
…
架构思想
概念
IoC 控制反转
DI 依赖注入
AOP 面向切面
开源方案
ASM
Javasisit
AspectJ
工具
APT
Gradle plugin
组件化
如何处理组件之间的代码边界
组件之间的 Router 路由
控制反转和依赖注入
如何管理拆分的 Module
插件化
发展历程
2014 年
Dynamic-load-apk
2015 年
OpenAltas
DroidPlugin
Small
2016 年
Zeus
2017 年
Atlas
RePlugin
VirtualAPK
2019 年
Qigsaw
Shadow
热修复
Native Hook
Dexposed
AndFix
HotFix
Java Multidex
QZone
QFix
Nuwa
RocooFix
Java Hook
Robust
Aceso
Dex Replace
Tinker
Amigo
混合/优化(商业收费)
Sophix
字节码技术
gradle plugin
全局的 bug 修复
日志统计
性能优化
安装包大小优化
启动优化(冷启动、暖启动、热启动)
耗电量优化
UI 性能优化
XML 布局优化
代码优化
网络优化
线上、线下全链路性能监控
NDK
C/C++
AndroidStudio NDK 开发
FFmpeg
跨平台
H5
Flutter
Weex
ReactNative
团队
如何提高整体的团队水平?
如何提高提高团队内代码质量?
如何提高团队积极性?
计算机技术
网络协议
- 关于 HTTPS 一篇文章就够了
数据结构与算法
数据结构与算法(十四)深入理解红黑树和 JDK TreeMap 和 TreeSet 源码分析
数据结构与算法(十三)平衡二叉树之 AVL 树
数据结构与算法(十二)并查集(Union Find)及时间复杂度分析
数据结构与算法(十一)Trie 字典树
数据结构与算法(十)线段树(Segment Tree)入门
数据结构与算法(九)Set 集合和 BinarySearchTree 的时间复杂度分析
数据结构与算法(八)二分搜索树(Binary Search Tree)
数据结构与算法(七)树和二叉树
数据结构与算法(六)二叉堆、优先队列和 Java PriorityQueue
数据结构与算法(五)深入理解递归
数据结构与算法(四)队列和 Java ArrayDeque 源码剖析
数据结构与算法(三)栈和 Java Stack 源码分析
数据结构与算法(二)线性表之链式存储和 LinkedList 实现
数据结构与算法(一)线性表之顺序存储和 ArrayList、Vector 源码剖析
Java
Java 基础
Java 反射技术详解
Java XML 解析方式汇总
Java ClassLoader 类加载器详解
Java 网络编程
Java 网络编程详解(一)
Java 网络编程详解(二)
JavaIO
Java I/O 流操作(一)System Properties Runtime 类
Java I/O 流操作(二)字节流与缓冲流
Java I/O 流操作(三)File 文件操作、PrintWriter、SequenceInputStream
Android 程序员的技术栈大全(1),中高级Android面试题目汇总解答相关推荐
- Android 程序员的技术栈大全
AndroidAll 项目地址:chiclaim/AndroidAll 简介: Android 程序员的技术栈大全 更多:作者 提 Bug 标签: 内容涵盖绝大部分 Android 程序员所需要 ...
- Android 程序员的技术栈大全,已整理成文档
计算机基础 协议 OSI 模型.TCP/IP 模型 HTTP / HTTP2 / HTTPS 操作系统 Unix / Linux Windows 数据结构与算法 Java Java 基础 面向对象思想 ...
- 这份程序员常用技术栈和工具清单,刷爆朋友圈……
基于Java的Web应用开发技术已成为目前Web开发的主流技术,作为一名Java程序员,到底要掌握什么技术才能完成一个JavaWeb项目呢? 小编和一位十年经历程序员要来这份Java程序员常用技术栈, ...
- Android程序员的技术要求和学习路线
转载自知乎上关于Android程序员技术等级标准的回答: 如上图所描述的技能要求,可分为下面几大模块: 通用知识 编程语言 Android 编码与设计 工具和方法 对应学习线路如下 书籍准备: 1.疯 ...
- 这份2021Java程序员常用技术栈和工具清单,刷爆了朋友圈...
点击上方蓝色字体,选择"标星公众号" 优质文章,第一时间送达 关注公众号后台回复pay或mall获取实战项目资料+视频 作为一枚Java程序员,需要掌握哪些技术和工具才能完成一个J ...
- c/c++程序员的技术栈
在当今的互联网时代, java, 安卓, ios, 大行其道,而c/c++却显得越来越落寞. 其实这并不是c/c++程序员本身的问题,而是这是一个产品快速响应市场的年代.用过c/c++的人都知道, ...
- 前端程序员开发技术栈(前端干货)
网上找的各种资料整理归纳成下面的表格,有需要的朋友们可以收藏一下 Web前端开发 浏览器 (直接百度下载使用就行) Internet Explorer(需要了解,需不需要看公司业务需求) Ch ...
- 程序员必看!2021最新京东Java面试题目附详细答案解析
前言 人人都想进大厂,当然我也不例外.早在春招的时候我就有向某某某大厂投岗了不少简历,可惜了,疫情期间都是远程面试,加上那时自身也有问题,导致屡投屡败.突然也意识到自己肚子里没啥货,问个啥都是卡卡卡卡 ...
- 近期想跳槽的程序员必看!2021最新京东Java面试题目
前言 JVM对实际简单开发的来说关联的还是不多,一般工作个一两年(当然不包括爱学习的及专门做性能优化的什么的),很少有人能很好的去学习及理解什么是JVM,以及弄清楚JVM的工作原理,其实我个人认为这块 ...
最新文章
- 1台电脑,3个月,没有任何数据支撑!我做出了行业一线标准的识别应用
- CloudStack 制作window模板
- JS正则表达式使用方法及示例
- python【蓝桥杯vip练习题库】PREV-52小数第n位(模拟)
- leetcode算法题--最佳买卖股票时机含冷冻期★
- mysql metadata lock(一)
- 人工智能技术结合制造业,是学术研究还是落地方案?!
- 十三、前端基本功:DOM练习
- 11. mysqli 学习
- JAVA入门级教学之(JAVA注释)
- “此网站使用的安全性配置已过时,这可能会导致您的信息(例如密码、消息或信用卡卡号)”
- 关于SQL中的两个问题的理解
- 毕设过程小记—同步带传动选型计算+张紧机构
- 邮件营销的5个关键数字
- JAVA怎么打开pkg_PKG文件在电脑上怎么打开!(普通PC)
- 解密拼多多800元裂变营销新方法
- apple watch怎么改铃声
- 【解决方案】macOS 打开微信视频电话其他应用音量变小问题
- 计算机开机的四个画面,教你修改电脑开机时“欢迎使用”四个字!
- matlab stem函数坐标轴_在MATLAB中可以设置坐标轴的函数详解
热门文章
- C#WinForm判断界面上多个TextBox控件的值是否为空
- Mac电脑优点是什么,缺点是什么?
- myeclipse登陆问题
- Thinkphp5 谷歌验证
- c语言程序输出s是什么,C语言中printf格式化输出函数
- Sencha学习笔记4: Creating your First App - 官方创建您的第一个Sencha Touch应用指导
- 《神经网络与深度学习》(Michael Nielsen)Neural Networks and Deep Learning习题解答汇总
- XYplorer 20.90.0900中文版 — 资源管理器
- 1、Mac如何剪切文件
- npoi word生成HTML,C# 使用NPOI生成Word文档(按照模板)