- 内存模型
- 垃圾回收算法(JVM)
- 垃圾回收机制和调用 System.gc()的区别?
- 类加载过程
- 反射
- 多线程和线程池
- HTTP、HTTPS、TCP/IP、Socket 通信、三次握手四次挥手 过程
- 设计模式(六大基本原则、项目中常用的设计模式、手写 单例等)
- 断点续传
- Java 的泛型
- final、finally、finalize 的区别
- 接口、抽象类的区别
【Java面试题答案整理】
kotlin
基础
- ==、===和 equal 的区别?
- var 和 val 的区别?
函数
- Kotlin 中默认参数的作用以及原理?
- Kotlin 中顶层函数的原理
- 中缀函数是什么?注意点?
- 解构函数的本质?
- 扩展函数的本质?
- 扩展函数和成员函数的区别?
类、对象和接口
- Kotlin 中常用的类的修饰符有哪些?
- Kotlin 中可见性修饰符有哪些?
- Kotlin 中的内部类和 Java 中的内部类有什么不同?
- Kotlin 属性代理背后原理?
- object 和 companion object 的一些特点?
lambda
- lambda 表达式有几种?
- kotlin 和 Java 内部类或者 lambda 表达式访问局部变量有什么不同?
- 使用 lambda 表达式访问的局部变量有什么不同?
- 序列是什么?集合类和序列的操作符比较?
- 为什么要使用内联函数?内联函数的作用?
类型系统
- Kotlin 中的基本数据类型的理解?
- 只读集合和可变集合的区别?
- Array和 IntArray 的区别?
- 使用实化类型参数解决泛型擦除的原理是什么?
协程
- 协程是什么?协程的有什么特点?
- 6.2 协
【Kotlin面试题答案整理】
网络
HTTP 和 HTTPS
- HTTP 是哪一层的协议,常见的 HTTP 状态码有哪些,分别代表什么意思?
- HTTP 1.1 和 HTTP 2 有什么区别?
- HTTP 和 HTTPS 有什么区别?
- SSL/TLS 的握手过程?
- HTTPS 传输过程中是如何处理进行加密的?为什么有对称加密的情况下仍然 需要进行非对称加密?
TCP 相关
- TCP 的三次握手过程,为什么需要三次,而不是两次或者四次?
- TCP 的四次挥手过程?
- TCP 和 UDP 有什么区别?
- TCP 为什么是一种可靠的协议?如何做到流量控制和拥塞控制?
五、设计模式
- 六大原则
- 单例模式
- 单例的常用写法有哪几种?
- DCL 模式会有什么问题?
- 需要关注的设计模式
- MVC\MVP\MVVM
- MVC、MVP 和 MVVM 是什么?
- MVC 和 MVP 的区别是什么?
- MVVM 和 MVP 的最大区别在哪?
- ViewModel 如何知道 View 层的生命周期?
【设计模式面试题答案整理】
算法题
- 排序
- 二叉树
- 链表
- 栈 / 队列
- 二分
- 哈希表
- 堆 / 优先队列
- 二叉搜索树
- 数组 / 双指针
- 字符串处理
- 动态规划
- 矩阵
- 二进制 / 位运算
- 其他
七、Flutter
Dart
- Dart 当中的 「…」表示什么意思?
- Dart 的作用域
- Dart 是不是单线程模型?是如何运行的?
- Dart 是如何实现多任务并行的?
- 说一下 Dart 异步编程中的 Future 关键字?
- 说一下 Dart 异步编程中的 Stream 数据流?
- Stream 有哪两种订阅模式?分别是怎么调用的?
- await for 如何使用?
- 说一下 mixin 机制?
Flutter
- 请简单介绍下 Flutter 框架,以及它的优缺点?
- 介绍下 Flutter 的理念架构
- 介绍下 FFlutter 的 FrameWork 层和
Engine 层,以及它们的作用 - 介绍下 Widget、State、Context 概念
- 简述 Widget 的 StatelessWidget 和 StatefulWidget 两种状态组件类
- StatefulWidget 的生命周期
- 简述 Widgets、RenderObjects 和 Elements 的关系
- 什么是状态管理,你了解哪些状态管理框架?
- 简述 Flutter 的绘制流程
- 简述 Flutter 的线程管理模型
- Flutter 是如何与原生 Android、iOS 进行通信的?
- 简述 Flutter 的热重载
【Flutter面试题答案整理】
所有问题的答案我都整理成了一个完整的PDF,【2020百度Android面试真题解析】
总结
无论是哪家公司,都很重视基础,尤其是对于应届生来说,所以在面试前基础一定要打扎实。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。
针对以上面试技术点,我在这里也做一些资料分享,希望能更好的帮助到大家。
腾讯、字节跳动、阿里、百度等BAT大厂 2019-2020面试真题解析
最后
小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
资料⬅专栏获取
提升又不知道该从何学起的朋友。**
[外链图片转存中…(img-JHUw9eQj-1719113364856)]一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
资料⬅专栏获取