粉丝1347获赞3857

很多人都吐槽 java 代码啰嗦,比如在 java 里定义一个变量,还得把类型手写两遍,这纯纯是在浪费生命。其实不是 java 啰嗦,是你没有用对工具。 idea 的 postfix 后缀补全, 就是为了消灭啰嗦。写完代码,加个点,输入点 what? 自动推断类型生成变量,输入点 for 自动生成 for 循环演示如下, 以前敲十次键盘,现在只要敲三次,大大提升开发效率。不过 idea 自带的 postfix 模板还是太少了,只有这些, 想真正起飞需要装插件。它自带了更多开箱即用的模板,关键是还支持自定义模板。下面分享一下我配的这些模板,输入点 log 瞬间生成标准日期,不用再手敲 log, 点 if empty 自动对制,符串集合等判空。 这些模板配置,我导出成了一个文件打 postfix, 我 把这些年积累的王炸模板都送给你,全是实战中提炼出来的,导入就能用。关注我,下期分享 idea 另一个王炸技能, live template, 记得点赞关注哦!

又发现了一套新的模板代码,之前那个模板代码,这里是一个随机支付串,打开之后是一个随机支付串开头的一个项目米,然后这套模板代码它是一个设备扣的,然后打开之后它这个 c 扣里面是一个 c 开头的一个随机支付串,这是一个随机支付串了,现在改了很多, 然后它 s r c 的 设置下面有一个 kind, 这个是一个打包之后的, 然后还有一个 manage, 也是打包之后的,这个你怎么改都改不动的,前端怎么改都改不动啊。然后这个 java 下面它有 很多是中文拼音命名的,看中文拼音命名的,那还有中文拼音加英文一块命名的,然后又有标准的英文命名的,那是乱来呀,然后一样的 n t、 t 啊、刀啊这些都是很多 这个模板代码要改啊,不改的话被发现了不太好,可能会被质疑是抄袭或者是买来的。

