阿里Android开发一二三面
这里简单说一下自己的情况,大专学历,之前学的大数据,然后参加一个 Java 培训,培训之后,自己发现 java开发需要用到的知识太多了,然后,自己刚好那个时候接触到 android,于是,就想做 android 开发。
接下来分享我的阿里面试经历:
一面
- 插件化。启动 activity 的 hook 方式。taskAffity。
- okhttp 支持 HTTP2?http2 的功能有哪些?tcp 方面拥塞控制?tsl 的握手和具体的非对称加密算法。非对称名称
- handler 的 st(Runnable) 如何实现的。callback,runnable,msg的执行优先级。阻塞是怎么实现的?为什么不会阻塞主线程?
- 求二叉树中两个节点之间的最大距离。
- 206 含义,未修改资源是哪个,302 含义,301 含义
- 多进程通信问题。binder 优势。aidl 生成的 java 类细节。多进程遇到哪些问题?
- 动态代理传入的参数都有哪些?非接口的类能实现动态代理吗?ASM 的原理
- Application 和 Activity 在 Context 的继承树上有何区别?二者使用上有何不同?
- 任意一颗二叉树,求最大节点距离
二面
- 设计一个日志系统。
- 内存泄露的分类。怎么查看内存泄露的问题
- touch 事件源码问题。
- 组件化的问题。module 和 app 之间的区别。moduler 通信是如何实现的。
- native 奔溃的日志采集,怎么处理?
- 注解实现一个提示功能:如果 int 的值大于了 3 需要提示。
三面
- 介绍下 flutter 的启动流程
- 介绍下 flutter 与 weex 的区别
- 组件化介绍一下
- webview 中与 js 通信的手段有哪些?
- 介绍下 flutter_boost 的原理
感谢阅读并祝你面试好运!