BilibiliAndroid工程师一二面面经
一面
- 安卓的系统架构了解吗
- 有做过framework层的开发吗
- 启动Activity的方法(startActivity())
- intent可以传递的数据(bundle可以传递哪些数据)
- Activity和Fragment的关系,生命周期,如何传递数据(Bundle,广播,handler,ViewModel,EventBus等)
- 项目用到了ViewModel,说说看他的原理,为什么Fragment可以获取到Activity的ViewModel(context上下文传递)
- 你说到了内存泄露,有用过别的内存检查的工具吗,什么时候会发生内存泄露
- 说说进程和线程的理解
算法题:
- 两个有序数组找出中位数(二分法)
二面
- 介绍项目
- 项目提到mvvm模式,请说说看mvp和mvvm模式有什么区别吗
- 项目提到使用CameraX进行相机功能的开发,你使用的时候有出现什么问题或者困难吗
- 你使用Java的,那就问个有关JVM的吧,JVM的内存结构是怎样的,哪个地方不会出现内存泄露
- 简历上写道了解App的启动流程,可以大概说一下吗,面试官问的也比较透彻
- 说说看你对Handler的理解,handler的内存泄露了解吗
- Activity A 跳到 Activity B的生命周期变化(onPause一定在B的onResume前执行吗)
算法题:
- 二叉树层序遍历