拼多多服务端开发面经一面

面试公司:拼多多
面试岗位:服务端开发
面试问题:
1.自我介绍
2.介绍实习的项目
3.围绕业务问问题
​-1.系统会不会跟库存有冲突?(超卖?)
​-2.第三方接口坏掉了,库存这么确定呐?
​-3.你在里面参与了什么工作?觉得哪些是有挑战性的?)
​-4.怎么说服业务方迁移?
​-5.迁移的流程,如何保证没有问题?
4.对springboot有什么认识?(IOC,AOP)
5.spring循环依赖问题(三级缓存 )
6.spinrgboot简化了spring哪一个部分的工作量?
7.redis介绍一下
8.MT的redis集群怎么同步的?
9.redis对过去的数据怎么处理(删除和内存淘汰策略)
10.系统的负载均衡怎么做的??
11.系统的流量的qps??
12.集群有几台机器??上游掉这十几台机器的流量是均衡的吗(负载均衡)??
13.手撕:
-1.最大子数组和
-2.二维数组的最大子数组和
o(n^3)时间复杂度,先o(n^2)暴力遍历选哪些行(连续),然后把选中的行加到一块去(可以用前缀和快速求出同一列上这些行的和),在按一维按o(n)的时间复杂度去找最大的子数组和。

#软件开发笔面经#
全部评论
我也是最大子数组和,拼多多这么喜欢考这道题么
点赞 回复 分享
发布于 03-07 10:55 上海
哥,算法是ACM模式吗
点赞 回复 分享
发布于 02-26 19:02 湖南
哥,你这是什么时候的面经,拼多多流程这么快,一天三面吗?
点赞 回复 分享
发布于 02-20 15:55 湖北

相关推荐

第一次写评论。题目做得很惨,全是一些稀奇古怪的Bug,鉴定为长时间没写过代码导致的。大致记录一下我的做题经历。第一题:求幸运年份。直接暴力就可以写,注意要输入的年份先加一后判断,否则的话一个测试点都过不了。很水的一道题,大概花了7分钟。第二道:求开灯数量。我的首选思路是使用队列,笔试的时候也采用的这个方案。先找到这些灯开启后会直接影响哪些灯的开关,再使用队列求解。这道题要背大锅,卡了我一个多小时,一直段错误,给我改得怀疑人生,后来一行一行打印发现数组忘记加[]了,然后,紧急修改了后对了0.9多,实在没精力改这个题了。第三题:求最小的驼峰数组。这道题维护一个前缀数组和一个后缀数组就好了,然后分别枚举峰值的位置,判断最小值。这道题比上一道简直顺了太多了,至少我只是忘记查找的是最小值了,还有maxs的默认值太小导致得不到正确解等小问题,大概花了27分钟。第四道题:求能否到达n号营地。我的思路是广搜或者动态规划(?没试过)。还是时间不够的锅。我匆匆读了一遍题,看了眼样例就开始写了,样例过了就开交,然后就G了,仔细一看,发现是广搜时没有记录路径导致的路径上存在剩余的补给,而且忘记输出-1了!太抽象了,然后只有3分钟了,放弃了,-1都没输出。但是就我目前对于广搜的思路来讲的话可能会在某些测试点上超时?不确定。
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
07-28 15:15
门头沟学院 Java
面试八股环节还好,但是我是力扣战士,面试官让在编译器上写代码类都不会怎么写了,两个算法,字母异位词和策略模式,只写了方法,力扣战士凉透了,希望大家平时还是要在编译器上做题策略模式等一些设计模式,希望大家也进行默写,别像我一样会背不会写字母异位词import java.util.*;public class Main {public static List<List<String>> groupAnagrams(String[] strs) {// 用于存储分组结果的映射,键为排序后的字符串,值为对应的字符串列表Map<String, List<String>> anagramGroups = new HashMap<>();for (String s : strs) {// 将字符串转换为字符数组并排序char[] chars = s.toCharArray();Arrays.sort(chars);String sortedStr = new String(chars);// 如果映射中不存在该键,则创建一个新的列表anagramGroups.computeIfAbsent(sortedStr, k -> new ArrayList<>());// 将当前字符串添加到对应的列表中anagramGroups.get(sortedStr).add(s);}// 返回映射中的所有值(即所有分组)return new ArrayList<>(anagramGroups.values());}public static void main(String[] args) {// 示例输入String[] strs = {"eat", "tea", "tan", "ate", "nat", "bat"};// 调用方法获取分组结果List<List<String>> result = groupAnagrams(strs);// 输出结果for (List<String> group : result) {System.out.println(group);}}}策略模式// 支付策略接口interface PaymentStrategy {void pay(double amount);}// 微信支付实现class WechatPay implements PaymentStrategy {@Overridepublic void pay(double amount) {System.out.println("使用微信支付:" + amount + "元");// 微信支付具体实现逻辑}}// 支付宝实现class Alipay implements PaymentStrategy {@Overridepublic void pay(double amount) {System.out.println("使用支付宝支付:" + amount + "元");// 支付宝支付具体实现逻辑}}// 银行卡支付实现class BankCardPay implements PaymentStrategy {@Overridepublic void pay(double amount) {System.out.println("使用银行卡支付:" + amount + "元");// 银行卡支付具体实现逻辑}}// 支付上下文(策略持有者)class PaymentContext {private PaymentStrategy strategy;public PaymentContext(PaymentStrategy strategy) {this.strategy = strategy;}public void setStrategy(PaymentStrategy strategy) {this.strategy = strategy;}public void executePayment(double amount) {strategy.pay(amount);}}// 主类和测试代码public class Main {public static void main(String[] args) {// 创建支付上下文PaymentContext context = new PaymentContext(new WechatPay());// 使用微信支付context.executePayment(100.0);// 切换为支付宝支付context.setStrategy(new Alipay());context.executePayment(200.0);// 切换为银行卡支付context.setStrategy(new BankCardPay());context.executePayment(300.0);}}
查看2道真题和解析
点赞 评论 收藏
分享
评论
8
46
分享

创作者周榜

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