字节跳动生活服务后端开发暑期实习一面面经

时长:一小时

零八股,主要问实习和项目

大部分都是让自己介绍

介绍了一下项目分的模块

介绍了一下下单流程消息队列优化

介绍了一下如何解决一人一单和超卖,用消息队列

还有怎么取消支付如何恢复库存

问了一个redis挂了怎么办,答得是集群,然后消息队列保障,还有数据库持久化

手撕有两道,第一道合并两个有序数组。太紧张看错题写成合并有序链表了。面试官说没事接着写吧

然后问如何合并多个有序链表。把顺序合并和归并合并优化说了。让计算时间复杂度。归并的复杂度算错了(下去又看了一下,我没算错,面试官以为是力扣官解,但其实是更优解法的)

第二个手撕是岛屿数量,只让讲讲思路就行,思路用dfs完美讲出来了,然后又问如果想把一个0变成1之后求最大岛屿面积呢。想了半天说了个暴力解

全部评论
秋招吧?
点赞 回复 分享
发布于 08-30 13:01 广东

相关推荐

非计算机专业,考计算机类的卷子。行测挺简单;专业知识跟编程我觉得难,因为我不是计算机专业的。专业知识有考机器学习,也有考计科的东西;编程第一题简单,第二题超时20%通过,第三题什么判断括号不会。接着学习吧,顺便把自己编程第二题的错误答案发一下抛砖引玉。import sysCHAR_MAP = {key: value for value, key in enumerate(["a", "b", "c", "d", "e", "f", "g", "h","i", "j", "k", "l", "m", "n", "o", "p","q", "r", "s", "t", "u", "v", "w", "x","y", "z"], 1)}CHAR_ARR = [(c_1, c_2, c_3) for c_1 in CHAR_MAP.keys() for c_2 in CHAR_MAP.keys() for c_3 in CHAR_MAP.keys()]condition_1 = lambda v_1, v_2, v_3, n: v_1 + v_2 + v_3 == ncondition_2 = lambda v_1, v_2, v_3, D: abs(v_1 - v_2) in D and abs(v_2 - v_3) in Ddef check(n: int, D: list[int]):result: str = Noneresult_arr = []for c_1, c_2, c_3 in CHAR_ARR:v_1, v_2, v_3 = CHAR_MAP[c_1], CHAR_MAP[c_2], CHAR_MAP[c_3]if condition_1(v_1, v_2, v_3, n) and condition_2(v_1, v_2, v_3, D):result_arr.append((c_1, c_2, c_3))if len(result_arr) == 0:result = "NO"else:result_tup = min(result_arr, key=lambda tup: tup[0] + tup[1] + tup[2])result = result_tup[0] + result_tup[1] + result_tup[2]return resultif __name__ == "__main__":data_group_num = int(sys.stdin.readline())for _ in range(data_group_num):a = sys.stdin.readline().split()n, k = int(a[0]), int(a[1])D = list(map(lambda s: int(s), sys.stdin.readline().split()))print(check(n, D))
校招笔试
点赞 评论 收藏
分享
评论
3
12
分享

创作者周榜

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