拼多多 Java研发工程师 面经
喜提拼夕夕offer,算是第一个大厂的offer吧,写个面经回馈一下牛油们吧。
一面(电面)
时间有点久,内容有些记不太清,记录一下大致问题(顺序不分先后)
自我介绍
- 介绍一下mysql索引?为什么用B+树?
- 网络IO模型?什么是多路复用IO?select和epoll的差别?select具体过程?
- java类加载机制?双亲委派模型的好处?
- 进程和线程的区别?线程是不是越多越好,为什么?***作系统怎么调度的,调度算法?java中cpu调度是线程还是进程?
- 数据库事务?隔离级别?
- java线程变量怎么实现的?内存模型?
-
手撕代码
- 用数组模拟循环链表
- 堆排序实现
二面(电面)
面试官有事情迟到了40多分钟,不过很有礼貌表示了歉意,人非常好,感觉是个技术大佬,思维还有语速都很快,带的我语速都变快了。
自我介绍
- 数据库索引?B+树?为什么要建索引?什么样的字段需要建索引,建索引的时候一般考虑什么?索引会不会使插入、删除***作效率变低,怎么解决(分表***作)?
- 数据库事务特点?事务隔离级别?项目中的事务实现?脏读、不可重复读、幻读各举个例子?
- Spring bean的生命周期?默认创建的模式是什么?不想单例怎么办?
- 设计模式,单例模式,怎么保证线程安全?锁效率太低,怎么提高效率?CAS?CAS本质是什么?什么是原子性?Compare and Swap两步***作,为什么能保证原子性(涉及到CPU指令)?分布式锁?
- 还有什么设计模式?工厂模式有几种,都讲讲?简单工厂模式和工厂方法有什么差别?
- 数据库表怎么设计的?数据库范式?设计的过程中需要注意什么?enum类型的值一般怎么存?如果有一个十几位的小数为了不丢失精度怎么存?tinyint几个字节,int几个字节?
HR面
终面就很轻松了,主要就是问下目前手上有哪些offer,意向工作城市、家庭状况、未来发展规划,以及介绍了下公司的工作制度、福利补贴等,当然还有最重要的期望薪资。当晚就收到了offer的邮件,效率也是很高了。
#面经##拼多多##秋招##Java工程师#
