分享我面试腾讯,阿里,美团的一些经验和面经

 三银四你准备好了吗?接下来总结一下阿里、美团、腾讯的面试经历和一份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 秒)
  •     
  • 为什么来阿里
  •     
  • 有什么优势能让你来我们部门
  •     
  • 业余有什么爱好
  •     
  • 解决难题的经历
  •     
  • 遇到过什么挫折
  •     
  • 选择上海还是杭州

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

一面

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

二面

        
  • 看过哪些书
  •     
  • 说一下《Java 并发编程实战》的作者有哪些人,还认识哪些大牛,比较喜欢谁,会去关注吗
  •     
  • HashMap 版本变化和原理
  •     
  • 手写快速排序并解释
  •     
  • 各种排序的复杂度和稳定性
  •     
  • 类成员的权限怎么定

三面

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

HR面

        
  • 为什么来头条
  •     
  • 作为项目负责人,完成了哪些工作
  •     
  • 实习时长、什么时候来

腾讯

一面(3/12 19:00,电话,40 分 34 秒)

        
  • 能不能来深圳
  •     
  • 介绍项目
  •     
  • 为什么用 SharedPreferences,怎么存 JSON
  •     
  • 项目中遇到什么难题
  •     
  • 广播和组播
  •     
  • 重男轻女,生女孩会生到男孩为止,问男女比例
  •     
  • Gson原理
  •     
  • SQL语句、数据库优化
  •     
  • ORM、DAO、DSL
  •     
  • 模板方法模式

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

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

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

一面

        
  • 自我介绍
  •     
  • 项目来历
  •     
  • 为什么喜欢 Java,然后问了一些 Java 的特性
  •     
  • 线程和协程,为什么协程比线程效率高
  •     
  • RecyclerView 图片错位问题
  •     
  • Fragment 的 commitAllowStateLoss 方法
  •     
  • Activity 与 Fragment 怎么通信
  •     
  • Handler 怎么解决内存泄漏问题
  •     
  • 其他内存泄漏情况
  •     
  • 单击事件和双击事件哪个先触发
  •     
  • selector 为什么能够切换背景,原理是什么
  •     
  • 不考虑具体页面,怎么从根本上优化界面卡顿
  •     
  • SurfaceFlinger、VSYNC
  •     
  • 描述一下 Handler 的原理
  •     
  • 依次打印二叉树每层最左边的结点

二面

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

三面

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

HR面

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

Java面经

第一章:java基础

二面腾讯、三面阿里、四面美团的经历和一份Java面经


第二章:集合类Set

二面腾讯、三面阿里、四面美团的经历和一份Java面经


第三章:锁volatile synchronized Lock ReentrantLock AQS CAS

二面腾讯、三面阿里、四面美团的经历和一份Java面经


第四章:java多线程

二面腾讯、三面阿里、四面美团的经历和一份Java面经


第五章:Java进阶ssh/ssm框架

二面腾讯、三面阿里、四面美团的经历和一份Java面经


第六章: Java内存模型和垃圾回收

二面腾讯、三面阿里、四面美团的经历和一份Java面经


第七章:Juc包

二面腾讯、三面阿里、四面美团的经历和一份Java面经


设计模式

二面腾讯、三面阿里、四面美团的经历和一份Java面经


第七章:数据结构与算法

二面腾讯、三面阿里、四面美团的经历和一份Java面经


第八章:数据库

二面腾讯、三面阿里、四面美团的经历和一份Java面经


第九章:网络

二面腾讯、三面阿里、四面美团的经历和一份Java面经


这份文档的内容很多,所以只为大家整理出来了目录,获取这份  点击此处  凭截图获 即可获取~

第十章:操作系统

二面腾讯、三面阿里、四面美团的经历和一份Java面经


第十一章:Linux命令

二面腾讯、三面阿里、四面美团的经历和一份Java面经

获取方式:点击此处  凭截图获 即可获取~

全部评论

相关推荐

尊尼获获:闺蜜在哪?
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务