沉淀日志

今天没有任务,只能自学。
 上午学习了一下mongo,中午猛猛干饭,下午看到有一个很火的项目12306,当然这个项目本身没有什么特别厉害的点,奈何人家标榜秋招必会项目噶韭菜呢。
不过其中一些业务思想比如应对高并发,怎么用redis保证一致性,还有分库分表如何找对应分片,设计思想模式值得去学习。
没有任务的日子真的过的很慢,我也不好当着人面刷力扣或者看面经。
广州的厂为什么不能多一点,有广州谁愿意去北京上海呢😅,最近一直在焦虑这一个难题,目前的想法是找机会去外面攒一个大的实习,才有资本回来广州竞争上岗
全部评论
深圳不行吗,广州有什么好的😂
点赞 回复 分享
发布于 2024-02-09 22:06 河南

相关推荐

一、开场与项目基础先做个自我介绍。为什么用消息订阅异步落库,而不是同步写库?系统峰值大概在什么级别?有考虑过为什么库支撑不了吗?二、消息队列可靠性MQ 写失败了,怎么保证消息不丢?是先批量更新数据库,再写推送状态吗?先更新数据库再推送?如果推送状态写失败了会怎么办?可以支持重试吗?如果更新成功、推送也成功,重试一次会怎么样?会推两条吗?三、分布式锁项目里用的分布式锁具体怎么实现?锁是怎么释放的?锁过期时间设 30 天,30 天内重试会有什么问题?正常用 Redis 实现防并发的分布式锁,应该怎么实现?释放锁在哪里释放?正常请求结束后,在哪个环节释放锁?四、MySQL 优化线上一条 SQL 执行 5 秒,怎么优化?这 4 种 SQL case,哪些能命中索引,哪些命中不了?知道什么是 ICP 优化吗?五、高并发:商品超卖活动限量 100 件,说出三种防止超卖的方案,并对比优缺点。详细说下 Redis + DB 这种方案,怎么保证 Redis 和 DB 的一致性?这种方案和第二种 Redis + MQ 方案有区别吗?Redis + MQ 方式下,怎么保证 Redis 和 DB 的数据一致性?比如 Redis 扣减成功、MQ 写失败怎么办?如果加入对账机制,对账需要哪些数据?上游、下游分别要存哪些数据?六、大数据量分页与分库分表订单表 5000 万数据,分页查询怎么优化?订单表达到 1 亿条,单表查询越来越慢,怎么处理?水平分表具体怎么分?用户订单表,根据什么字段切分比较合适?七、数据库死锁数据库死锁产生的原因是什么?怎么避免?生产或日常开发中有没有遇到过死锁问题?八、Redis 缓存问题什么是缓存雪崩、缓存穿透、缓存击穿?分别怎么解决?九、缓存更新策略先更新数据库还是先更新 / 删除缓存?方案是什么?先更新 DB 再删缓存,那什么时候写缓存?十、限流方案实现严格一分钟内的请求限流,用 Redis 怎么做?还有其他限流方法吗?滑动窗口(ZSET)、令牌桶、漏桶这几种方案有什么区别?适用场景分别是什么?十一、前端基础前端平时有接触吗?比如 JS?什么是跨域?为什么会有跨域?怎么解决?了解 CSRF 攻击吗?怎么防御?防 CSRF 的 Token 怎么生成?十二、分布式事务了解什么是分布式事务吗?说一下两阶段提交。十三、算法题完成两道算法题,并讲解代码思路。十四、AI 工具与 Agent日常开发用过哪些 AI 工具?豆包帮你解决了什么问题?Cursor 是付费会员吗?怎么付费?AI 生成的代码怎么验证正确性?让 AI 写一个 Redis 分布式锁工具类,你会怎么描述需求、怎么写 Prompt?系统客服角色接入大模型做智能问答,整体架构和流程怎么设计?RAG 的整体流程是什么?一份文档怎么向量化接入?向量检索后,是把所有相关 wiki 都交给大模型吗?检索出的内容做精简压缩用什么实现?什么是 AI Agent?和普通写 Prompt 有什么区别?
点赞 评论 收藏
分享
03-25 14:47
已编辑
门头沟学院 Java
实习项目拷问实习期间项目挑一两个重点说一下如何定位慢sql这是一个什么联合索引为什么不给中间的status的填进去?好问题表的数据量有没有分表,怎么分表?按月分表,那么分页查询怎么查?前端有传时间范围单表查询时长?10ms到50ms深分页怎么处理?缓存优化怎么做的?主动更新缓存失败?主动更新的并发问题?用的是什么消息队列?消息丢失怎么处理?这个系统可用性如何考虑的?定时脚本:解决入队失败,以及消费这个回调失败 ,缓存降级缓存命中率?基础知识服务器如何识别http的请求头和请求体的?cookie在http中如何传输 ?如何实现一个线程安全的任务队列?数据库为什么要有连接池?刚才你说到数据库连接池为了防止链接频繁的创建销毁,那么像http服务器,rpc服务器他们的连接就是频繁创建和销毁没有连接池,那为什么数据库需要连接池呢?答:因为数据库连接是昂贵、有状态、数量有限的资源,而 HTTP/RPC 是轻量、无状态、可快速销毁的,所以数据库必须用连接池来复用,HTTP 不需要。1. 连接成本完全不一样HTTP 连接:只是一个 TCP 短连接,用完就断,没有状态、没有认证、没有会话上下文,创建销毁非常轻。就算用 HTTP 长连接,也是复用 TCP,不是复用业务状态。数据库连接:是有状态的重量级连接:TCP 握手 + 用户名密码验证 + 权限检查 + 会话初始化(事务、锁、缓存区)。这个成本是 HTTP 的 几十倍上百倍。2. 生命周期完全不同HTTP 请求:一次请求一次连接,用完即丢,非常短暂。数据库连接:一旦建立,可以持续复用很久,完全没必要每次执行 SQL 都重新建连接。3. 数据库对连接数量极其敏感数据库有严格连接上限(MySQL 默认 151)。连接多了,数据库会:内存暴涨、线程爆炸、锁冲突、直接夯死。而 HTTP 服务器扛几万连接都没事,因为它是非阻塞、IO 多路复用,不占很重的资源。算法题:数组平方后的不同数
查看21道真题和解析
点赞 评论 收藏
分享
1. Guava Cache 和 Caffeine 分别使用了什么缓存淘汰算法​2. 实际项目里本地缓存命中率大概多少​3. 引入缓存带来的风险和解决方案​4. 缓存的读写策略​5. 如何保证缓存和数据库一致性​6. “先写缓存,再异步批量刷库”方案,除一致性外还有哪些潜在风险​7. 如何拦截恶意请求,设计防护手段避免缓存被恶意利用​8. 布隆过滤器原理,如何解决缓存穿透​9. 布隆过滤器误判概率大概多少,如何估计​10. 定时任务 5 分钟一轮询,任务执行超 5 分钟时,如何保证状态不丢失、不阻塞调度​11. 分布式 RPC 为什么要自定义协议,而不用 HTTP​12. 单机 QPS 1w+ 这个数据是怎么统计/得到的​13. RPC 项目目前瓶颈在哪​14. 了解哪些 HTTP 版本,各版本特性​15. HTTP 队头阻塞是什么​16. 队头阻塞是否只存在于 HTTP 层面​17. TCP 会不会存在对应阻塞问题​18. HTTP3 如何解决 HTTP2 在 TCP 上的队头阻塞​19. 为什么 HTTP3 基于 QUIC,而不继续在 TCP 上优化​20. TCP 如何实现可靠传输和流量控制​21. TCP 发送窗口如何根据接收窗口和拥塞情况动态调整,窗口结构如何维护变化​22. TCP 如何判断报文丢失,什么条件触发重传​23. TCP 除重传计时器外还有哪些计时器​24. AI 项目中降低大模型幻觉的具体优化方法​25. 大模型产生幻觉的底层技术原因​26. 算法题:Java 原生数组实现栈,实现常用操作
查看26道真题和解析
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务