没有后端项目经历可写?这些后端项目经历应该适合你!

有兴趣的可以关注本人公众号和小红书(程序员Knox),后续会继续更新。

(1)图书管理系统还能使用AI?

💡项目背景

用户在使用图书管理系统时,常常只知道自己想要找哪一类的知识,但是不知道哪一些书适合自己,在这一背景下,我们尝试接入LLM的能力来处理这一问题。

✅ 解决方案

通过MCP提供数据源工具,使LLM能够获取图书馆中的图书信息、位置信息等数据,在此基础上,为LLM提供网页搜索功能,帮助其更好地解析图书数据。最终,达到只需要用户输入某一类知识,即可达到智能推荐的效果。

(ps:其实还可以在此基础上引入标签体系、案例库等内容,提高LLM智能推荐的准确性)

(2)线程池也有死锁问题?

💡项目背景

有一天我们发现线上出现预警,大量接口报连接超时错误。 排查后发现,竟然是由于线程池中执行的任务使用了异步调用,导致线程池资源耗尽,最终出现死锁问题。

🔍问题复现

我们使用线程池处理入库操作。某次处理一个企业件,包裹数量约 2 万单。 而在具体的入库流程中,会通过异步方式调用其他领域的数据。但异步任务和入库主任务使用的是同一个线程池。

在这种情况下,出现了一个极端场景:线程池的所有线程都被主任务占用,异步任务只能堆积在阻塞队列中,迟迟得不到执行,最终导致线程池死锁。

✅ 解决方案

问题发生后,我们做了如下调整:提升了入库任务所用线程池的线程数,并为异步操作提供独立的线程池处理。

(3)货物抽检占用大量内存怎么优化?

💡项目背景

在日常抽鉴业务中,我们需要对大量货物进行状态标记,例如判断某个货物是否命中某一抽鉴规则。最初的实现采用普通数据结构存储,随着业务扩展,抽鉴批次不断增加,系统逐渐面临内存飙升与存储效率低下的问题。

尤其是每一批次的抽鉴都需要一份完整的货物命中标记集合,导致内存占用呈线性增长,系统压力急剧上升。

🔍问题复现

我们对每个抽鉴批次的货物 ID 进行布尔标记,用于表示该货物是否命中。

最初的做法是为每个批次都维护一套全量的 BitMap 位图。但在高峰期,抽鉴批次可达数百个,按每批几十万货物计算,哪怕单个位占1 bit,累积下来依然会带来数百 MB 的内存开销,甚至导致 Redis OOM。

✅ 解决方案

我们采用 BitMap + 尾号抽样 + Redis Key 精简设计 的组合方式,有效降低存储压力:

BitMap 位标记:继续使用 BitMap 标记货物命中状态,保持查询效率与空间压缩特性。

尾号抽样机制:并非所有货物都进行抽鉴,而是仅抽取 特定 ID 尾号 的货物(如以“37”结尾的 ID),大幅压缩位图密度。

Redis Key 精简映射:每个抽鉴批次 + 尾号对应一个精简的 Redis Key,例如“抽鉴 : 批次ID : 尾号”,避免创建庞大的全量位图集合。

通过上述方式,通过牺牲一定的随机性,使得系统在保留 BitMap 高效查找特性的同时,将 Redis 的内存开销控制在可接受范围内,最终实现抽鉴准确性与资源利用率的双平衡。

(4)冷热分离思想解决Reids大Key问题

💡项目背景

在生产环境中,我们遇到了一个典型的大Key问题:“操作人员-货物统计”缓存结构过大,直接影响 Redis 的缓存命中率,命中率长期低于 80%,导致接口响应效率低下。

这是一个典型的性能瓶颈问题,如果继续使用无分片的大Key结构,Redis 容易因 Key 太大而阻塞;但若盲目分片,又会导致命中率下降、数据分散、缓存效益打折。

🔍问题复现

业务中需要统计每个操作人员在各仓库中操作过的货物信息,初始方案中采用以「人员ID」为维度构建缓存,保存其操作过的所有货物ID集合。

随着数据积累,部分操作人员的货物数突破数万,形成大Key风险,且频繁的写入也加重了 Redis 压力。

为规避大Key风险,我们尝试按货物ID进行分片缓存,但由于访问集中在热点数据,命中率明显下降,不仅未解决问题,反而造成接口性能波动更大。

✅ 解决方案

我们基于「数据冷热分离 + 精细化缓存策略」重新设计了缓存架构,最终实现性能与稳定性的平衡:以仓为单位设计缓存 Key:从「人员 → 仓 → 货物」角度设计缓存结构,缩小单个 Key 的数据体积,天然分散写入压力。

