编程核心
数据结构、算法(排序、查找、二叉树、深度/广度)、设计模式
Java部分
面向对象、集合、线程(同步、锁)池、反射、异常、JVM等
Android部分
Android基础:ABCS四大组件(生命周期,使用场景,如何启动)、Fragment、Android SDK等
Android UI:布局、View以及自定义View(UI绘制)、动画、资源等
数据持久化:SharedPreferences、File(内部、外部存储)、Sqlite/ContentProvider
通信:Http、Socket、Bluetooth(没接触过的:NFC、USB、Headset)
进程:Android中的进程优先级(前台进程、可见、服务、后台、空)、进程间通信(Binder)
机制:Touch事件分发机制、Handler机制、Android的动画机制、内存管理机制、垃圾回收机制、Binder机制
多线程应用:继承Thread类、实现Runnable接口、Handler、HandlerThread、AsyncTask
异步消息处理:Handler、HandlerThread、AsyncTask、IntentService、RxJava
App架构:MVC / MVP / MVVP
框架选型:异步框架、网络框架、图片框架、
开源框架:RxJava、Retrofit+OkHttp3、Gilde、热修复等
第三方库:包括推送,定位,统计,图表等
优化:布局优化、内存优化(没接触过的:电池优化、流量优化)
适配:布局、图片、屏幕、sdk
NDK:JNI没写过C代码
手机功能:电话(联系人、拨号界面、通话记录等)、短/彩信、相机、音频、SD卡、感应器(旋转、重力、压力、陀螺仪等)
Android进阶部分
Framework源码以及开源框架源码分析
热修复、插件化、组件化、模块化(目前知道它们是啥,并能说出来就行了)
Flutter、Kotlin
计算机网络部分
四层网络模型,三次握手&四次挥手,请求头&响应头,Socket&WebSocket
数据库
1.SQlite创建过程;
2.sql语句运用,增删改查,左右连接,分组,排序;
3.SQlite是否支持事务,如何优化。