一、Java
1.1 操作系统相关
- 什么是操作系统?
- 什么是线程,什么是进程?
1.2 JDK&JVM&JRE
- JDK & JVM & JRE分别是什么以及它们的区别?
- 解释一下为什么Java可以跨平台?
1.3 面向过程 & 面向对象
- 什么是面向过程 & 什么是面向对象 & 区别?
- 给我说说Java面向对象的特征以及讲讲你代码中凸显这些特征的经验。
- 什么是重载 & 什么是重写 & 区别。
- 谈谈你对this和super的认识。
- 接口和抽象类的区别。
- 静态属性和静态方法能被继承吗?静态方法又是否能被重写呢?
- 给我说说权限修饰符特性。
- 给我谈谈Java中的内部类。
- static关键字的作用?
- final关键字的作用?
1.4 八大基本数据类型&引用类型
- 说说Java中的8大基本类型 & 内存中占有的字节 & 什么是引用类型?
- 什么是拆箱 & 装箱,能给我举栗子吗?
1.5 数组
无
1.6 Java异常
- 说说Java异常体系主要用来干什么的 & 异常体系?
- Error和Exception的区别?
- 说说运行时异常和非运行时异常的区别?
- 如何自定义一个异常?
- throw和throws 的区别?
- try{}catch{}finally{}可以没有finally吗?
- finally语块有什么特点?
- return在try{}catch{}finally{}中执行具有哪些规则?
- 给我例举至少5个常见的运行时异常。
1.7 NIO/BIO/AIO
- NIO是什么 & BIO是什么 & AIO是什么 & 它们之间的区别?
- IO按照方向和数据类型划分能划分为哪些数据流?
1.8 集合(容器)
- 说说Java中集合的框架?
- Collection & Map区别。
- Map的遍历方式有哪些?
1.9 线程
- 什么是线程?能解决什么问题。
- Java中创建线程的2种方式 & 区别?
- 给我说说线程的生命周期。
- 线程死锁的原因 & 举个栗子 & 如何避免死锁。
- Synchronized放在静态方法和非静态方法上的锁对象分别是什么?
- 如何停止掉一个线程?
- 给我说说线程池的种类 & 特点 & 内部原理 & 平时当中使用案例。
- wait()和sleep()的区别?
1.10 泛型
无
1.11 反射
无
1.12 注解
无
1.13 Socket编程
- 什么是Socket编程?
- 什么是TCP,什么是UDP,二者之间区别如何?
1.14 设计模式
- 说说设计模式的六大原则。
- 请讲讲你会使用的一些设计模式?
- 请说说单例模式 & 你项目中常用的单例模式。
- 懒汉单例模式为什么要加volaitle?
- 能否给我说说Android中至少3个用到设计模式的栗子?
1.15 JVM相关
无
1.16 高级Java知识点
无
1.17 其它Java部分有关面试题
- 为什么局部内部类访问局部变量需要final?
- String、StringBuffer、StringBuilder、CharSequence的区别。
- equals和==的区别?
- 关于字符串的拼接你在项目中常常怎么操作的?为什么不能用“+”的方式进行拼接呢?
- 什么是Callback,讲讲你项目中使用的一些有关Callback的栗子。
- retrun & break & continue 区别?
- 如何判断一个字符串是回文字符串?
- final,finally,finalize的区别?
- 给我谈谈正则表达式。
- 如何将String转成int?
二、Kotlin部分
无
三、Android 部分
四大组件是哪四个?ABCS(Activity,Braodcast,ContentProvider,Service)
3.1 Activity
- Activity是什么?
- 典型情况下的Activity生命周期?
- 异常情况下的Activity的生命周期 & 数据如何保存和恢复?
- 从Activity A跳转到Activity B之后,然后再点击back建之后,它们的生命周期调用流程是什么?
- 如何统计Activity的工作时间?
- 给我说说Activity的启动模式 & 使用场景。
- 如何在任意位置关掉应用所有Activity & 如何在任意位置关掉指定的Activity?
- 什么情况下Activity会单独执行onPause?
- 说说Activity横竖屏切换的生命周期。
- Activity可以设置为对话框的形式吗?
3.2 BroadcastReceiver
- 广播是什么?
- 广播的注册方式有哪些?
- 广播的分类 & 特性 & 使用场景?
3.3 ContentProvider
- 什么是内容提供者?
- 说说如何创建自己应用的内容提供者 & 使用场景。
3.4 Service
- 什么是Service?
- 说说Service的生命周期。
- Service和Thread的区别?
3.5 Handler
- 子线程一定不能更新UI吗?
- 给我说说Handler的原理。
3.6 AsyncTask
AsyncTask是什么?能解决什么问题。
3.7 Fragment
无
3.8 序列化
- 什么是序列化 & 能用来干什么?
- Android中序列化方式有几种?说说它们的区别。
3.9 IPC
无
3.10 文件存储
- 说说Android中数据持久化的方式 & 使用场景。
- SQLite是线程安全的吗 & SharedPreference是线程安全的吗?
- 请简单的给我说说什么是三级缓存?
- 千奇百怪的SQL语句考察。
3.11 ListView & RecyclerView
- ListView是什么?如何使用?
- RecyclerView是什么?如何使用?如何返回不一样的Item。
- ListView和RecycyclerView的区别是什么?
- 分别讲讲你对ListView & RecyclerView的优化经验。
3.12 图片编程
无
3.13 WebView
- WebView是什么?
- WebView会导致内存泄露吗?原因是什么?解决方式有哪些?
3.14 ViewPager
什么是ViewPager?说说它的那些适配器。
3.15 View事件分发机制
什么是事件分发机制?主要用来解决什么问题?
3.16 View绘制机制
说说View绘制流程。
3.17 布局
说说Android中有哪些布局 & 特点。
3.18 Binder
无
3.19 动画机制
Android中的动画分为哪些种类 & 特点 & 缺点。
3.20 JNI
无
3.21 Window & Appliction & Context
无
3.22 通知
Android 8.0如何适配通知?
3.23 对话框(Dialog & DialogFragment & PopWindow)
说说Android中对话框可以用哪些方式完成?
3.24 蓝牙
说说最新的蓝牙版本?新版本的特性是什么?
3.25 冷启动&热启动
无
3.26 悬浮窗
无
3.27 Android版本
最新的Android版本多少知道吗?有哪些特性。
3.28 Android Studio
- 你现在比较常用Android Studio那个版本 & 用的Gradle版本是多少?
- 说说Android Studio中大致项目结构?
3.29 UI卡顿优化
ANR是什么?导致原因有哪些?
3.30 内存优化
什么是OOM & 什么是内存泄漏 & 什么是内存抖动?
3.31 屏幕适配
无
3.32 多渠道打包 & apk签名
apk为什么需要签名
3.33 项目架构
说说你用过的项目架构?
3.34 Android前沿知识
无
3.35 音视频开发(高薪)
无
3.36 热修复 & 插件化
无
3.37 其它Android部分有关面试题
无
3.38 经验相关面试题
无
3.39 安全 & 性能优化
无
3.40 Gradle
无
四、移动UI框架部分(Flutter为主)
无
五、算法与数据结构部分
5.1 复杂度分析
- 什么是时间复杂度 & 什么是空间复杂度?
- 时间复杂度和空间复杂度之间存在什么联系?
5.2 数组
谈谈你对数组的理解。
5.3 链表
什么是单链表 & 双向链表 & 循环链表 & 双向循环链表 & 静态链表。
5.4 堆
无
5.5 栈
什么是栈 & 栈的特点是什么?
5.6 队列
什么是队列 & 队列的特点是什么?
5.7 散列表
什么是散列函数?
5.8 树
什么是二叉树?
5.9 排序
- 给我说说你会的排序 & 复杂度如何?
- 现在有10万条数据需要进行排序,你会选择什么排序?
5.10 查找
说说你知道的查找算法 & 复杂度如何?
5.11 递归&回溯算法
什么是递归 & 什么是回溯?
5.12 贪心算法
什么是贪心算法?
5.13 其它有关算法与数据结构的面试题
无
六、常用的开源库部分
6.1 异步通信
无
6.2 网络
无
6.3 依赖注入
无
6.4 图片加载
无
6.5 数据库
无
6.6 其它
分享你觉得比较好用的开源库。
七、计算机网络部分
- 给我介绍5层网络模型。试着说说https加密过程 & 为什么https比http要安全?
- Http/Https协议工作在哪一层?IP协议工作在哪一层?应用层有哪些协议?
- TCP/UDP协议工作在哪一层?
- 给我说说三次握手和四次挥手。
- 什么是请求头 & 响应头 ? 说说请求头中一些重要的字段。
- Http和Https的区别?
- 加密协议TLS/SSL加密过程是怎样的?
- 什么是DNS & 作用是什么 &工作机制?
- 浏览器访问一个url网址所经历的过程是什么?