哔哩哔哩

收藏
文娱内容
1000-9999人
上市
上海/北京/广州/重庆
学历友好榜高校必争榜牛客指数榜
查看官网
上传简历
职位类型
全部
后端开发
前端开发
客户端开发
测试
数据
更多
最新
热门
头像
04-20 22:26
南京大学 Java
攒人品ing~(一天三面我燃尽了)个人背景介绍一、 项目深挖:高并发博客系统架构面试官提问:你的并发控制和API限流是怎么做的?面试官追问:点赞的接口限流具体怎么实现的?面试官追问:数据最终怎么落库?MQ消息丢了怎么办?二、 场景题:使用Redis实现QPS/QPM/QPD限流面试官提问:如果要用Redis限制一个接口在滚动窗口下的QPS、QPM、QPD,怎么做?第一版思路:将时间单位拼接到Redis Key中。面试官指出:这会导致Key数量爆炸式增长。第二版思路:使用Hash结构,记录用户在特定时间窗口内的访问次数。面试官指出:这种方式只能记录自然时间(如自然天、自然秒),无法满足滑动窗口的需求。第三版思路:使用ZSet实现滑动窗口,Score设为时间戳,Value设为唯一标识。每次请求进来先移除时间窗口之前的数据,再使用 `ZCARD` 统计当前元素个数来判断是否限流。面试官指出:在QPD(每天调用量)极大且高频的场景下,ZSet会导致元素过多,产生大Key问题。第四版思路(最终被认可):针对精度要求没那么高的QPM/QPD,采用“分桶计数”思想。将一天24小时分为1440个分钟桶,使用String存计数值。每次判断时只需将最近时间段内的桶数据相加即可,旧桶设置自动过期销毁。表示该方案可行。三、 项目深挖:缓存三大问题解决方案面试官提问:你在项目中提到的“布隆过滤器 + 互斥锁 + 逻辑过期”是怎么协同工作的?四、 手撕算法题目:LeetCode 124. 二叉树中的最大路径和。五、 反问环节问:入职后实习生的主要工作内容是什么?问:团队内部对于AI写代码的认可度如何?问:对我今天面试表现的评价和建议?
查看9道真题和解析
点赞 评论 收藏
分享
04-15 19:50
已编辑
吉林大学 golang
查看15道真题和解析
点赞 评论 收藏
分享
查看8道真题和解析
点赞 评论 收藏
分享
1.对话平台的 SSE 流式响应输出,是用组件做的还是自己实现的?2. fetch 跟 XMLHttpRequest 有什么区别,使用场景?3. vue-virtual-scroll 虚拟滚动的原理是什么,怎样实现的?4. 如何避免滚动时组件的重复渲染,如何减少父组件更新、子组件更新?5. Vue2 和 Vue3 哪一个兼容性更好?6. 在 Vue 中如何进行错误捕获、异常捕获?7. Vue3 和 Vue2 目前哪一个用得更多?8. Pinia 如何减少组件重复渲染?9. Pinia 和 Vuex 的区别与使用场景?10. Pinia 如何实现时间旅行(撤销重做)?11. Webpack 5 模块联邦是什么?12. Webpack 5 有哪些新特性?13. React 19 有哪些新特性?14. taro多端跨端是怎样实现的?15. TypeScript 中 any 和 unknown 的区别与使用场景?16. WebAssembly 的实现原理?17. B 站使用 WebAssembly 主要做什么?18. 最新的 ECMAScript 提案有哪些?19. HTML 页面加载渲染流程是什么?20. AI Coding 工程化可以怎么做?21. AI 养龙虾是什么?22. AI 养龙虾有什么缺点?第一场大场面时,好多题答的都是磕磕绊绊的,面试的时候面试官总结还说我回答的挺好的,但最后还是挂了纯发好人卡了
查看22道真题和解析
点赞 评论 收藏
分享
分享我的面试经验
模拟面试
真实面试体验,快速补齐短板
应聘感受
暂无应聘感受
牛客网
牛客网在线编程
牛客网题解
牛客企业服务