字节跳动 Tiktok后端实习二面面经
实习拷打
1. 自我介绍
2. 实习介绍(我有三段挨个问了下,然后挑了一段让我仔细讲)
3. 实习业务挑一个最有挑战的介绍
4. 实习中用的TCC事务介绍下
5. 场景题:
设计一个计数系统,比如统计一个文章的点赞量,转发量,收藏数。怎么设计这个系统,怎么能保证高并发的数据查询,怎么能保证系统的健壮性
不需要写出代码,说思路设计
实习拷打了20min 场景拷打了30min 总共50min
#牛客激励计划# #牛客AI配图神器# #我的实习日记#
1. 自我介绍
2. 实习介绍(我有三段挨个问了下,然后挑了一段让我仔细讲)
3. 实习业务挑一个最有挑战的介绍
4. 实习中用的TCC事务介绍下
5. 场景题:
设计一个计数系统,比如统计一个文章的点赞量,转发量,收藏数。怎么设计这个系统,怎么能保证高并发的数据查询,怎么能保证系统的健壮性
不需要写出代码,说思路设计
实习拷打了20min 场景拷打了30min 总共50min
#牛客激励计划# #牛客AI配图神器# #我的实习日记#
全部评论

场景题佬觉得这样答会有什么问题吗
考虑高并发使用 redis,选用 set 数据解构,以文章 id 为 key,点赞转发评论收藏为 key,value 为对应的数量。再引入 mq 做为缓冲,将点赞等行为封装成消息,让消费者以自己的消费速率消费,更新 set 集合。

场景题我觉得有两种策略吧:一种是将缓存当作主存储,一种是把DB当作主存储,如果把缓存当作主存储,每次操作通过lua脚本执行就可以,redis本来就是单线程,不会有并发问题,然后定时任务落库。如果把DB当作主存储,那就通过MQ同步就可以,至于数据丢失的问题,肯定是允许部分丢失,MQ消费一定批量消费就可以。然后可以通过 JVM 缓存识别热点数据 JVM 中只缓存热点数据,查询是否点赞或者数量先走 JVM 缓存,JVM 中缓存的数量跟redis可以短时间不一致,设置过期时间然后去查就行。佬看看这样好不好
mark一下场景题
又反问环节吗,我二面没反问环节是不是要挂了
mark一下三月份开面

佬可以请教一下场景题的思路设计嘛
相关推荐
点赞 评论 收藏
分享

点赞 评论 收藏
分享
点赞 评论 收藏
分享

点赞 评论 收藏
分享