那场 ai 面试,百分之九十的人都死在了 i g 幻觉上。做 i g 的 时候,你是不是把大部分精力都放在了解锁优化上?比如天天调向量召回,做重排序,力求把解锁结果做的更准。 很多人都是这么干的,那就总觉得解锁准了, i g 系统就没问题了,那却忽略了一个致命关键,哪怕你的解锁结果再精准不准的答案,依然会大面积爆发幻觉。而这恰恰是大冒险港湾面试里最高频的十分点, 面试官也正式抓住了这一点,会直接追问你。如果解锁结果已经很准了,最终答案还是有幻觉,问题会出在哪?你的 system 和 user property 是 怎么分工的?有没有写约束条款? 很多人一下子就被问住了,不是因为你不会写提示词,而是你从来没意识到,在解锁之外, property 才是根治幻觉的关键。 今天咱们直奔核心,全是可落地的实战干货,把 system 和 user property 的 分工逻辑,还有反幻觉的约束条件,一步步给你拆明白,用完不仅能从容应对面试,还能直接用到你的项目里。那么先把分工逻辑搞清楚,面试的时候你直接这么答, system property 负责定规矩,管的是所有请求都通用的约束。 user property 负责传材料,管的是每次请求的具体内容。这两者分工明确,才能从根源上杜绝幻觉。 演讲, system property 自反幻觉的第一道防线核心就三个关键点,第一,明确角色与边界。你要直接告诉大模型,你是一个专业助手,必须基于我提供的文档来回答,且强调绝对不能涉及文档之外的任何知识。 第二,强化约束力度。一定要用硬性词汇,比如仅可使用文档中明确记载的信息,未提及的内容一律不得猜测,千万别用,尽量参考这种模糊的词。我实测过,把软约束换成硬约束,幻觉率能直接从百分之二十降到百分之八。 第三,楼底于引用。如果文档里没有答案,必须让模型明确回复,根据现有文档无法回答, 同时要求他在回答的最后必须写清楚参考了哪份文档的第几条。这些道别模型必须找依据,没办法凭空捏造。再来看 user property, 它的核心作用是让模型清晰地看懂材料。 一、文档结构化,每段材料,打上参考文档一这样的标签,并附上具体出处,方便模型定位。二、合理风格,不同文档片段之间要加上明确的风格符,化清边界,避免模型把不同来源的内容搞混。 第三,优化顺序,先放结束到的文档,最后再放用户的问题。要能避免模型先被问题引导,提前去调用他自己的知识。第四,补充引导话术。在问题的最末尾再补上一句,请严格基于上述文档回答,并标注来源,进一步的锁死模型的发挥空间。 这时候很多同学可能会有疑问,如果结束到的文档太多,模型记不住约束怎么办?这正是面试官的高频追问点,教你一个实战解法,对于用户问题的上行文压缩技术。英文叫 harry avery, 简单来说就是根据用户的问题,提前筛选文档里的强相关内容,把废话剔除掉, 这样既不会超出模型的记忆窗口,也能避免模型迷失在海量信息里。实测用这招处理长文本,幻觉率能再降百分之五十。 最后一个面试加分项,拿出你的 property 迭代评测方案,别干巴巴的说我觉得我的提示词好用。你要告诉面试官,你建立了一个 property 版本管理库,准备了两百多条测试样本,然后重点监测中尺度这个指标,再通过分析那些回答错误的坏 case 来进行针对性优化。 这样的回答,面试官才会真正认可你的实战能力。所以,不管大厂面试官怎么追问,你只要把这个核心观点抛给他。解锁决定 i g 的 准度, property 决定 i g 的 纯度。 真正的实操,不是写一段华丽的提示词,而是用严谨的规则去约束模型。今天讲的这些,不管是面试还是做项目,都能直接造超。你在做大模型项目时遇到过最离谱的幻觉是什么?欢迎吐槽,我帮你看看怎么调 property。 需要这份 property 完整测试模板的同学赶紧走起,我是百里,为你跳出 c i u d 泥潭。那我这里整理了一套 java 程序员学习 ai 的 完整学习路线图加完整学习视频加配套代码笔记加 配套的项目实战。从大模型选型到微调,再到 ai 开发 agent 的 框架,最后到项目实战,你像智能客服、 reg 知识库、手撸小龙虾、垂直 agent 的 walk flow 流程开发,最后到部署。为了让大家更好的去面试呢,还整理了一套 java 加 ai 的 高频面试资料,通通无偿分享,需要的小伙伴留下 ai 就 行。

