Android 面试专辑Android coder进阶半栈工程师

2018.03.21 头条Android内推一二三面

2018-03-30  本文已影响164人  Mr槑

一面(视频面试 60min)

  1. Activity生命周期与启动模式(透明Activity情况)
  2. MVC、MVP、MVVM、Android官方架构组件
  3. IPC(进程间通信方式、Binder、AIDL、AIDL中如何使用非基本数据类型)
  4. Serializable与Parcelable序列化方式区别
  5. ContentProvider介绍及使用场景,authorities标签作用
  6. RxJava(map、flatMap实现原理;observeOn、subscribeOn多次调用线程控制结果)
  7. Android消息机制(Loop死循环与ANR、HandlerThread应用场景与实现)
  8. 如何获取父View宽高
  9. Java堆栈的区别
  10. SharePreferences#commit与apply方法区别
  11. 忘了

二面(视频面试 40min)

  1. 项目介绍(介绍了NAT打洞与UDP可靠传输的实现方式)
  2. Activity异常生命周期
  3. 布局优化标签作用
  4. SharePreferences介绍,apply异步储存是如何实现的
  5. GET与POST区别
  6. HTTP 常用状态码
  7. HTTPS中SSL/TLS四次握手过程
  8. ContentProvider 配置
  9. 算法:长度为n的数组循环右移k位,保证空间最优
  10. 忘了

三面(视频面试 30min)

1.算法:向有阈值限制的数组插入元素,当数组元素超过阈值限制,对数组进行扩容操作
2.IM协议选择(P2P还是服务器中转?IM协议选择?XMPP、MQTT、私有协议(TCP、UDP))
3.操作系统内存管理

总结:二挂头条,上次四面,这次三面,结果都一样,挂!失败率100%的面试经历,虽然伤心,但个人觉得每次被挂的最大原因莫过于算法的实现,自己对算法的思考、实现、优化欠缺的真的太多。好好刷LeetCode!好好撸代码!

上一篇下一篇

猜你喜欢

热点阅读