明年的金三银四你准备好了吗?接下来总结一下阿里、美团、头条、腾讯的面试经历和一份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、VSYNCSurfaceView 原理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基础
![dc0a0798be74f32e2c9c63f131be3093.png](https://i-blog.csdnimg.cn/blog_migrate/03c905d22cc3251ac49e38d94f65d0e6.jpeg)
第二章:集合类Set
![68e0f0267438d99756cfea5478f0965d.png](https://i-blog.csdnimg.cn/blog_migrate/bbcb93022f4f488638573b390027566d.jpeg)
第三章:锁volatile synchronized Lock ReentrantLock AQS CAS
第四章:java多线程
第五章:Java进阶ssh/ssm框架
![76f1048862ae79c7a1a317f2c2da9bb5.png](https://i-blog.csdnimg.cn/blog_migrate/38e68f4af0d53e5366cce992272347f7.jpeg)
第六章: Java内存模型和垃圾回收
第七章:Juc包
![f75703053a183005fca93c7612b9e442.png](https://i-blog.csdnimg.cn/blog_migrate/8fefaafc4994489c8fddd13691338bee.jpeg)
设计模式
第七章:数据结构与算法
第八章:数据库
![aac92b0a3d7c1eca784aaa49896e8648.png](https://i-blog.csdnimg.cn/blog_migrate/ab3ae2ee0b80143ba2b3a8e198de1049.jpeg)
第九章:网络
第十章:操作系统
第十一章:Linux命令
这本书总结的java面经是我总结过这么多面经里面最全面的一本书。这份文档的内容很多,所以只为大家整理出来了目录,获取这份文档私信【学习】二字即可。
如果大家喜欢小编的文章可以关注转发,万分感谢!