乐趣区

关于android:Android-面试经验|2022-百度安卓开发岗面经

前言

春招正式批投递了百度 Android 开发岗。近期给安顿了南京地区的现场面试,面试简直是全程手撕各类问题,而且面试问题都比拟发散;简略列举一下面试波及的问题。

一面

一面问的问题大多是开放性问题,次要是看集体思路吧。
1. 手撕依赖关系树扫描算法(期间提了不反复扫描、优化工夫复杂度等要求)
2. 简述如何实现未知长度的数组翻转?
3. 简述内存透露,你解决过哪些内存透露?
4. 以 100ms/ 张的间隔时间播放 100 张图片,且每张图片须要 400ms 进行加载,如何设计?
5. 如何在无序数组中疾速找到最小值(手撕二分查找算法)
6. 简述 Android 中的 ANR,以及为什么会呈现 ANR?
7. 简述 Handler 音讯机制(深挖外部实现原理)

二面

1. 手撕一个有序数组的二分查找算法
2. 列举一个你在理论我的项目中所进行的性能优化(深挖具体细节)。
3. 简述单例模式的实现形式,且单例模式有什么优缺点?
4. 简述 Java 的异样解决机制
5. 多线程间如何进行信息通信?
6. 多线程如何保障线程平安?
7. 简述线程池
8. 简述 HashMap 实现机制,如何解决 HashMap 的线程平安问题?
9.TCP 和 UDP 的区别,别离有哪些利用场景?
10. 简述七层网络模型
11. 简述 Android 点击事件的散发机制
12. 画一个 BLE APP 的性能架构图

三面

三面相当于是综面和 HR 面和在一起了,次要问题也是分两个模块。
业务类问题:
1. 手绘 Class 间依赖关系图
2. 聊聊如何解决并发编程
3. 手撕消费者模型代码,次要线程平安、队列等状况。
4. 简述 Android 零碎的类加载机制
5.Activity 的生命周期通过什么机制来告诉?

HR 类问题:

1. 聊聊集体的职业规划
2. 你最大的长处是什么?
3. 你有哪些方面待改良?
4. 简述你大学所做的事件
5. 说说你大学里最遗憾的事件
如果你和舍友产生了矛盾,如何解决?

倡议

  • 多看源码,包含 Java 层的代码在 JVM 中的实现源码:如 synchronized 的实现源码,Android Framework 的源码更好意识 Android 层的实现,Android 开源库源码(OKHttp,Retrofit,RxJava,EventBus,Glide,Gson…,更好的学习优良开源库源码,做到用的熟,懂原理)
  • 多问本人为什么,比方两个技术点优缺点别离在哪,各自的应用场景(如单例模式下饿汉与懒汉的优缺点,应用场景),这样能力更符合理论利用开发,针对不同场景应用不同技术点
  • 及时复盘总结面试中遇到的问题,分为两方面,一是晓得但不能深刻的,这种须要持续多看多总结,另一种是没接触过的,这种能够先理解下,万一面试又遇到了,能够答复下理解到的,之后再去深刻总结(毕竟工夫无限,不可能八面玲珑,只能一直学习总结)

最初

本人如果有想要去的大公司,肯定要晋升好本人,让本人的能力和素质与公司匹配的上,我也始终置信,机会永远是留给有筹备的人。

在春招面试前我也筹备了很久,刷了很多大厂面试题,知识点整理出来分享给大家,算是一个感恩回馈吧:

JAVA 局部

Android 局部

JNI 和 Java 共享内存空间

算法与数据结构局部

常⽤的开源库局部

计算机⽹络局部

因为文章篇幅无限,须要完整版的小伙伴能够点击这里收费支付哦!

退出移动版