你可以试一下,我觉得最终的结果呢,就是从一个十三变成了另一种形态的十三,就两个十三,它样子不一样,但是恶心人的程度呢?都差不多。 我就是现在我们公司有很多页面是以前的 java 加福林马克的。我靠,五十七这款车子现在才反应过来,你之前现在大厂吗?算是的,算是大厂是吧? 说,请讲说。就是我们现在。嗯,我们有很多内部的项目是用 java 加菲马克,就是那种模板文件,然后它前端的页面的话是用六点 gs 去写那种页面比较久,然后他们的六点 gs 就是 从头到尾录个文件可能有四千行或者五千行,一个主页有四五千行, 就是整个页面的交互就全在一个六的 gs, 从头一撸到尾。哦,你说你们整个场景只有一个主键是吧? 没有每个页面一个 v 六点 gs, 但是它是从头到尾一把录完啊,就是一个页面的代码,所有的全部在页面里边,没在页面里边再去吸粉主键了,是这意思吧?对对对啊,然后呢?然后我们现在的方案已经很成熟了,就是说我们是现在都给它全盘改成 next gs 加 react, 还有啊 add design 嘛。 嗯,现在我是在探索这一块,我们就是啊怎么去用 ai 的 方式去让他自动的帮我从这一块直接转,你想一下子就成功是吧?就是做一件什么事,然后一个命令敲下去,剩下的事情你喝茶,然后喝完过后他就好了,是吧? 你想这个是最终的期望,但是在这一块期望之上,我还想去自动让他在老代码里面自动去给我生成端到端的一些测试用力,并且在新代码里面他能自动帮我跑。呃,测试用力他应该是没问题的,应该是 ok 的。 关键是那个代码质量的改造,这一块是个细活啊,绝对做不到你想象的样子。所以我的期望是从一个页面一个页面改,但是不知道这一套。对,做下来以后就是一个页面一个页面改。我这一块的建议呢?你先这样子, 你,你一个页面先扔给 ai, 你 告诉他现在我这个里边代码太多了,我要进行组建划分,你现在别让他动, 这个东西只能人际配合,你要全部给他的话,你这个项目容易崩。嗯,你让他告诉我,你先读一下这个代码,这代码可能比较多,你读完了过后告诉我一个代码分为哪几块功能,那些功能模块之间交互他是如何进行交互的?然后呢?我们该如何来划分?就你跟他一起来合力去把它分出来,一点点的分,一点点的分,那只能这样子是个细活, 这样子的话就是有要需要 n 多次交互吗?对对对,那就是要 n 多次交互,你可以同时开多个窗口来做。 是我们公司其实内部他已经有很多的那种案例,就是直接加把整漏的一整个加满,应用直接加完整漏的直接通过 m c p 叭,一键就让他给你跑完。有什么东西在我们公司现在有很多就是加把整漏的的项目吗?整漏的结实的项目啊啊,但是他们是通过扩展 m c p 的 方式,直接那个其实还好,一键就让他帮你找没,没问题,那个还好。为啥那个还好呢?因为它功能是有对应的, 它大一把逻辑之间是有对应关系的,但是你那个不是啊,你是要对代码进行改造。这么说吧,比方说加法里边有一个,因此三二有一个 a 等于一,随便举个例子吧。啊啊,就这个意思啊。然后呢?把这一句话改成 ts 或者是 gs, 它改起来是非常轻松的, 比方说这一块改起来,他非常轻松的就改完了,有对应关系的就哪怕不是一行一行对应,哪怕就是功能模块的,就这个函数,哎,一个加法函数,我把它写成 load 版本的或者 ts 版本的,这是比较简单的, 这里面那个不是这个情况,里面是一坨屎,要从屎里边把它摘出来,把东西给它摘出来,就说对代码结构进行变动的,这个东西肯定是办不到的,然后哎呀,一下子给你全部弄完。那你想多了 啊,我反正也找了一些这种思路,就是说确实是让他先把你的主要的逻辑先写下来,跟他建流程,然后让他你先转出来逻辑,然后再一步步让他先逻辑超离,再跟他说一些你的规范,让他慢慢去转。我知道你的意思,就是说你用多个 a 检测嘛,对吧? 他们之间互相聊对,通过指 a 检测去。对对对对,让他去看,你可以试一下。我觉得最终的结果呢,就是从一个十三变成了另一种形态的十三,就两个十三,他秧子不一样,但是恶心人的程度了都差不多, 我觉得我大概就会变成这样子。我现在想的就是用 cloud code 去做,但是,呃,就是感觉你可以试一试,可能会跌跌撞撞的,但是可能 e to e 这一块,你可以试一试你这个东西,你可以试这个事业比较简单,你单开个分支嘛,然后你写一些 skills。 然后呢就是让主代理呢不要做任何事情,主代理只负责这个调度和规划啊,负责调度,然后呢让子代理呢有分别用不同的子代理去做什么事情,比方一个子代理他负责那个就分析模块功能,然后呢另一个子代理又在负责分析啥啥啥好,把一个子代理把功能分析全部就是多个子代理分析模块功能,或者分析这个页面功能 好,然后呢?主代理汇总是吧?现在又掉入到主代理了,那么主代理把功能拿到手了,对不对?然后呢主代理啊,然后又拿到手了功能,现在就拿到功能列表啊 啊,就是每个页面他有哪些功能清单全部合并的啊?功能清单出来了,功能清单过后就最好都可以把写成文件,把记录成文档也行。然后呢就现在又是开多个子代理, 然后又去分析啊,分析功能清单,那哪些功能清单这有重复的东西可以把提出来哪些功能上?太多了,可以把进行处理,降低复杂度。然后呢把生成任务啊,就任务清单,那么然后把一个任务清单,然后又开多个子代理, 然后一个个去完成任务。你大概可以用这个思路去试,但是呢还是那句话,我觉得最终的结果呢,就是从一个十三变成另一个十三,你可以去试一试,万一呢?对不对?万一好了呢? 你可以试一试啊啊,思路大概是这样子。对,但是实践起来就感觉对你有点麻有点麻麻的,甚至你这件事你都可以让那个 ai 帮你写,帮你去写这个 skill。 都可以 啊,你去写你试一试跑位跑位如果要做这件事情有三个方向,就是哪个方向会更靠谱一点,要么就是字写一个 come on 的, 要么就是 sky, 要么就是再写一个 mcp 那 种方案会 更实际一点。我偏向于是写 command 去做这个事情。 command 是 什么意思?你说 cloud code 的 一个 command。 cloud code 可以 自定义 command 的 呀。现在 cloud code 已经没有 command 这个概念了,就变成 skill 了。就是 skill 是 一个意思。嗯我感觉是 command 更可控一点嘛。就是为啥更可控一点。 command 还不是提示词有啥区别啊。在 command 里面可以给它声明好你的一个执行步骤,并且让它如果说你断了之后接着按照未完成的步骤打标的步骤接着往下走啊。 skill 里边不行, 一样的是一个东西,他们最终的结果都是给 ai 为的提示词,你通过这个路径为了一坨提示词给他。你通过 skill 还是为了一坨提示词给他就没有区别。他未给开的都是提示词。 有啥区别呢?你告诉我有啥区别呢。我就没太明白有啥区别啊。啊也是我看的那个啊 superpower 的 这个东西他也是把 come on 的 全部转为 skill, 因为都是一样的,他只是叫的名字不一样而已。那行吧,那就再去研究一下。嗯好好好,行。 哎好,谢谢老师谢谢老师。哎,不开心啊就这样。好,拜拜。好,谢谢。嗯,拜拜。咋不太一样呢?是一样的呀,我这么跟你说吧,只要不是模型原生知识的东西,它最终结果就是提示词啊,有啥不一样呢?

