金三银四你准备好了吗?接下来总结一下阿里、美团、腾讯的面试经历和一份Java面经。

阿里


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

  • 自我介绍
  • 项目来历
  • MySQL 和 MongoDB 的区别
  • 关系型数据库和非关系型数据库的区别,各自在什么情况下使用
  • 为什么海量数据时适合用非关系型数据库
  • 为什么研究生读的通信,而不是计算机
  • 上过或自学过哪些计算机课程,对计算机网络挺熟悉的吧
  • 对 HTTPS 有没有了解,有没有写过相关代码
  • 老板有 2000 元给我和同学分钱,首先由我提出分钱方案。如果同学不同意,则总额变为 1000 元,并由同学提出分钱方案。如果这时我不同意,则俩人各拿 100 元。请问一开始我应该怎么给出分钱方案?
  • 假设有一个线程在取队列中的消息,怎么停止这个线程
  • 读过哪些源码,分别说一下 Android 和 Java 的
  • 读过哪些 Android 开源库源码
  • 项目中遇到过什么难题
  • 印象深刻的几次学习经历
  • 看你用过 Ubuntu,平时是不是用 Linux,熟悉Linux吗,都用它干什么
  • 有什么问题想问的

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

  • 介绍一下项目
  • 一连串问了多个问题关于项目中给设备配置入网过程的细节
  • 项目中与设备通信的数据格式,还可以用哪些数据格式,做过什么优化
  • 设计一种变长的传输数据格式
  • UDP 和 TCP
  • 介绍一下 MQTT 协议(项目中用到的一个协议)
  • 项目中有没有做过一些监控日志
  • Elasticsearch是什么(因为我说到才问的)
  • CrashHandler 的实现
  • 设计一个日志监控和上传模块,深入问了很多细节和考虑的方面
  • Android 各个版本的变化
  • 介绍一下 Flutter 框架
  • 平时怎么了解和学习新知识的

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

  • 问了很多项目细节,关于本地存储、音乐播放等基础模块的封装
  • 有没有把音乐播放模块开源出去
  • 项目中解决过什么难题
  • HTTP/2.0 有什么变化
  • 在一个手机屏幕上有两列(类似于瀑布流),给你一些高度不同的 item,怎么摆放才能让这两列的整体高度最小?
  • HR面(3/28 20:16,电话,14 分 47 秒)
  • 为什么来阿里
  • 有什么优势能让你来我们部门
  • 业余有什么爱好
  • 解决难题的经历
  • 遇到过什么挫折
  • 选择上海还是杭州

头条

一面

  • 自我介绍
  • 项目来历
  • 项目中本地存储怎么做的
  • 访问本地存储的类应该怎么设计
  • 说一下对