拼多多五轮面试真是太刺激了,之前看到好多面经难度极大,感觉运气还行,面试难度虽然挺大,但面试官人还都不错。而且面试完马上出结果,非常刺激!
本文分享给需要面试刷题的朋友,也祝愿大家顺利拿到自己想要的 offer。
3 月 9 日下午 1:00 一面
- 自我介绍+介绍项目
- 项目中难点及解决办法
- Java 线程的状态及转换
- Java 创建线程的方式
- 创建线程池的方式有哪些
- JUC 包下的类,能说多少说多少
- ReentranLock 与 sychronized 的区别
- volitile 的内存语义,底层如何实现
- 解释一下 happens-before,有哪些规则
- CurrentHashMap 源码
- MySQL 的索引及区别
- 算法题:顺时针打印矩阵
3 月 10 日下午 1:00 二面,
- 深挖项目为主(45min) 介绍项目,项目中的难点(15min)
- MySQL 是如何优化的,数据量有多少
- 倒排索引与正排索引的区别
- ElasticSearch 的原理(倒排索引+TF/IDF)
- Zookeeper 用过吗,介绍一下
- Zookeeper 一般用在什么场景
- 除了 ZAB 协议,在介绍几个分布式一致性协议(Paxos、Raft)
- 线程池的几种拒绝策略及其应用场景
- 大数据框架有哪些
- LSM-tree 应用在那些场景、优缺点
- 意向工作的方向?大数据 or 开发
- 写 SQL:查询每个班级成绩排名前五的学生及成绩
3 月 12 日下午 3:00 三面
- 全程没问技术,聊人生(40min)
- 你对滴滴有什么了解,知道我们的技术栈吗
- 你心中的 top3 公司(送命题)
- 你意向的工作方向?大数据 or 开发
- 还有几个问题不记得了~
3 月 14 日下午 3:00 四面
- 自我介绍,项目提问
- Java 集合类常用哪些,ArrayList 与 LinkedList 区别;
- HashMap 底层实现,为什么扩容是 2 的幂次;
- 如果想要线程安全该怎么用
- JUC 包下对哪些类了解,synchronized 和 JDK 提供的锁区别;
- CAS 原理,ABA 问题;锁升级过程讲一下;
- volatile 讲一下,为什么不能保证原子性
- JVM 内存模型,新生代有哪些区,作用是什么;
- 如何判断对象是否可以被回收(1 引用计数 2 可达性分析)
- JVM 常用垃圾回收算法,讲一下 CMS 原理
- Redis 常用数据结构;有序集合底层实现;
- 查找排名在底层如何实现;如何用 Redis 实现分布式锁,可能遇到的问题和解决办法
- 手撕一个二分查找
3 月 16 日下午 3:00 五面
- 自我介绍,项目提问
- 聊计网,TCP3 次握手过程,第三次是否可以携带数据,如何避免 SYN 攻击(syncookies);
- TCP 四次挥手说一下,为什么要等待 2MSL,第二次和第三次挥手是否可以合并(可以)。
- 操作系统,进程、线程和协程的区别;
- 如果创建很多个线程会有什么问题;
- 进程间通信方式有哪些
- MySQL 索引如何实现,为什么用 B+树不用 B 树二叉树;
- 聚簇索引和非聚簇索引的区别;平时索引优化如何做,最左匹配原则;
- 你的优点,你的缺点(面试官说我们缺点一样)
- 你最近看的技术书籍,我提到《Java 并发编程的艺术》看了三遍,面试官让我详细每一章讲了什么
- 你对互联网行业怎么看
- 如果你的绩效被打了 C 你会怎么办 (这个是一个很大的坑~)
最后
Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+最新大厂面试题。
总结:
祝大家能收获心仪的 offer。