兄弟们,这是国内最完整、最接近个人生产力的 ai 全胶桶的开源项目,尤其是在 java 的 技术栈和 nanjing 世界生态的开发中,几乎是标杆级生产力的工具模板。 它的技术栈对 java 的 后端极其的友好,几乎覆盖了企业个人二零二六年最常见的 ai 技术点。学完这个项目,基本上就能把 ai 的 后端开发关键的流程全部跑通打满,有需要的可以试一下。

现在我来分享一个样本率很高的模板代码,首先的话大家要搞清楚你们的到底是不是模板代码,之前我也有发过图文,可能大家看不明白这个视频的话,我就给大家详细介绍一下。 首先打开我们的项目,这个项目名后面有一个随机支付串,看到没?零一欧五四,这个随机支付串,看到没?这个后面是一个随机支付串,这个就是模板代码,模板代码的一个编号,前面的话可能是用 book 开头,也有可能是 ssm 开头,也有可能是一些中文拼音开头,但是不管怎么样,后面都是一个随机支付串 模板代码的一个项目编号,那我们看到这里有个 db 文件,里面的也是这个,就跟项目名是一样的。 然后我们再看这个下面有 excel 文件,你看这个就是 excel 图标,你的这个项目到底是 excel 做的还是 ide 做的,到时候老师问你到底是用 excel 还是用 ide? 然后这里还有个 get 文件, 你的项目是从 get 上面下载的吗?然后这里还有 ide 的 文件,这个这个是模板代码的一个标志, 这是一个模板代码的标志,这个模板代码标志,这个模板代码标志,这个模板代码标志。然后还有打开 s、 r、 c 里面还有个 test, 是 吧?这里有一个。然后这个 menu 下面我看到的双十下面还有一个 add mini front, 你 们的代码是不是也有这个 add mini front 是吧?里面还有 disk 打包,打包完之后呢?你这你一旦是这种方式运行,你不管你前端代码你怎么改都不会生效,你们发现有没有发现你们的代码怎么改?前端页面都没有生效?这个是模板代码, 并且模板代码只需要运行一下 i d、 e a, 前端都不用运行,只需要运行后端它就可以访问, 那我们来访问一下是吧?只需要运行后端它就可以访问,你看它访问的路径是带着这个的,带着一个随机制服串的,一打开就会被发现, 然后还带着这个 disk, 是 吧?怎么改都不会生效,一访问就能被发现,也是模板代码。然后还有我们再看 看这个 control 下面这个是很多英文命名的,看到没有一些英文命名的,英文命名的,这个是比较规范。那还有我们看一下 中文拼音敏,什么服务签到,这什么服务签退,这活动报名,这活动类型 是吧?中文拼音命名,一会英文命名,一会中文拼音命名。有的人的项目里面还有那个中文拼音加英文一起来命名的,就是大家如果是有一些电商类的项目,或者是论坛里面的项目,你看看那个评价,你看看那个评价相关的,都是中文拼音加英文拼在一起命名的, 然后这里又是一个点。那还有就是大家看到你们的项目是不是都有这个? u g r 是 不是都有?都有这个吧? u g r 那 还有 c s log 是 吧?系统热制都有是吧? 那还有 news, 很多人的也有,这些不是不可不一定就都有,但是大部分人都有,那还有这个 fire, 所有人的都有,然后 common 所有人的都有, 对吧?很多雷同的,就是说你们这个代码就重复率很高。昨天就有一个粉丝找到我说他的那个文档上面写的那个关键代码查虫全部是重复的, 这个是因为因为你们使用的是模板代码,当然那个代码查虫不一定都会查,但是你们要知道你这个拼音命名,还有这个前后段分离这两个, 这两个问题拼命每天前后都问,你这两个问题一定一定会被追着问,到时候三点问你答不上来也就很麻烦了,所以这个一定要在打遍前一定要把它改掉。

