2017 届 今日头条校招 Android 面试之成功篇

记录今日头条校招面试经历,废话不多说,直接上问题

一面-电面(34 min)

  1. 专业方向及其内容;
  2. 操作系统进程和线程的区别;
  3. 嵌入式底层了解没;
  4. 多核里面进程和线程的表现;
  5. APK 包含了哪些东西,打包过程是什么;
  6. Android 内存优化和布局优化的经验;
  7. 网络框架用的哪个,描述一下;
  8. Avtivity 的启动方式简述;
  9. Handler 机制描述;
  10. Android 事件分发过程;
  11. HashMap 的实现过程;
  12. Java 的 final 关键字的作用;
  13. volatile 的作用,为什么会出现变量读取不一致的情况, synchronized 的区别;
  14. Tcp 三次握手过程
  15. Http 的 header 和状态码简述。

二面-电面(38min)

  1. 有没有电脑在身边;(没有,那就凑合面吧)
  2. 有一个 List 列表,去掉列表中的某一 Object 对象,如何在 for 循环里面写;
  3. 有一个 int 数组,如果将里面的正负整数调整到各自一边;
  4. 自行设计一个缓存框架;
  5. Java 中的 Error、 Exception 的区别;
  6. 外排序有哪些,与内部排序的区别;

以上是内推面试的过程,由于二面没有面好,当时认为已经跪了,没想到后续又给捞起来了,幸哉。

一面-视频面(40min)

  1. 自我介绍;
  2. 介绍 MVP 模式;
  3. 算法:单链表输出倒数第 k 个元素,冒泡排序,100 万个数据找出 100 个最大的;
  4. 线程(进程间)通信机制有哪些;
  5. Handler 消息机制;
  6. 线程如何实现;
  7. Activity 四中启动模式;
  8. 有什么要问的;

二面-视频面(30min)

  1. HashMap 的实现原理;
  2. 进程与线程的区别;
  3. 断点上传如何设计;
  4. Android 音频控件如何使用,底层原理;
  5. ArrayList 如何删除重复的元素或者指定的元素;
  6. Java 异常简介;
  7. Tcp 三次握手和四次挥手;
  8. Java GC简介
  9. 有什么要问的;

三面-视频面(40min)

  1. 自我介绍
  2. 算法:数组插入
  3. 操作系统如何管理内存的;
  4. 浏览器输入地址到返回结果发生了什么;
  5. Tcp 是如何保证可靠性传输的;
  6. Tcp/IP 协议几层;
  7. Tcp 建立链接每一层都做了什么工作;
  8. 如何设计在 UDP 上层保证 UDP 的可靠性传输;
  9. Java 中内部类为什么可以访问外部类;
  10. 设计移动端的联系人存储与查询的功能,要求快速搜索联系人,可以用到哪些数据结构?(二叉排序树,建立索引)
  11. 你有什么要问的;

你可能感兴趣的:(2017 届 今日头条校招 Android 面试之成功篇)