秒杀商城

#简历第一个项目做什么#说实话,第一个项目真的很关键。如果让我选,我还是那句话:秒杀商城项目最稳。
为啥?因为它几乎把后端该考的点全包了:高并发、缓存、限流、消息队列、数据库设计、接口性能优化,面试官一眼就知道你不是只会 CRUD。比起那些“管理系统”“学生选课”,秒杀场景更贴近真实业务,也更容易展开追问。
第一个项目不求多,但一定要有技术冲突、有解决方案、有取舍。把秒杀商城吃透,比堆五个水项目,强太多了。
全部评论
现在的人一看到商城就说是烂大街,眼里造火箭 实际打螺丝的能力都没有
2 回复 分享
发布于 01-16 11:21 北京
感觉你这个说的挺有道理的
点赞 回复 分享
发布于 02-01 18:56 陕西
经历确实很丰富啊
点赞 回复 分享
发布于 01-26 19:03 江苏
看大佬轻车熟路的样子,羡慕
点赞 回复 分享
发布于 01-22 17:25 江西
看你着说的,你肯定是最后拿到个很好的offer吧
点赞 回复 分享
发布于 01-18 20:22 陕西

相关推荐

04-17 11:13
已编辑
厦门大学 Java
还在等hr面结果,发面经,攒攒人品~4.2一面(隔天出结果)主要是八股,问得相对比较基础。八股1、Redis里常用的数据结构有哪些?介绍一下每个数据结构的底层数据结构。2、解释一下跳表是什么?3、Redis常用的淘汰策略有哪些?如果让你实现Redis里面的最少使用淘汰策略(LRU)和基于频率的的淘汰策略有哪些?4、使用缓存的时候要注意避免哪些极端情况?缓存三兄弟说一下。5、简单说一下进程。6、有用过协程吗?7、一个进程在执行fork操作的时候,子进程会继承父进程的什么信息?8、用户态和内核态之间转换的时候发生了什么?9、操作系统的内存管理和内存分配你了解哪些?10、为什么TCP是三次握手?项目1、你项目的Redis分布式锁是怎么实现的?执行什么命令?2、那你这套机制怎么避免死锁问题呢?3、怎么确保这个锁没有被其他的线程抢到?有过期时间吗?4、怎么确保这个锁没有被其他的线程抢到?有过期时间吗?过期时间一定能保证任务已经执行完了吗?5、那如果说你(持有锁的线程)先挂了会怎么样?6、你刚才不是说会对状态机进行回滚?还是说你是对这个后续拿到锁的线程直接退出还是回滚?手撕单向链表删除倒数第N个节点4.9二面(当天出结果)二面感觉是最难的,上来就直接开始拷打消息中间件的细节了。八股和项目结合着问的。最后还问了点场景题。1、能大概解释一下 RocketMQ 的一些机制吗?2、一条消息在 RocketMQ 中的完整消费流程是怎样的?3、生产者是怎么将消息发送到 Broker 的?4、消费者订阅后,消息是拉取还是推送的?5、为什么 RocketMQ 的吞吐量比 RabbitMQ 更高?6、如何保证消息不丢失?7、RocketMQ 中如何保证消息的顺序性?8、了解 Broker 的主从架构吗?10、你项目中消息中间件主要解决了什么问题?11、能简单介绍 Redis 的特性吗?12、Redis为什么这么快?13、如何解决缓存击穿问题?14、如果大量 key 同时过期,该怎么办?15、Redis 的内存淘汰策略有哪些?16、内存淘汰的触发机制是什么?17、了解 Redis 的主从和哨兵架构吗?18、哨兵是如何选举主节点的?19、如果所有从节点都健康,只有主节点挂了,哨兵如何选出新主?20、简单介绍一下你对微服务架构的理解。21、如果微服务中一个核心模块宕机了,有什么缓解方式?22、如果某个特定请求因代码缺陷导致所有实例依次宕机,如何避免这种情况?23、除了限流,常态下如何避免一个用户打挂所有实例?手撕:从数组中找出所有和为target的子集4.13三面(当天出结果)三面基本上都是问实习相关的问题,还问了一点跟项目相关的问题。1、介绍一下你认为最值得说的一个项目。2、介绍一下你的MinIO的纠删码机制。3、MinIO的集群是怎么做的扩容?4、你项目的各个量化指标介绍一下,并且说明是怎么测量以及怎么提升的。手撕:带过期时间的LRU(手动实现双向队列)4.14hr面(等待结果中)主要是了解了一下在实习过程中遇到的问题和解决方法,也问了一下自己对新岗位的期待和一些场景的处理方式。还问了一下到岗时间。总结:四次面试的面试官都很耐心,而且全程都是积极回应我的回答,反问也都很耐心的解答我的问题。希望能够顺利OC4.15更新 已口头offer4.17更新 已offer
点赞 评论 收藏
分享
4/20小厂agent一面复盘1、自我介绍,今天加了句 不知道我的技术栈对不对口 ,面试官就说他们也是go+agent,挺对口的,放松了一点点2、第二个项目2.1 LangGraph和LangChain的区别。LangGraph是状态机,对循环/分支的支持更好,比如我这里的路由会根据用户的问题走不同的分支,blabla面试官问用到循环了吗,我说效果不好的话会循环回去,但我这里比较简单【补充可控性/可观测行的差异】:状态显示、便于trace、调参。3.2 多agent了解吗没在项目里用过,只是了解。比如plan一个agent、执行一个agent、评估一个agent,她们各自分工又互相协作完成复杂的任务。【补充多agent适用场景、代价】适合做任务可分解、子结果可验证的场景,代价是token成本上涨、延迟变慢、调试复杂。3.3 学一下多agent的通信机制。函数调用、RPC。【消息格式】:需要包含role、内容、ctx等(json)【共享状态】:共享全局记忆,任务状态记录、中间过程记录【调度方式】:集中式、去中心【一致性】:冲突解决、投票/评分3.4 GraphRAG的优点传统的RAG只能做向量检索,GraphRAG的话加上实体抽取利用多跳机制,不需要检索全库的向量,而且通过扩展邻域检索更加相近的内容。【多跳关系推理】:不仅是相似度检索,更是 因果/关联链条【可解释性】:给出路径/邻居/证据块3.5 怎么做容错的?没做。只做了证据溯源,相当于肉眼判断吧。答得有点灾难【输入层】:提问非领域---澄清【检索层】:证据不足---换检索策略、调topk;图检索失败--回退向量检索。【生成层】:避免胡编/与证据不一致---触发检查【harness】:记录成样本3、第一个项目3.1 redis的缓存穿透和击穿。击穿用的singleflight、穿透用的空值缓存。别的防穿透方法就是布隆过滤器、加锁、或者也可以做非法请求校验(毕竟穿透解决的是非法请求)【缓存雪崩】:随机ttl抖动3.2 缓存在项目中是怎么用的?一个是用户个人页面的视频列表缓存,一个是姿态分析结果的缓存,通过前端轮询来获取分析数据。【补充key、val】:视频列表缓存,key是userID,val是视频元数据的json。分析结果缓存,key是视频id、val是结构化的建议。3.3 webSocket和SSE了解吗了解一点,但项目里没用到。一个是全双工,一个是流式传输。【如果要改进】可以用SSE试试推送分析进度3.4FFmpeg的瓶颈在cpu还是io答不上,面试官说在IO,可以利用redis的IO多路复用优化并发。【cpu】:top/htop---将分辨率【磁盘】:iostat----分片上传3.5 worker的数量如何确定记不清了,只记得和核有关。负载增加的话可以动态扩容。3.6 goroutine panic了会怎么样?栈展开、defer、recover捕获【补充配合ctx做取消】3.7 追问recover里面做了什么业务处理?没做业务处理,制作了错误输出。3.8 context父context取消,子也会取消。值传递的话http请求链用到了元数据传递以及tracer【加NACK】消息重试/放入死信队列4 aicoding代码质量、review怎么做的?我只回答了测试。面试官说可以借助rules、skill做限制【生成前】prompt/rules 限制技术选型、明确接口定义、必须做单测、必须错误处理【生成中】skill定义业务逻辑等等【生成后】:单测、并发安全
查看16道真题和解析
点赞 评论 收藏
分享
评论
4
5
分享

创作者周榜

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