面试手撕是业务题怎么办,在线等挺急的

wok,PDD二面好专业家人们,面试时间1h23min。

开始问的还是稍微正常的八股,问:
1. new的底层用的什么linux系统调用函数。追问:new和malloc分配失败会怎么样。再追问:new是直接抛异常吗?
2. 虚拟地址是什么。
3. linux的IO多路复用。追问:ET和LT的区别是什么。再追问:如果现在1kMB数据只被读取了500MB,那么在ET和LT模式下会有什么表现?

然后开始架设场景问八股了(汗流浃背.jpg)
场景一:
假如有个支付场景(具体是啥有点没太懂,他扯了好多业务名词,但大致意思应该如下),事务A有下游服务,下游服务通过消息队列解耦。
问:
1. 如何保证消息的不丢失?
2. 如果下游服务已经处理完消息队列取到的数据形成了订单但是还没发ACK,此时下游服务因为某些原因需要重启,并且重启后重新消费到了该数据,那该如何处理不让他再次创建新订单?

场景二:
现在有个订单服务和库存服务,俩服务需要强一致性,两个服务必须要同时成功或者同时失败,俩数据不在同一个MySQL表,问:如何实现?了解过分布式事务吗?有哪些思路?
我直接表示不会,拿计算机操作系统里面的PV操作同步互斥方法说实现。然后再扯了点undolog数据回滚进去,失败就回滚。
面试官笑了,然后说:你可以去了解一下 Seata, TCC,  2PC, 3PC 这种分布式解决方案。

然后又回到了类似八股的题目,问:
1. 跳表和B+树的区别。
2. https流程,会话密钥是怎么生成出来的。追问:CA证书为什么不会被中间人冒充?
3. TCP四次挥手的TIME_WAIT状态设置的意义是什么?追问:如果端口被复用会有什么问题?

接着问我了解不了解 雪花算法,或者说分布式id。
我直接表示没听过,然后面试官就开始让我做设计题了(汗流浃背2.0.jpg),这里应该跟他来回拉扯了15min,挺长的反正。
设计:给多个分布式事务分配ID。
要求:ID不会被重复创建;性能要比较好;ID最好是单调增序分配;最好不要单点故障是能支持分布式的。

然后手撕wok,给了个小业务题,我看见直接懵了,心想   我写这个?真的假的?.jpg
题目太长,我就不打字了,当时偷偷截图了,大伙自己看图片吧。

总之,虽然确实有点小离谱,但是这次面试比上次字节四面好一点,能有拉扯空间,还是学了不少新知识的。
全部评论
pdd二面确实专业的,我也搞了个1h20min,直接头晕,被迫提升
1 回复 分享
发布于 2025-04-04 15:20 广东
好难
点赞 回复 分享
发布于 2025-05-22 00:10 安徽
我一面也是这个题,可能是同一个面试官
点赞 回复 分享
发布于 2025-05-07 04:13 江苏
mark
点赞 回复 分享
发布于 2025-05-01 10:06 北京
最后过了吗
点赞 回复 分享
发布于 2025-04-23 16:18 上海
为什么感觉你的拼多多都好难,我的好像都挺简单的😂😂
点赞 回复 分享
发布于 2025-04-04 18:20 黑龙江
这高强度啊
点赞 回复 分享
发布于 2025-04-03 13:15 福建

相关推荐

