找工作的大潮来临了,这边给大家分享一下面试会遇到的问题。
Android开发了5年,之前一直都是在小公司码着代码,对大厂一直有着憧憬,我是在去年年初的时候通过朋友的内推面试了百度,结果被怼的没话说,那叫一个惨。。。今年七月份不信邪,经过一年多的准备,不断地刷面试题,刷视频,还是鼓起勇气再去了百度面试,虽然感觉情况比上次要好,但是内心还是慌得一批,等结果的几天简直煎熬,最后结果出来没有辜负自己这一年多刷的题,拿到了百度的offer~~~
找工作还是需要大家不要经常,由于我们干这一行的接触人本来就不多,难免看到面试官会紧张,主要是因为怕面试官问的问题到不上来,那时候不要着急 ,答不上了的千万不然胡扯一些,直接就给面试官说这块我还没接触到,以后如果工作当中遇到的话我可以很快的把这个问题给解决了,希望能够借鉴我的二次面试百度拿到offer的经验,到时候很快就可以拿到 offer~
Android 面试题
- 跨进程通信的几种方式
- wait 和 sleep 的区别
- String,StringBuffer,StringBuilder 的区别
- View 和 SurfaceView 的区别
- View 的绘制原理
- 简述 JNI
- 简述 TCP,UDP,Socket
- 音视频相关类
- 进程和线程的区别
- 内存泄露如何查看和解决
- View 的分发机制,滑动冲突
- RecyclerView 和 ListView 的区别
- recyclerView 嵌套卡顿解决如何解决
- 谈 MVC ,MVP,MVVM
- dagger2
- Android 性能优化
- Hander 原理
- SharedPreference 跨进程使用会怎么样?如何保证跨进程 使用安全?
- 推送到达率如何提高
- activity,fragment 传值问题
- activity 与 fragment 区别
- Fragment 中 add 与 replace 的区别?
- FragmentPagerAdapter 与 FragmentStatePagerAdapter 的 区别与使用场景?
- 说下 Activity 的四种启动模式、应用场景 ?
- 说下 Activity 跟 跟 window , view 之间的关系?
- 横竖屏切换的 Activity 生命周期变化?
【Android面试题答案整理】
Java 面试题
- HashMap
- ArrayList
- LinkedList
- Hashset 源码分析
- 内存模型
- 垃圾回收算法(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<Int>和 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面试真题解析】
总结
无论是哪家公司,都很重视基础,尤其是对于应届生来说,所以在面试前基础一定要打扎实。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。
针对以上面试技术点,我在这里也做一些资料分享,希望能更好的帮助到大家。
网友评论