恭喜学长上岸我给西电丢人了😂😂
点赞 1

相关推荐

1.自我介绍2.第一部分:项目深挖3.问题 1:请简单介绍一下你用 C++ 实现 RAG 系统的流程,分块、向量化、存储、检索这几个环节分别是怎么做的?是自己手写还是调用第三方库?4.问题 2:项目依赖的第三方库是如何管理的?5.问题 3:依赖库有更新时,你是如何维护的?6.问题 4:项目中遇到了哪些性能瓶颈或现实问题?7.问题 5:性能优化前后的数据对比是怎样的?精度是如何衡量的?8.问题 6:SQLite 的写操作可以是多线程的吗?如果需要并发写入怎么处理?9.第二部分:C++ 语言基础10.问题 7:C++ 中的 inline 关键字有什么作用?有什么缺点?是否可以用于虚函数11.问题 8:在头文件里定义一个全局静态变量,它存在进程地址空间的哪里?如果被多个源文件包含会怎样?12.第三部分:数据结构与数据库13.问题 9:常用的数据结构有哪些?在你的项目中用到了哪些?14.问题 10:数据库索引一般用什么数据结构?B 树和 B 加树有什么区别?15.第四部分:网络与安全16.问题 11:HTTPS 相比 HTTP 多了什么?它是如何确保连接安全的?17.反问。面试官在问第一个问题的时候,看起来表情都不是很耐烦,我就知道肯定挂了,不过不管怎么样,也算积累面试经验了。
查看12道真题和解析
点赞 评论 收藏
分享
头像
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道真题和解析
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务