字节用户增长一面4.28

自我介绍,拷打项目
询问项目的业务场景,提出质疑然后解释用户场景
QPS有多少
索引失效的情况
是否有满足所有规则仍然不走索引的情况
讲一下RedoLog的写入时机
讲一下RedoLog的必要性
kafka怎么保证消息不丢失
讲一下Leader的选举机制
ISR列表是怎么维护的
什么样的follower会保留在列表里
手撕,大数相加(考虑负数情况)
简历上用的是rabbitmq,直接问我kafka的问题,当时懵逼了#牛客AI配图神器#
全部评论
面了多久啊
点赞 回复 分享
发布于 04-29 18:14 天津

相关推荐

拼多多 暑期实习 二面,总共用时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道真题和解析 牛客创作赏金赛
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
04-24 21:51
已编辑
🤔部门:快手支付中台----一面时间:1h1.问实习,觉得实习难点在哪,自己成长最多的地方2.Redis中的string底层结构是什么,zset底层结构是什么,跳表的查询复杂度3.线程池的核心参数如何设置,cpu利用率如何计算,cpu的负载是什么4.介绍一下AQS,加锁和释放锁的流程是什么,底层为什么要使用用双向链表,Synchronized的加锁和释放锁的流程,等待队列和阻塞队列的区别,使用notify后会发生什么5.问看过spring源码吗6.介绍一下Raft,Raft怎么保证强一致性的7.zookeeper使用的一致性算法和Raft有什么区别8.说一下对分布式事务的理解,什么情况下需要使用分布式事务,本地消息表如何保证最终一致性的9.手撕:快排 + 多线程循环打印ABC----二面:时间:40min1.实习介绍2.使用Redis做幂等,会出现什么样的不一致的情况3.Kafka消息的可靠性是如何保障的4.Kafka消息底层是如何存储的,Kafka怎么保障消息分区有序的5.使用Kafka的话,怎么保证写DB和发消息的一致性,使用本地消息表的话本地事务是如何保证的,Transactional注解底层是如何实现的,Transactional内部调用失效的原因以及如何解决6.讲一下MySQL的意向锁7.讲一下JD hotkey的整体架构,如何统计热key的8.简单说下共享单车扫码开锁是怎么一个流程9.手撕:换了两次题,1.丢n次骰子,求和为k的概率(不会)2. LC1044 最长重复子串(不会)3.组合总数----HR面常规问题----oc(已接)
查看17道真题和解析
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务