谁懂啊, java 后端简历一改完,假期前投出去,电话直接被打爆了。一个月前,我还在盲目海投简历,乱投一大堆, 结果面试机会一只手都数得过来,当时心态直接崩了,差点就放弃摆烂了。后来跟行业大佬聊了之后,他说我技术功底完全够用,就是简历写的太杂乱,根本凸显不出自身优势。我照着大佬给的模板重新梳理,精益深挖,优化项目亮点,改完再去投递,直接开挂。 现在投十份简历,基本能拿到八九个面试邀约。我把这份简历模板整理好放评论区了。正在找 java 后端工作的小伙伴直接去评论区留言,顺带说一句,想要简历考打的朋友也可以留言,看到会找你的。

直接看 simple dl 生成器怎么用。第一步,选数据库,然后按前缀过滤表明。接下来是项目参数区,作者名、公司名、项目模块、微服务名按需填写, 它们决定了包名注解、微服务前缀这些细节。然后是 swagger 注解、日制注解、 excel 导入导出动态条件与表格列控制。几个开关按需启用即可。 往下是三套模板,可多选,分别是常规表格、竖行维护、 open frame。 微服务核心环节是选表,每张表后面有三个关键操作,一、建议类名自动根据表明生成,一键切换前缀允许修改。 二类中文名默认是表注式,可编辑,会同步到代码注视里。三字段明细设置,包括表单组建、输入框、文本域、字典下拉、日期框,甚至直接隐藏。选字典下拉的话还能绑定字典关键字。表格列 控制字典在前端是否显示所有配置可保存下次生成,不用重配。最后点生成代码,自动下载代码的 v i p 包,复制到 simple d l 底座里就能跑。 下集我们看模板细节与预留扩展。关注我,坐等 simple d a o 原码系列、 c who first 理论系列、企业实战系列已完结,去我主页查看。

这是一个能让你还没离职先定更高薪下家的强大工具。发现好工具第十八期今天讲,你只要跟着提示把做过的事过一遍,他就会一口气把内容理顺,给到一份排版精美的专业简历。更神奇的是,他能顺着简历精准匹配全网最新岗位,适合度高的优先推给你,直接就能投递。 最绝的是,越到面试后,他还能按公司岗位帮你模拟面试自我介绍,说啥离职原因怎么答,多看几遍公式化打法都能稳过面试,从整理简历到顺利入职,一步搞定,非常高效。

