字节跳动-中国广告与贸易-后端开发
自我介绍和实习省略,实习问了两个相关的,部分八股,无深挖大概20min,手撕了20min
Q4:你在项目中使用了Redis Zset,它是用来做什么的?
A4:
用于实现的定时发布功能。
使用score存储时间戳,按时间戳排序。
通过Spring Task定时任务每秒扫描,查询当前时间戳范围内的帖子并修改状态为已发布。
考虑过使用消息队列,但因实际QPS较低选择了Redis Zset。
Q5:Zset的数据结构是怎样的?
A5:
由跳表和哈希表实现。
哈希表用于O(1)时间复杂度查询key对应的score。
跳表是多级索引结构,类似B+树但更灵活。
叶子节点是单链表,按顺序串联。
索引节点随机分布,没有严格的树高要求。
Q6:B+树是什么?为什么使用它?
A6:
是多叉树,MySQL InnoDB引擎的默认存储结构。
主要解决索引和排序问题。
相比哈希表,B+树能维护有序性。
节点大小通常为16KB页,减少IO次数。
目标是构建宽矮的树,减少访问节点数。
Q7:请解决一道编程题(股票买卖问题)
A7:
初始问题:一次买卖,用last维护前i-1天的最低价格,计算最大收益。
变种问题:必须完成两次买卖,不能当天买卖。
Q8:你有什么问题想问我们?
A8:
询问部门具体业务:生活服务营销部门,做抖音生活服务业务的营销相关。
技术方向:传统Java后端和智能体都有。
面试结果反馈时间:预计几天内。
感觉面试官也不太感兴趣,仅做记录无参考价值。
Q4:你在项目中使用了Redis Zset,它是用来做什么的?
A4:
用于实现的定时发布功能。
使用score存储时间戳,按时间戳排序。
通过Spring Task定时任务每秒扫描,查询当前时间戳范围内的帖子并修改状态为已发布。
考虑过使用消息队列,但因实际QPS较低选择了Redis Zset。
Q5:Zset的数据结构是怎样的?
A5:
由跳表和哈希表实现。
哈希表用于O(1)时间复杂度查询key对应的score。
跳表是多级索引结构,类似B+树但更灵活。
叶子节点是单链表,按顺序串联。
索引节点随机分布,没有严格的树高要求。
Q6:B+树是什么?为什么使用它?
A6:
是多叉树,MySQL InnoDB引擎的默认存储结构。
主要解决索引和排序问题。
相比哈希表,B+树能维护有序性。
节点大小通常为16KB页,减少IO次数。
目标是构建宽矮的树,减少访问节点数。
Q7:请解决一道编程题(股票买卖问题)
A7:
初始问题:一次买卖,用last维护前i-1天的最低价格,计算最大收益。
变种问题:必须完成两次买卖,不能当天买卖。
Q8:你有什么问题想问我们?
A8:
询问部门具体业务:生活服务营销部门,做抖音生活服务业务的营销相关。
技术方向:传统Java后端和智能体都有。
面试结果反馈时间:预计几天内。
感觉面试官也不太感兴趣,仅做记录无参考价值。
全部评论

感觉聊的还行啊
相关推荐
查看15道真题和解析 点赞 评论 收藏
分享