拼多多 后端二面 面经

二面60min

1.springboot相对spring有什么改进
2.springboot相对spring有什么缺点
3.spring处理循环依赖
8.spring的依赖注入,应用了java独有的什么机制
4.对面向对象的理解
5.对封装继承多态的理解
6.对mysql事务的理解
7.对mysql索引底层的理解

手写单例双重检查锁

面试官基本上都是抛出一个很大的块,让我自己发挥去说,其实没有什么具体的问题,
比如问介绍一下spring,我就从ioc和aop去说,就会引出循环依赖和动态代理,
因为我看过很多spring源码,所以这块回答的很细,回答到了具体哪个函数是做什么的

最后手写双重检查锁,也会问为什么要用volatile,为什么要用两次检查,
说了volatile禁止指令重排,又会引出jmm,以及happens-before原则

总之就是面试官从我的回答中去不断的深入问

反问环节:
问了一下部门具体做什么的,说了一大堆我没怎么听懂,大概意思就是魔改框架的,开发拼多多内部的框架(我说为啥问我那么多框架底层。。。)
#实习面经##面经#
全部评论
我前天晚上9点,问的都是发散的场景题,八股、项目、源码框架什么都没问
点赞 回复 分享
发布于 2022-04-22 08:57
同学你上午就面了么,怎么给我约的晚上八点😂,太晚了也
点赞 回复 分享
发布于 2022-04-21 11:12
还问了如何检测这个双重检查锁是正确的 我答的使用java线程池,多个线程去同时调用,使用future获取执行结果,然后使用==去比较地址 然后还问了我一下==比较的是什么😂 总之就是感觉他想到哪问哪了
点赞 回复 分享
发布于 2022-04-21 10:56

相关推荐

拼多多 暑期实习 二面,总共用时1h 左右, 被面试官疯狂拷打, 估计凉凉。首先介绍项目, 对方完全不感兴趣: 你做的这些和后端开发有什么关系?我简单介绍了下后端相关的,面试官可能觉得太简单了,没有继续问。然后就是痛苦的手撕拷打,持续50mins 左右。问题1: 给你两个班级, 每个班级共有 k 个人,你是班主任,要从每个班级中挑出1个人,使得他们的身高差最小。回答: 先排序, 然后遍历A班级,二分查找B班级中的第一个大于等于(lower_bound)A班级里的那个 的位置,然后比较那个位置和前一个位置。面试官和我不太同频,问我为什么要找第一个大于等于?二分查找不就是找一个位置吗? 面试官笑眯眯的问我是第一次接触二分搜索吗?然后计算时间复杂度。感觉完全不同频。问还有更优解法吗?回答双指针,还是固定遍历A, 然后另一个指针从B开始找比A大的,然后在和前一个也比较,取最小的。这样就是O(n).面试官提示一下,不要局限在当前这个和前一个比较,换种思路。 然后我一直在思考,对方问我双指针要怎么初始化?  因为我还没想好,就没回答。面试官: 双指针要怎么初始化?这你都不懂吗。。。? 怎么不回答我。我说新思路还没想好,面试官表示刚才那种思路的双指针要怎么初始化? 答:都初始化在第一个位置。问题2: 两个班级, 换成 N 个班级, 每个班级选1个人, 要求算出来的人里的 max - min 最小。答没思路, 面试官提示下多个指针? 考虑下指针应该如何移动。我想了想,移动最小的那个指针,直到所有指针都走到末尾,每次移动,从这个N个人里面取最大的,最小的,比较。然后算时间复杂度:n个班,每个班k个人,  我想整体的数据规模是 N = n*k , 然后我用 N 去后续表示。面试官:你为什要定义新的符号N? 算完时间复杂度,问我“从这个N个人里面取最大的,最小的”这部分可以优化吗? 我回答可以使用 map (cpp里的),面试官表示你直接说数据结构,不要说语言中的名字。问这个的时间复杂度,答logn面试官:那你开始写吧。写了大概 3 分钟。 他看了眼。问题3: ping 100ms  , curl http://1.2.3.4:8080/hello  需要多少时间?这里我考虑了4次挥手, 面试官:需要考虑这个吗?答 200ms. 问题4: 直播间,打赏金额最高的100个用户? 你应该如何实现维护?我回答使用 redis 的 zset ,  可以高效的获取top 100.面试官问:这样有什么问题吗? 如果用户特别多的情况。我想了一会,也没想出什么问题,回答没什么思路。面试官:用户太多了会有 大 key 问题, zset 删除的时候会阻塞几秒。 (我不太理解)面试官:你应该考虑怎么优化?答: string 配合 zset 使用, string kv 中存 user, money,  而 zset 中只维护 top 100 的。同时更新这俩。最后, 反问部门业务:拼多多直播带货。技术栈: 面试官看我的简历里面,cpp 太底层了我们这边不用,golang 也不用,主要是 java , 然后 redis, mysql, kafka这些。面试官问我懂不懂二分, 我当时多少有点生气💢, 不过总的来说面试官人还不错,还算友善,给了很多引导。
查看13道真题和解析 牛客创作赏金赛
点赞 评论 收藏
分享
评论
1
24
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务