面试官问,你工作中用过哪些设计模式?很多人上来就掉坑里了,那开始背,我用过单立工厂,策略模板等,然后开始一个一个解释定义,那基本上这里就废了。面试官想听的根本不是你背过几个模式,他想听的是你在真实的诱力碰到了什么问题, 为什么选了这个模式,怎么落地的?那所以这题的正确打开方式是挑一个业务场景,把几个模式串起来讲。那为了拍这个视频,我想了一个几乎所有项目都会碰到的场景,大家拿去直接用,那这个场景就是消息通知 系统要发消息,可能走短信,走邮件,走站内信、走企微飞书等。那每个渠道处理逻辑不一样,调用方不可能根据具体渠道绑死,所以你定一个 notify service 接口,调用方只认这个接口,具体用哪个渠道,可以随时切换,这就是策略模式。那到这一步,大部分人都能说到,但你写着写着会发现一个问题, 每个渠道虽然叫验,和发送逻辑不同,但整体的流程是一样的,都是先叫验,再发送,最后记忆日期。如果每个渠道实现里都把这条流程各写一遍, 重复代码一大堆,所以你在接口具体渠道之间加一层抽象类,那这个抽象类实现接口的 send 方法,在里面把流程编排好,先调校验,再调发送,最后记日期。校 验和发送声明成抽象方法,留给各渠道,直接去重写记日期,这一步,副类直接写死,这就是模板方法。那注意,这一步是很多人讲不出来的,所以我们在策略模式的基础上叠加了模板方法。 面试官听到这就知道你不是在背书,因为知道哪些步骤该固定,哪些该开放,这是写过代码才有的判断。然后调用方怎么拿到对应的渠道实现。再套一层,简单工厂定义一个注解,每个渠道实现类标注自己的渠道标识,项目启动时扫描收集到一个 map 里,调用时按标识直接取 新增渠道,只加一个类,打上注解,工厂不用改,开闭原则就体现在这这里,面试官大概率会追问,模板方法和策略模式到底什么区别? 你记住一句话,模板方法强调流程复用,变化是流程里的某些步骤,策略模式强调行为切换,变化是整个实现。说的再通俗点,模板方法就是流程我定好了,变化了,步骤你来填。 策略模式是目标我定好了,整个怎么做你自己说了算。所以这道题的主线就一条,不要孤立的讲模式定义,用一个业务场景把模式串成一条列,策略解决调用方的渠道切换模板方法解决实现方的流程复用, 工厂负责路由选择,不管你做的是电商社交还是后台管理,系统消息通知、导出报表,第三方对接,到处都是这个套路。你这么一讲,面试外一听就知道你真的在项目里用过,能拉开差距。文字版和配图我已经整理到了面试呀,方便你反复消化,觉得有用,点赞收藏,关注我,拿下面试,我们下期见!