两点面完京东火速三点面字节,哎感觉有点神志不清了同时面试官这里我的简历还是前年的,一直没更新过,感觉完全发散想到什么问什么,给我绕晕了移动os部门1 自我介绍2 介绍一段实习经历2.1用的都是Java开发,字节内部大部分是go,转语言学习大概需要多久(回复几周时间,可以看情况调整进度)2.2实习时间安排2.3拷打实习项目3 MySQL聚簇索引跟非聚簇索引区别是什么4 MySQL事务隔离级别5 可重复读解决了什么问题6 间隙锁是什么,发挥什么作用7 MySQL的int占几个字节,bigint占几个字节(4,8 当时这里有点忘了不太确定,面试官一点反馈没有我还以为自己说错了)8 utf8下,varchar(20)最多放几个字符9 int11是什么意思?(宽度的意思?这个当时是真想不起来了,后边一查这玩意MySQL8.0都废弃了)10 如何解决大数据量下的深分页问题11 Redis在项目中主要起什么作用12 Redis热key可能会出现什么问题,如何解决13 Redis常见数据结构,分别有什么作用13.1 zset为什么可以做排行榜13.2 zset底层跳表是个什么结构,是如何根据score排序的(这里一点没答上)14项目中都是单体部署的吗?(回答有用到集群,但也不接着问,有点莫名其妙)15 小程序端发送请求到服务端的过程(只答上了dns解析与tcp连接,没准备过)16 tcp三次握手的过程,为什么需要三次17 有用过消息队列吗?(实习中用过,但也不继续问)手撕sql,有员工表e,部门字段d,查询部门人数多于50的部门,select d from e group by d having count(*)>50,当时没怎么想就写上了,然后马上就给我出下一题手撕 分割回文串 回溯那道先说了下思路,回溯枚举,同时判断是否为回文串,结果面试官一直揪着判断回文串问,因为我说的是双指针头尾遍历,先问我时间复杂度是多少,又让我优化,但是题解上灵神也是这么写的,我看了十分钟也没想到怎么优化,于是先让我写,结果又写了十分钟边界没处理好,面试官说就这样吧进入反问面试表现,有什么建议吗?答: 可以多去大厂实习(...是我不想吗,那你给我过了不就好了)这回答的我有点蒙,也没问业务就结束了暂时想起这么多,面完京东有点晕,都忘了开录音了,不过现在面完三个多小时还没发感谢信,已经知足了,上次面懂车帝半个小时就发感谢信了
查看24道真题和解析
点赞 评论 收藏
分享
03-19 20:17
已编辑
东莞理工学院 Java
📍面试公司:淘米🕐面试时间:03/17💻面试岗位:golang服务端开发❓面试问题:1. 算法:给定一个只包含0和1的数组,最多可以操作n次,返回操作后最长连续1的长度。2. 实习相关内容有哪些?3. redis和MySQL相关知识4.Redis和MySQL的区别是什么5.redis和MySQL的事物区别6. 为什么MySQL要有redo log和undo log?7. Redis的原子性和MySQL的原子性有什么区别?8. Redis是怎么实现原子性的,可以回滚吗,为什么不设计一个回滚?9. Redis有隔离性吗?10. Redis的持久化和MySQL的持久化有什么区别?11. 为什么对于持久化数据要优先选择MySQL?12. MySQL的redo log和bin log职能不是差不多吗?为什么要分成两个呢?13. 如果让你设计,能否把redo log和bin log合并成一个?14. 合并的话数据结构怎么选择(STATEMENT和ROW)?15. 为什么选择混合模式?16. 你对游戏服务端开发了解多少?17. 游戏服务端开发和传统的后端开发有什么区别?18. 如果让你去写一个游戏的后端,需要注意什么问题?19. 游戏后端开发为什么要用长连接?20. 你是怎么使用AI相关技术的?21. 你开发时使用AI的流程是怎么样的?22. 引入了多个skill,你会怎么管理?23. 引入多个skill会触发什么问题?24. 你怎么理解agent?25. agent的调用流程是怎么样的?26. 你觉得agent有哪些地方可以优化?🙌面试感想:面试体验感一般般,面试官老是打断人说话,说的复杂了叫我说简单一点,说的简单了叫我按1234排列从头往后说详细一些,但是大部分问题还是答出来了,有一些问题问的也比较有价值有深度,好在是过了,明天hr面
查看26道真题和解析
点赞 评论 收藏
分享
评论
18
91
分享

创作者周榜

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