拼多多一面
1.自我介绍
2.介绍一下mysql索引?为什么用B+树?
3.网络IO模型?什么是多路复用IO?select和epoll的差别?select具体过程?
4.java类加载机制?双亲委派模型的好处?
5.进程和线程的区别?线程是不是越多越好,为什么?操作系统怎么调度的,调度算法?java中cpu调度是线程还是进程?
6.数据库事务?隔离级别?
7.java线程变量怎么实现的?内存模型?
8.手撕代码
9.用数组模拟循环链表
10.堆排序实现
11.JAVA并发包组件了解多少
12.线程的一个状态转换图
13.HashMap和HashTable以及CocurrentHashMap详细说明
14.SpringMVC的整个执行流程
拼多多二面
1.自我介绍
2.数据库索引?B+树?为什么要建索引?什么样的字段需要建索引,建索引的时候一般考虑什么?怎么解决分库分表?
3.数据库事务特点?事务隔离级别?项目中的事务实现?脏读、不可重复读、幻读各举个例子?
4.Spring bean的生命周期?默认创建的模式是什么?不想单例怎么办?
5.谈谈Kafka和ZooKeeper了解情况?
6.设计模式,单例模式,怎么保证线程安全?锁效率太低,怎么提高效率?CAS?CAS本质是什么?什么是原子性?Compare and Swap,为什么能保证原子性(涉及到CPU指令)?分布式锁?
7.还有什么设计模式?工厂模式有几种,都讲讲?
8.数据库表是怎么设计的?数据库范式?设计的过程中需要注意什么?enum类型的值一般怎么存?如果有一个十几位的小数为了不丢失精度怎么存?tinyint几个字节,int几个字节?
拼多多三面
1.项目介绍
2.Redis简要介绍下,有哪些常用的数据结构?
3.Redis是单线程的?Redis为什么查询数据这么快?
4.Redis并发竞争key如何来解决?
5.有接触过哪些消息队列中间件?如何来选型?
6.谈谈你对SOA以及微服务的理解?
7.具体谈谈Spring Cloud服务和注册?
8.分布式场景面临的最大挑战是什么?
9.分布式场景数据同步如何来解决?
总结:
技术面中,如果项目丰富,会聊项目,所以好的实习、竞赛经历很重要;没有项目会考察基础算法比较多;技术面都会有编程题,难度不大,基本不超过 leetcode 的中等难度。总监面就是聊聊实际问题的解决能力,未来的职业规划,对公司的看法等等;
HR面就是看看有哪些offer,打算在哪工作,薪资的预期,为什么想要来这个公司(要学会大夸特夸)。
最后
分享这四个月以来收集一些的Java学习资料,最新大厂面试题以及答案,应该对你们有所帮助。
获取方式:
原文链接:https://www.toutiao.com/i6851828516850401795/