2019 阿里、头条、腾讯、美团 Android面试题,祝你斩获offer

职场危机感彷佛是每一个人在职业生涯都会遇到的话题,天天都有形形色色的人面临这跳槽挤破头要进大厂。我对这种危机处境和本身曾遇到的问题进行了一番思考,
参考了其余人的一些结论并结合自身的经历,写出了这篇面试题。经过这篇文章,但愿能给你们一些帮助祝你斩获心仪offer,也欢迎你们一块儿讨论、发表建议,化紧张为动力,让危机变机遇。

一 阿里
一面(3/8 21:17,电话,61 分 47 秒)面试

  • 自我介绍
  • 项目来历
  • 上过或自学过哪些计算机课程,对计算机网络挺熟悉的吧
  • 对 HTTPS 有没有了解,有没有写过相关代码
  • 老板有 2000 元给我和同窗分钱,首先由我提出分钱方案。若是同窗不一样意,则总额变为 1000 元,并由同窗提出分钱方案。若是这时我不一样意,则俩人各拿 100 元。请问一开始我应该怎么给出分钱方案?
  • 假设有一个线程在取队列中的消息,怎么中止这个线程
  • 读过哪些源码,分别说一下 Android 和 Java 的
  • 读过哪些 Android 开源库源码
  • 项目中遇到过什么难题
  • 印象深入的几回学习经历
  • 看你用过 Ubuntu,平时是否是用 Linux,熟悉Linux吗,都用它干什么
  • 有什么问题想问的

二面(3/12 20:30,电话,82 分 33 秒)算法

  • 介绍一下项目
  • 一连串问了多个问题关于项目中给设备配置入网过程的细节
  • 项目中与设备通讯的数据格式,还能够用哪些数据格式,作过什么优化
  • 设计一种变长的传输数据格式
  • 项目中有没有作过一些监控日志
  • 设计一个日志监控和上传模块,深刻问了不少细节和考虑的方面
  • Android 各个版本的变化
  • 介绍一下 Flutter 框架
  • 平时怎么了解和学习新知识的

三面(3/21 15:31,电话,30 分 57 秒)数据库

  • 问了不少项目细节,关于本地存储、音乐播放等基础模块的封装
  • 有没有把音乐播放模块开源出去
  • 项目中解决过什么难题
  • HTTP/2.0 有什么变化
  • 在一个手机屏幕上有两列(相似于瀑布流),给你一些高度- - 不一样的 item,怎么摆放才能让这两列的总体高度最小?

HR面(3/28 20:16,电话,14 分 47 秒)数组

  • 为何来阿里
  • 有什么优点能让你来咱们部门
  • 业余有什么爱好
  • 解决难题的经历
  • 遇到过什么挫折
  • 选择上海仍是杭州

二. 头条(一二面:3/23 晚,现场。三面、HR面:3/26 下午,现场。)
一面缓存

  • 自我介绍
  • 项目来历
  • 项目中本地存储怎么作的
  • 访问本地存储的类应该怎么设计
  • 说一下对 BInder 的理解
  • BInder 红黑树的节点是以什么区分的
  • SurfaceView 原理
  • HTTP 响应内容
  • Retrofit 内部实现
  • 动态代理的原理
  • EventBus 内部实现
  • 手写二分查找

二面性能优化

  • 看过哪些书
  • HashMap 版本变化和原理
  • 手写快速排序并解释
  • 各类排序的复杂度和稳定性
  • 类成员的权限怎么定

三面网络

  • volatile 和重排序
  • Java 内存模型
  • 引用计数和可达性分析
  • Android 界面刷新原理
  • Android 性能优化有哪些方法
  • 观察者模式、责任链模式
  • OkHttp 内部实现、有没有缓存
  • 从输入一个 URL 到看到一个页面的过程
  • 看过哪些书
  • 是否是实验室作开发的同窗中最强的

HR面架构

  • 为何来头条
  • 做为项目负责人,完成了哪些工做
  • 实习时长、何时来

三. 腾讯
一面(3/12 19:00,电话,40 分 34 秒)框架

  • 能不能来深圳
  • 介绍项目
  • 为何用 SharedPreferences,怎么存 JSON
  • 项目中遇到什么难题
  • 广播和组播
  • 数据库优化

二面(3/15 14:50,电话,17 分 46 秒)ide

  • 上过哪些计算机课程
  • Java 类加载
  • Android 类加载,DexClassLoader有什么用
  • 散列表有哪些解决冲突的方式
  • LinkedList 和 ArrayList 比较
  • TCP 的拥塞控制
  • 能不能来深圳

四. 美团(3/14 下午, 现场,大约 4 小时)
一面

  • 自我介绍
  • 项目来历
  • 线程和协程,为何协程比线程效率高
  • RecyclerView 图片错位问题
  • Fragment 的 commitAllowStateLoss 方法
  • Activity 与 Fragment 怎么通讯
  • Handler 怎么解决内存泄漏问题
  • 其余内存泄漏状况

-单击事件和双击事件哪一个先触发

  • 不考虑具体页面,怎么从根本上优化界面卡顿
  • 描述一下 Handler 的原理
  • 依次打印二叉树每层最左边的结点

二面

  • 怎么判断对象是否要进入老年代
  • Eden 和 Survivor 的比例和回收规则
  • 新生代为何用复制算法
  • 说一下对 Binder 的理解
  • 说一下 ActivityManagerService、ActivityManagerNative 等- - 几个类的区别
  • 手写各类单例模式
  • 跳台阶问题
  • 求两个链表的交点
  • 判断二叉树是否左右对称(只考虑结构对称,不考虑值)

三面

  • MVP 及 MVP 怎么解决内存泄漏
  • 项目架构
  • 说一下 SharedPreferences
  • 给一个数组,判断是否存在一对相等的前缀和与后缀和
  • 平时怎么学习的
  • 有什么想学的新技术、学习计划

HR面

  • 对咱们部门的印象怎么样
  • 有没有参加别的面试
  • 若是阿里和美团都要你,你选哪一个
  • 家是哪儿的
  • 了解阿里面试状况
  • 实习时长、何时来
  • 了解腾讯面试状况

五。写在最后
分享免费学习资料
对于以前面试过的种种遇到的问题和问到的详细细节,我作了个文档,记录了一些面试须要问道的问题和一些平时学习的视频笔记,(如Flutter.Glide.OPencv.EventBus.自定义View.数据库框架设计.插件化组件化.Binder等都有对应的视频教学)

为何某些人会一直比你优秀,是由于他自己就很优秀还一直在持续努力变得更优秀,而你是否是还在知足于现状心里在窃喜!但愿读到这的您能点赞和关注下,之后还会更新技术干货,谢谢您的支持
领取方式:QQ交流群925019412
a

相关文章
相关标签/搜索