辉度发布怎么设计?你答,按 ip 分 流,一部分用户访问新版本就行。面试官追问,一个用户上午访问新版本,下午访问旧版本,数据不一致怎么办?你卡住答不上来了。如何设计一个辉度发布系统? 如果这题你也不会答,点赞收藏视频为你准备了 java 配套面试题和回答模板,粉丝评论区打学习掉落这道题。阿里 p 七面试常问,大部分人只会说按比例分流四个字,流量染色、恋路透传、回滚机制,一个都说不出来。还原两个真实面试场景,看看你在哪个水平。 辉度发布怎么设计?按用户 ip 分 流,百分之十的 ip 访问新版本,百分之九十访问旧版本按 ip 分 流,同一个用户,移动端和 pc 端 ip 不 同,它一会儿访问新版本,一会儿访问旧版本,体验不一致怎么办? 那按用户 id 分 流,按用户 id 分 流用户请求经过网关,网关怎么知道这个用户该走新版本还是旧版本?可以在网关层加个规则,规则存在哪?怎么动态调整灰度比例?要不要接入配置中心?呃,这个我没想过, 辉度发布怎么设计?辉度发布不是简单的分流核心,要解决三个问题,流量怎么分?状态怎么染?出了问题怎么回?先说流量怎么分,我推荐按用户 id 做一致性 hash 分 流,同一个用户永远路由到同一个版本,不存在来回跳的问题。一致性 hash 怎么在网关层实现? 在 spring cloud git 里写一个自定义的 grey loder, 从请求头或 token 里取用户 id 对 灰度比例取模,命中灰度范围的就路由到新版本十里,否则走旧版本。那灰度比例怎么动态调整?接入配置中心,灰度比例作为配置项, 改配置及时生效,不需要重启网关,从百分之五开始观察十分钟没问题,调到百分之二十,再调到百分之五十,最后全量。你刚才提到状态怎么染?这是什么意思?流量染色是灰度的关键机制, 一个灰度用户的请求到达网关,网关在请求头里打一个灰度标记,比如 grey 杠 tag 等于 true, 这个标记沿着整条调用链透传到下游所有服务,下游服务看到这个标记就走新版本的逻辑, 没有标记地走旧版本,这样保证同一个辉度用户不管调用多少个服务,走的全是新版本列路,不会出现一部分新一部分旧的混乱。看到差距了吗?新人只会说按 ip 分 流,一追问用户体验就崩了。老炮从分流策略到流量染色到动态配置到回滚, 层层递进,想知道老炮是怎么做到的?我把这道题拆开给你讲清楚。你有没有想过,为什么大厂发版本从来不全量上线?因为全量上线出 bug 就是 屁,零事故。辉度出 bug 最多影响百分之五的用户。辉度发布就像试吃活动,先给少数人尝,有人拉肚子立马停, 没问题,在大规模供应。但试吃不是随便挑几个人就行,得有一套完整的机制,保证试吃的人全程只吃新菜,不会半途换回老菜。 辉度发布系统三个核心模块,第一个分流策略,按什么维度分流?按 ip 是 最简单的,但问题最多, ip 会变同一用户,不同设备 ip 不 同来回跳版本, 按用户 id 分 流最稳,同一个用户永远路由到同一个版本,在网关层实现。从请求的 token 或 session 里解析,用户 id 对 辉度比例取模,比如辉度比例百分之五,用户 id 对 一百取模小于五的走新版本。 灰度比例存在配置中心,调大调小即时生效,不用重启。这一步解决了谁看新版本的问题。第二个,流量染色。 这是灰度发布最核心也最容易被忽略的机制,光分流不够,你得保证灰度用户的请求在整条调用链上都走。新版本 怎么做?网关识别到灰度用户后,在请求头里打一个标记,比如 x great 拦截器透传到下游服务,下游服务看到标记就走新版本逻辑,没有标记的走旧版本。 这就好比你在游乐园买了 vip 手环,所有项目看到手环都给你走 vip 通道,没手环的走普通通道,手环就是灰度,标记通道就是服务版本。还有一个关键点,异步场景的染色,你的灰度请求触发了 mq 消息,消费端怎么知道这条消息属于灰度用户? 答案是在消息的 header 里也带上灰度标记,消费者根据标记走不同逻辑,漏了这一环,灰度就断了。第三个,回滚机制,灰度出了问题,怎么回?最稳的方式,保留旧版本实力不动,新版本独立部署回滚,就是在网关层把灰度比例调成零,所有流量瞬间回到旧版本,不需要重新部署。 如果新版本改了数据库结构,回滚前还得处理数据兼容性。新版本加的字段旧版本不认识,但旧版本忽略就行,新版本改的字段类型,旧版本读不了,这才是真麻烦。所以辉度期间的数据库变更必须向前兼容,新代码能读旧数据,旧代码也能读新数据。 一句话总结辉度发布三件事,用户 id 分 流保一致,流量染色保全、链路保留,旧版本一键回滚。

