【阿里巴巴】客户端岗-安卓暑期实习

春招快结束了,眼看大家也都收到了自己满意的 Offer,本 Android 渣渣(双非本科)也很幸运在前几天(PS: 面试周期长,等得要哭)收到了阿里手淘无线事业部的意向书,按照惯例分享一下自己的面试经历,希望能够后来的同学一点帮助。

3.10 19:00 一面 40分钟

  1. 实习时间和地点意向,介绍部门
  2. 面试官已经看过简历、博客、Github,夸奖了一番,什么时候学习的安卓?
  3. 谈谈项目经验的两个项目,引申到 HTTP 和 TCP
  4. 较详细叙述 TCP 的三次握手,及其网络体系下的关系
  5. HTTP 协议报文格式、常见的请求头(长连接、缓存)、模型、HTTPS
  6. 聊了简历中提到的 Github 开源库,问到编码格式设计
  7. 问到简历中的一个 Web 小应用,通信协议
  8. Retrofit、ButterKnife、Dagger 框架的原理及实现,谈到 APT 注解处理器
  9. APT 下对 Apk 包体积的影响,进而提到 65536 方法数问题
  10. 热补丁、热修复,谈了两种方案,提到 Java 类加载机制
  11. 一般如何学习的?关注点?最近关注到的新框架?
  12. Handler 消息机制,ThreadLocal 底层结构
  13. 设计模式(Template 模式、Builder 模式)概念、场景及应用
  14. 其他同事会再电话联系,让好好准备,自己强行提到刚刚没答好问题的答案

3.23 10:00 二面 30分钟

  1. 介绍项目经验的两个项目,提到数据量、测试数据等较尴尬的问题
  2. Socket 在项目中应用、异常处理,问到不太了解的 I/O 模型,转移到 TCP
  3. 谈了 TCP 的三次握手和四次挥手(过程及设计原因),问到拥塞控制
  4. 回到项目本身,提到手机中的传感器调用,以及注意事项
  5. Github 开源项目的介绍(问到做了什么、遇到的问题、优化了哪些)
  6. 平时对 APP 的优化,答了对内存泄露的优化
  7. 简历上的一个小应用(功能、三方库的使用),继续提到三方库原理
  8. 自己做的东西特点在哪里,平时学习所在的实验室性质
  9. 以后工作的方向,想在哪个方向(物联网或安卓)探索

4.13 21:00 交叉面 20分钟

  1. Android 整体的框架体系(四层),很宽泛的问题,简单讲了讲
  2. Handler 消息机制、事件分发、View 绘制三大点都简要谈了谈
  3. 客户端与服务端通信的协议有哪些?
  4. 谈到 RPC,对 Android 底层的 Binder 的理解
  5. 有什么想问的?问了当前状态,以及对发展方向的建议

4.17 20:00 交叉面 20分钟

  1. 自我介绍(让主要介绍自己在安卓方面的技能)
  2. 介绍简历中的一个项目(问了数据格式、存储表结构、蓝牙通信的问题)
  3. 比较深入哪些安卓的技术?谈到写的几个 Github 开源库
  4. 平时所用的一些框架的优势,简要提了原理
  5. 自己对反射的理解(动态性、破坏封装、性能缺陷),提到 APT
  6. Android 内存模型(不太清楚,讲的是 Java 的内存模型)
  7. 安卓最新系统的特性(讲了最近 4.0-7.0 几个版本的新特性)
  8. 有什么想问我?问了对自己的评价

4.28 09:00 HR面 40分钟

  1. 你对过去几次面试自我感觉如何?自认为有哪些不足?
  2. 一直聊了许多大学以来的学习、生活经历
  3. 问了自己对学习生活的态度、观点、动力等等
  4. 询问自己春招的结果
  5. 有什么想问的?