汽车之家Android实习面经
一面(2023/11/7 20min)
- 看简历上掌握Kotlin,说一说协程
- 说一说Java的反射?反射为什么性能差?
- 熟悉Android的四大组件,说一说Activity的launchMode中的singleTask和singleTop的区别
- provider中getContext()获取到的context是什么context?
反问:面试一共几轮?两轮技术面
- 实习生的主要工作?简单的需求
- 部门业务和技术栈?有一个Unity3D项目,有一个地图SDK项目。技术栈Java和Kotlin都有
- 比较重视实习生的哪方面的能力?
- 您觉得我还有哪方面需要改进的吗?挺好的,回答问题可以更具体地概述有几点,结构化思维去回答问题
当前下午就约了晚上面试
二面(2023/11/7 20min)
- 协程是什么?
- 知道集合和多线程,那说一说你知道的线程安全的集合(我知道的arrayList、HashMap都是线程不安全的,vector是线程安全的,但是vector因为性能问题Java里很少用到)
- 讲一讲你知道的锁?从不同角度可以分为类锁和对象锁、公平锁和非公平锁、乐观锁和悲观锁,追问自旋锁(这里忽然有点乱,自旋锁和可重入锁有点分不清)
- 讲一讲LeakCanary的原理(弱引用队列+Activity生命周期),使用LeakCanary检测到了什么内存泄漏?是先知道这里会出现内存泄漏吗?不是,内存泄漏就是通过LC检测出来的,然后再去查找内存泄漏的原因
- LeakCanary用到了一个GC机制,GC Root都有哪些?
- 阅读文章的App,这些文章有做本地存储吗?具体实现?
- 什么时候可以到岗?
- 我这边没什么想要问的了,也可以直接跟你说你的面试是通过了,有什么想要问的现在可以问
反问:
- 实习生的主要工作?
- 部门业务和技术栈?
总结:得补一下自旋锁,自旋锁和可重入锁有点乱