做了十多年家网面了几百个程序员,我发现聪明的获全赢的不是技术,是表达。同样一段项目经历,有的人说出来平平无奇,有的人直接让面试官眼前一亮。核心的差距就是润色逻辑。 很多技术人面试的时候特别吃亏,埋头写了一年的代码,做了好几个项目,一开口就变成了我用了 springboard radis 做了真删改查接口开发,干巴巴的像报菜名一样,面试官听完以后根本就记不住你,更别说他要去从这里面判断你的价值了。如果你担心简历上的东西讲不出来,我已经把面试经常问到的 一些技术站、场景题都整理在两百万字的面试文档了,里面针对每个知识点都有很详细的解析思路,只要你是我的粉丝, 留言六六六就可以打包带走。我在大场面试的时候,但凡高分通过的程序员,都有一套固定的表达结构,不啰嗦不跑偏,每句话都踩在面试官的得分点上。今天我就把这套三段式的润色公式分享给你,不管你是笑招、射招还是跳槽,都能用得上。第一点,突出你的接管能力,让面试官看到你是不可 替代的。不要只说我参与了某个项目,面试官最烦的就是参与感,他要的是你到底扛了什么事情,产生什么样的结果。举个例子,不要讲我做了电商订单模块换成了我独立接管了订单核心的接口开发,从零搭建分布式订单流程,解决了超卖问题,把订单接口的响应时间从 三百毫秒优化到了八十毫秒,支撑日均十万单的稳定运行。其中重点要讲一下,你负责了什么,用了什么技术,解决了什么样的场景问题,拿到了什么样的数据。结果面试官追问,项目和你有啥关系,就是在挑那种能扛事,不是混项目的人。 第二点,聚焦解决问题的能力,不要去做平淡的工作汇报大部分获选只会罗列自己做过什么功能,完全没有亮点,面试官听着容易犯困。真正加分的是你讲你遇到过的技术的坑,怎么排查,怎么解决的,这才是程序的核心竞争力。 比如说你不要去讲我做了缓存优化,你可以换成项目高峰期的时候出现了缓存欺酸,导致数据库 c p u 打爆,我通过布隆过滤器加分布式锁解决了,同时优化缓存过滤策略,彻底的杜绝了雪崩问题,保证了系统的稳定运行, 哪怕是小问题,其实也没关系啊,重点体现你的排查思路、技术深度,落地能力,比你说一百句我会 java 虚拟机都管用。 第三点,强化复盘的牵引能力,摆脱学生思维。很多技术人复盘的时候只会说我学到了很多,积累了经验,这种空话是毫无意义的。面试官想知道的是,你过去的经验能够给公司带来什么样的价值。所以正确的说法是结合之前项目的瓶颈,比如说我之前发现微服的调炼炉熔藏通, 通过 double 优化通信拆分服务力度,把接口的吞吐量提升百分之四十。如果入职咱们团队,我可以把这套列录的优化思运用到咱们现有的系统里面,快速的去提升服务 的效率,你看把过往的经验和应聘岗位绑定,让面试官觉得招你过来就能够解决问题,你是不是直接跟别人拉开差距?所以很多人说今天面试很难,但是能够去符合二零二六年面试要求的人太少了。我是麦,今天就分享这里,我们下期再见。

都说了是年终新课冲销量,所以才这个价,不然个位数你连一套太古板都买不到,怎么可能买到大厂技术专家联合制作的零一这种 ai 编程开发实战合辑课, 日常导师们的课都是三四位起步,带你看看左下角链接才什么价,抢完就下架。课程通过视频加笔记加答疑,带你从基础开始夯实。先是开发环节配置、基础语法与调试,找到编程手感。再是数据库结构条断交互、数据库设计穿插各种实操训练。最后境界提升 学习独立项目开发与接单能力。还有配套的精选代码模板和编程必备的技术文档,百份项目源码与高清技术文档,个位数就可以全部爆种!

ai 是 能帮你写代码,但在关系型数据库持久层这块, simple dao 的 代码生成器更是你可靠的助手。为什么?因为持久层代码不是独立的算法单元,它是成套的工程模板。实体类 cloud service controller v 前端页面,每一层都有预留的扩展点,每一层都按 simple dao 的 最佳实践编排。 这种确定性, ai 要赋现,成本会高得离谱,而代码生成器恰恰是确定性的极致。模板写好了,输入是什么,输出就是什么,一键生成,结构统一命名规范,扩展点一个不少,你拿到项目里直接就能跑。那 ai 干什么? ai 有 它擅长的场景, 独立的逻辑片段、复杂业务算法、代码解释与重构、单元测试生成,帮你检查 bug, 这些地方 ai 能给你高效反馈。代码生成器与 ai 不是 对立关系,是互补关系,这叫双向提效。 代码生成器给你稳定的框架, ai 给你灵活的辅助,两者加在一起才是终极的懒人方案提效工具。关注我,坐等源码系列、 coco first 的 理论系列、企业实战系列已完结,去我主页查看。