2017 届 今日头条校招 Android 面试之成功篇
2016-10-26 本文已影响2152人
Hello_Google
记录今日头条校招面试经历,废话不多说,直接上问题
一面-电面(34 min)
- 专业方向及其内容;
- 操作系统进程和线程的区别;
- 嵌入式底层了解没;
- 多核里面进程和线程的表现;
- APK 包含了哪些东西,打包过程是什么;
- Android 内存优化和布局优化的经验;
- 网络框架用的哪个,描述一下;
- Avtivity 的启动方式简述;
- Handler 机制描述;
- Android 事件分发过程;
- HashMap 的实现过程;
- Java 的 final 关键字的作用;
- volatile 的作用,为什么会出现变量读取不一致的情况, synchronized 的区别;
- Tcp 三次握手过程
- Http 的 header 和状态码简述。
二面-电面(38min)
- 有没有电脑在身边;(没有,那就凑合面吧)
- 有一个 List 列表,去掉列表中的某一 Object 对象,如何在 for 循环里面写;
- 有一个 int 数组,如果将里面的正负整数调整到各自一边;
- 自行设计一个缓存框架;
- Java 中的 Error、 Exception 的区别;
- 外排序有哪些,与内部排序的区别;
以上是内推面试的过程,由于二面没有面好,当时认为已经跪了,没想到后续又给捞起来了,幸哉。
一面-视频面(40min)
- 自我介绍;
- 介绍 MVP 模式;
- 算法:单链表输出倒数第 k 个元素,冒泡排序,100 万个数据找出 100 个最大的;
- 线程(进程间)通信机制有哪些;
- Handler 消息机制;
- 线程如何实现;
- Activity 四中启动模式;
- 有什么要问的;
二面-视频面(30min)
- HashMap 的实现原理;
- 进程与线程的区别;
- 断点上传如何设计;
- Android 音频控件如何使用,底层原理;
- ArrayList 如何删除重复的元素或者指定的元素;
- Java 异常简介;
- Tcp 三次握手和四次挥手;
- Java GC简介
- 有什么要问的;
三面-视频面(40min)
- 自我介绍
- 算法:数组插入
- 操作系统如何管理内存的;
- 浏览器输入地址到返回结果发生了什么;
- Tcp 是如何保证可靠性传输的;
- Tcp/IP 协议几层;
- Tcp 建立链接每一层都做了什么工作;
- 如何设计在 UDP 上层保证 UDP 的可靠性传输;
- Java 中内部类为什么可以访问外部类;
- 设计移动端的联系人存储与查询的功能,要求快速搜索联系人,可以用到哪些数据结构?(二叉排序树,建立索引)
- 你有什么要问的;