19届拼多多上岸,感谢牛客!!!
昨天接到offercall,今天正式offer,终于不用在失业边缘徘徊了,各位19的牛油们加油啊。本人4.3号笔试,4.13现场面试,三面一气呵成,整理一下。
一面(问题不分先后):
1.自我介绍
2.介绍项目
3.redis使用场景(分布式session,分布式锁,简易消息队列实现等等)
4.redis集群(哈希槽,主从复制,节点***,MOVE和ASK等等)
5.乐观锁和悲观锁(先说两者概念,引出sync和cas,谈下锁升级和详细cas过程及java中的应用)
6.线程池类型?***d和fixed区别?(本来想详细介绍一下线程池执行流程和初始化参数,但面试官说不用了)
7.hashmap和concurrenthashmap介绍?(个人总结,介绍hashmap从内部和外部两点说,穿插介绍1.7和1.8的差异,外部介绍hashmap实现哪些接口,继承自哪些类,兄弟姐妹还有谁等等,内部主要介绍数据结构与变量,put方法,扩容方法,get方法等等。concurrenthashmap要分为1.7和1.8介绍,1.7主要介绍segment初始化,段内扩容机制,并发度,如何对segment加锁,put方法,get方法,size方法中的整体锁等等,1.8主要介绍sizeCtl变量,节点类型,put方法,核心并发扩容transfer方法实现,size方法实现与1.7的差别)
8.一致性哈希介绍(了解不是很深,只是简单介绍一下结构和虚拟节点)
9.oom出现(虚拟机栈或本地方法栈堆动态扩容不足,java堆中引用无法正确释放,方法区中加载类爆炸)及如何解决(先分析问题出现原因,内部命令或可视化工具均可,调整虚拟机内存或gc策略尝试解决)
10.gc算法说一下?(从判断可回收对象开始一直说,说到垃圾收集器就差不多了,白皮书还是挺有用的,已经看了两遍)
11.笔试第四题说下思路
12.手撕算法,树层次遍历变形题,leetcode原题
13.有什么想问的
二面(交叉面,问题不分先后):
1.自我介绍
2.项目介绍
3.笔试第四题说下思路
4.手撕算法,最大连续子数组和(简单变形,还需要输出最大数组和的起始下标和结束下标)
5.还用过vue,介绍一下?(由于自己也不是很了解,就说了一下组件化,前端路由,动态数据绑定等等,前端小伙伴求轻喷)
6.分布式了解哪些?(共识算法,分布式事务,分布式session,负载均衡策略,dubbo和zk等等)
7.nginx都用了什么?(负载均衡,动静资源分离,https证书,跨域处理,缓存压缩,滚动日志分割等等,这个记得最清楚,因为当时一个上线项目的集群都是我搭的,自己几乎把所有坑踩了一遍,哈哈哈)
8.平常怎么学习的?(看书,看博客,记笔记,画思维导图等等)
9.你们团队开发都是几个人?都负责什么工作?出现问题如何处理?
10.有什么想问的?
好像面试官并不是java的技术栈,并没有问太多java的问题,更多是聊人生和架构之类的东西,还好自己这方面都有所涉及。
三面(hr面,很常规,就不说了)
这里很感谢牛客提供交流和学习的平台,特别整理这篇面筋回馈各位牛油们,大家一起加油吧!!!
#面经##拼多多##春招##Java工程师#
一面(问题不分先后):
1.自我介绍
2.介绍项目
3.redis使用场景(分布式session,分布式锁,简易消息队列实现等等)
4.redis集群(哈希槽,主从复制,节点***,MOVE和ASK等等)
5.乐观锁和悲观锁(先说两者概念,引出sync和cas,谈下锁升级和详细cas过程及java中的应用)
6.线程池类型?***d和fixed区别?(本来想详细介绍一下线程池执行流程和初始化参数,但面试官说不用了)
7.hashmap和concurrenthashmap介绍?(个人总结,介绍hashmap从内部和外部两点说,穿插介绍1.7和1.8的差异,外部介绍hashmap实现哪些接口,继承自哪些类,兄弟姐妹还有谁等等,内部主要介绍数据结构与变量,put方法,扩容方法,get方法等等。concurrenthashmap要分为1.7和1.8介绍,1.7主要介绍segment初始化,段内扩容机制,并发度,如何对segment加锁,put方法,get方法,size方法中的整体锁等等,1.8主要介绍sizeCtl变量,节点类型,put方法,核心并发扩容transfer方法实现,size方法实现与1.7的差别)
8.一致性哈希介绍(了解不是很深,只是简单介绍一下结构和虚拟节点)
9.oom出现(虚拟机栈或本地方法栈堆动态扩容不足,java堆中引用无法正确释放,方法区中加载类爆炸)及如何解决(先分析问题出现原因,内部命令或可视化工具均可,调整虚拟机内存或gc策略尝试解决)
10.gc算法说一下?(从判断可回收对象开始一直说,说到垃圾收集器就差不多了,白皮书还是挺有用的,已经看了两遍)
11.笔试第四题说下思路
12.手撕算法,树层次遍历变形题,leetcode原题
13.有什么想问的
二面(交叉面,问题不分先后):
1.自我介绍
2.项目介绍
3.笔试第四题说下思路
4.手撕算法,最大连续子数组和(简单变形,还需要输出最大数组和的起始下标和结束下标)
5.还用过vue,介绍一下?(由于自己也不是很了解,就说了一下组件化,前端路由,动态数据绑定等等,前端小伙伴求轻喷)
6.分布式了解哪些?(共识算法,分布式事务,分布式session,负载均衡策略,dubbo和zk等等)
7.nginx都用了什么?(负载均衡,动静资源分离,https证书,跨域处理,缓存压缩,滚动日志分割等等,这个记得最清楚,因为当时一个上线项目的集群都是我搭的,自己几乎把所有坑踩了一遍,哈哈哈)
8.平常怎么学习的?(看书,看博客,记笔记,画思维导图等等)
9.你们团队开发都是几个人?都负责什么工作?出现问题如何处理?
10.有什么想问的?
好像面试官并不是java的技术栈,并没有问太多java的问题,更多是聊人生和架构之类的东西,还好自己这方面都有所涉及。
三面(hr面,很常规,就不说了)
这里很感谢牛客提供交流和学习的平台,特别整理这篇面筋回馈各位牛油们,大家一起加油吧!!!
#面经##拼多多##春招##Java工程师#