6月15日滴滴面试, 第一次见到大神级Android程序员, 被大神的风采吓到了, 点到的地方没有不精的, 再复杂的问题都娓娓道来. 一脸崇拜啊.
面试内容
1. 随便讲讲
- 为什么离职, 找工作的目标是什么
- 读过什么书
2. Android内容
- 事件冲突怎么解决, 外部拦截法的细节, 同方向的冲突应该是在哪个方法中返回true, 还有up事件时应该返回什么内容
- View的measure过程, measureSpec的组成是什么, 三种模式与XML中写的三种形式是怎样对应的
- inflate操作中两个参数与三个参数的区别, 为什么
- 四大组件中可运行在独立进程中的是什么, ContentProvider是运行在什么线程中的(分同进程和独立进程)
这个记一下, 跨进程的话ContentProvider是运行在Binder池中的
- AIDL的书写, 生成的内部类的细节是什么, 两个方法, Transact和onTransact的区别, 以及为什么, AIDL的调用是同步还是异步
正常不进行干涉的放是同步调用的, 要将一个(blur..oneWay的flag设置一下就可以进行异步了)
- 加载一个ListView, 将一组图片URL显示到ListView上面. (回收和图片处理)
- onCommentConnected的返回值是什么(根据不同的返回值各对应什么)
- bindService和startService的区别,先start后bind,最后怎么关service
- messagequeue在拿next的时候会阻塞,那为什么点击事件,oncreate等方法还能执行
3. Java基础
- 线程同步问题, 在成员方法上加Synchronized后锁的是什么, 在静态方法上加Synchronized后锁的是什么
4.换人面
- Messanger的原理, 与AIDL的区别联系是什么
- 使用内存监测工具是什么, 源码
- 使用LRU的原理, 源码
- 除了内在泄露之外还怎么处理内存的问题
- 汉字与拼音的对应查找问题的优化, 使用的二次索引