自我介绍
提了字节实习和毕设项目
项目
我听你刚才有听到一些像缓存异步这样的设计,你能介绍一下吗?
像这个线程池你是怎么设计的?
那线程池比如说都满了,就是这个最大线程数也达到了,那怎么办?
没答上来,面试官说可以再设计一个缓冲
像这个缓存你是用在了哪里?
我讲了我论坛的帖子查询接口
查询帖子详情是几个接口返回的?如果是一个接口的话数据结构是什么样的?
评论你是树形结构还是怎么样的?
是你后端组织好评论展示给前端还是前端负责这个评论结构的组织?
评论点赞这个是怎么存储的?
设计题
游戏中的事件,比如用户登录,广告等等会写在日志里。要查询最近七天内所有用户所有广告的平均价格,每个事件一行,保存在日志里,每个日志500-800G,每天零点新写一个文件。怎么去做?
1 如何分析这个需求
2 如何一步一步地去实现(说明细节越多越好)
代码题
还是设计题当中的日志文件,如果某个用户两次查看广告的时间间隔小于1秒,视为无效广告,统计所有广告中无效广告的占比。
答 维护一个哈希表 key是用户ID value是用户上一次广告的时间,然后只需要遍历一遍这个日志就可以了