冷热分离策略:

  1. 对于短时间内频繁访问的热门数据,继续存入 Redis 缓存;
  2. 对于货物记录数超阈值(如 500 条)或长期未访问的冷数据,跳过缓存,直接写入 MySQL 持久化,降低缓存压力。
  3. 时间 + 数量维度的淘汰机制:缓存数据设置过期时间,并结合访问频率定期清理,避免历史数据堆积形成新的大Key。

全部评论

相关推荐

已经到实习末期了吧,在字节干了快半年后端,最近感觉好闲,真的,已经开始emo了,5月的时候问mt说转正的事,说有一个hc,让我做完需求就可以开始准备了,说我没问题,好了,需求做完了,前天吃饭问了下mt转正的事,已经6月末了快,很难不问,然后就变成了,他也不知道,帮我问问ld,我真的服啦,你说这扯不扯,哎,字节啊字节,哈哈,maybe真的是每个季度都要盘hc吧,现在又安排上需求了,技术方案写了,发过来一看,gpt生成的方案,不是哥们,,那既然都这样了,再混混吧,也怪我菜,因为5月说有hc我就没再广投暑期了,投了鹅子,只怪自己菜,直接滑跪,这个时间点,说白了,哪都去不了了哈哈,待着吧,等秋招了,有没有hc真的就无所谓了,其实闲了2周多了,接口一个写一周,前一周在想要不要学学LLM,倒是跟着视频搭了简单的模型出来,但很快就陷入了自我怀疑🤨,这么短的时间是没办法学完LLM到找到工作的,再怎么学都是浪费时间,真的心累,这后端干的真的心累,这半年的实习,真的看得到后端的头了,这个岗位没有任何深度,只有复杂度,更坏的情况就是,甚至就是简单的东西疯狂叠出来的山,想想当初室友建议我学搜广推,真的算是他明智,我跟他都进了字节,虽然感觉他很累但是真的很充实,maybe,虽然言语中还是能get到他的mt对他的可能的pua,但是人家有hc,哥们真是路边一条,真的是干的人心累,但是我又该去哪啊,真的,给哥们干迷茫了,真的很享受那种在学校里提升自己的感觉,实习后再也感觉不到了,也很想提升自己,发现真的到这个阶段了就特别难,确诊不适合上班症,只想耍,耍,耍希望秋招对哥们温柔点,别变成无业人员了
下北澤大天使:哥对自己要求太严格了,秋招你包offer打牌的也不用太纠结hc,秋招最好还是参加,退一万步字节给你hc了能保证它不给你压价吗?多面试多条选择,也好a一下起薪,说不定还有给你ssp的厂
点赞 评论 收藏
分享
昨天 16:21
已编辑
南昌航空大学 后端
你跋涉过技术面的刀山火海,蹚过了总监面的枪林弹雨,终于站上HR面的“终极舞台”——却发现自己不过是抽奖箱里的彩球,老虎机上的符号,俄罗斯轮盘里那颗随机中弹的子弹!你以为这是“终局之战”?不,这是“鱿鱼游戏”的真人秀:当HR翻开简历如抽扑克牌,你的三年项目经验不如她杯底咖啡渣的图案有吸引力;你侃侃而谈职业规划时,她的眼神像在超市挑临期酸奶——随手一扔就是命运的分界线;那句“回去等通知”更是绝妙魔术:前一秒你幻想工牌照,后秒你已跌入“人才库”黑洞当电子幽灵!这哪里是面试?分明是HR的“淘汰消消乐”:技术面刷掉“不会做题的”,总监面筛走“不会吹牛的”,到HR面?专治“呼吸太大声的”!你精心准备的离职原因,在她耳中像超市广播的促销广告;你颤抖着报出期望薪资,她嘴角一抽仿佛听见了冥币报价;你强撑笑容说“热爱公司文化”,她眼皮一抬——得,今日倒霉蛋KPI+1!最终幕的荒诞剧:当会议室门关上那刻,你不是候选人是待宰羔羊,HR是转盘指针,录用结果是玄学骰子——她手机一震(可能是外卖到了),你简历一合(可能是垃圾桶满了);她笔尖一勾(像在填彩票号码),你人生一拐(像被踹下悬崖的杂技演员)!💡 真相补刀:据求职者血泪统计(知乎:为什么HR不当面拒绝?),大厂HR面淘汰率≈摇号中签率。所谓“终面”,不过是给随机淘汰披上“专业评估”的皇帝新衣——你拼尽全力的冲刺,终成HR下午茶时间的消消乐三连击 💥   
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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