项目亮点案例
其实对我来说是日常操作,但是如果在面试的时候面试者能把日常的事情总结好发出来,其实足矣。
想让别人认同项目,选取的示例需要包含以下要素:
亮点项目四要素:明确的目标,问题点,解决方法和结果
这是一个变种的SCQA模型。
SCQA是一个结构化表达工具。用它可以很容易的把一件事说明白,可以讲出一个好故事。
头一天下午收到一个需求:
明天下午4点要给客户演示一个功能,这个功能刚刚想好,产品还没开始设计。大体是要根据一些相似的办结的案例和用户诉求,对为办结的案子自动生成回复功能。
需求大概下午5点多同步给我有这么件事,产品快7点给了产品原型。后端用大模型来做,7点多的时候后端已经开发好了,主要是前端工作。大概就是两个页面。
假如你是一个小leader,目前前端开发除了你之外,还有一个工作经验只有一年的小哥哥。你要是做比他快很多。他的话大概2小时搞定,你1小时搞定。你是选择自己来做还是他来做?
我选择让他来做,因为第一点:任何事情都没有看起来那么简单。除了开发,还有很多工作要做,一个人兼顾串行会很消耗时间。第二点,这种明确短期任务是增加大家凝聚力的好时机。一个人很牛不如一个团队很牛。
我是怎么做的呢?
首先打消大家的顾虑:我马上找了老板问他说我们能不能今晚做完再下班,明天睡醒了再来上班。老板说没问题后我立即找HR报备。
因为大家预计晚上不会很晚,明天还能晚来,是很开心的。我留下了前端,运维和产品一起加班。前端开发,有设计不明确立即找产品确认,运维负责测试数据让前端可以顺利看到效果。任何问题找我协商。
前端听产品讲完需求后觉得比较简单,问我能不能花半个小时把正在做的收个尾再做。我知道事情不会像看起来那么简单,时间开销大概率会长于,该不该告诉他让他立即放下手里所有事情立即做?
我选择同意他的做法,没说任何多余的话。任何不同的观点都可能产生内耗,反而拖慢事情的进度。
大家各司其责,9点半多开发完成了。但是有个问题:后端接口因为调用了大模型所以返回数据特别慢,大概几十秒。我让前端先加了个最简单的转圈圈⭕️的加载中效果就让大家先回家。
因为我们前端包特别大,打包特别慢。预计快到家才能打包完。到家正好发布测试环境,明早产品确认符合要求,有问题还有时间调。
路上我给老板汇报进度,给了个截图。因为做出的效果和产品给老板看的原型有区别。我们采用了实现更简单而且更美观的设计。收到老板的点赞后,我开始了下一阶段思考。我问后端大模型能不能采用流式输出,这样前端可以实现像打字机蹦字一样的效果。后端说不行。我猜测在他的想法中这种效果需要前后端一起做非常大的调整:比如使用websocket协议。
我想到这个加载速度不解决,到客户那里演示,大家等30秒出结果该有多尴尬,让我们的技术看起来有多菜。
晚上到家发布好测试环境,熟悉业务的后端点了几下发现了一个小问题,我修改好了重新发测试环境确认后上了生产环境。确保有一个可以演示的版本。
然后我自己使用API调用的简单实现重写了后端代码采用流式输出,将流的结果写到redis缓存中。设计好前端传参的时候,如果参数不变维持既有逻辑。但是传入的时候如果传入缓存键就采用流式输出。缓存键传入了,之前不存在就发起请求大模型流式输出,开始写redis。
下次请求如果检查redis存在则直接从redis里取最新结果。这样前端就可以通过定时调用来实现打字机效果。
我把写好的代码上传git后给后端开发留言请他完善一下。虽然下午开发小哥哥问我明天晚一点来上班是可以多晚。我还一本正经的实际在开玩笑:别太过分,尽量赶在下午2点半之前。开发小哥哥很开心,本来还以为要中午12点之前。但是实际上我自己只比平时晚了一个小时,因为前端代码还没有开发。
我到公司顺利和后端开发配合好上线了完善版。在我开发的时候,产品也到了,在产品验收问我转圈圈的加载中提示太难看,能不能改成进度条。我说稍等一会儿让你看看我的进度条。10分钟后神气的展示了效果。
之后,我让产品和运维多测试几遍,确保演示时操作熟练,同时找好最合适的演示数据。然后还还录了视频发到有老板在的群里:万一遇到网络问题等故障,放视频用来兜底。
老板看了没理解(人都是要死的,机器是一定会坏的,网络是会断的,任何情况下都可能出状况,一定要做好兜底),只是招呼所有人多测试,说一定要在正式环境演示。
下午的演示一切正常。客户和老板都没有提到这个打字机效果的问题。没有反馈就是最好的反馈,说明他们看起来是自然而然的不别扭的效果。
事件就是这样,我这里就不像影视剧一样添枝加叶,非说因为这个拿下了项目之类的了。因为我们确实没有完全拿下,只是获得了一个争取的机会:效果达到了。
相关文章:

项目亮点案例
其实对我来说是日常操作,但是如果在面试的时候面试者能把日常的事情总结好发出来,其实足矣。 想让别人认同项目,选取的示例需要包含以下要素: 亮点项目四要素:明确的目标,问题点,解决方法和结果…...
Retrofit源码分析:动态代理获取Api接口实例,解析注解生成request,线程切换
目录 一,Retrofit的基本使用 1.定义api接口 2.创建Retrofit实例 3.获取api接口实例发起请求 二,静态代理和动态代理 1,静态代理 2,动态代理 三,动态代理获取Api接口实例 四,解析接口方法注解&…...

范德蒙矩阵(Vandermonde 矩阵)简介:意义、用途及编程应用
参考: Introduction to Applied Linear Algebra – Vectors, Matrices, and Least Squares Stephen Boyd and Lieven Vandenberghe 书的网站: https://web.stanford.edu/~boyd/vmls/ Vandermonde 矩阵简介:意义、用途及编程应用 在数学和计算科学中&a…...

【中标麒麟服务器操作系统实例分享】java应用DNS解析异常分析及处理
了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://document.kylinos.cn 情况描述 中标麒麟服务器操作系统V7运行在 ARM…...

网安瞭望台第17期:Rockstar 2FA 故障催生 FlowerStorm 钓鱼即服务扩张现象剖析
国内外要闻 Rockstar 2FA 故障催生 FlowerStorm 钓鱼即服务扩张现象剖析 在网络安全的复杂战场中,近期出现了一个值得关注的动态:名为 Rockstar 2FA 的钓鱼即服务(PhaaS)工具包遭遇变故,意外推动了另一个新生服务 Flo…...

玩转OCR | 探索腾讯云智能结构化识别新境界
📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀ 玩转OCR 腾讯云智能结构化识别产品介绍服务应用产品特征行业案例总结 腾讯云智能结构化识别 腾讯云智能结构化OCR产品分为基础版与高级版&am…...

idea2024创建JavaWeb项目以及配置Tomcat详解
今天呢,博主的学习进度也是步入了JavaWeb,目前正在逐步杨帆旗航,迎接全新的狂潮海浪。 那么接下来就给大家出一期有关JavaWeb的配置教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正…...

外连接转AntiJoin的应用场景与限制条件 | OceanBase SQL 查询改写系列
在《SQL 改写系列:外连接转内连接的常见场景与错误》一文中,我们了解到谓词条件可以过滤掉连接结果中的 null 情形的,将外连接转化为内连接的做法是可行的,正如图1中路径(a)所示。此时,敏锐的你或许会进一步思考&#…...

华为实训课笔记 2024 1223-1224
华为实训 12/2312/24 12/23 [Huawei]stp enable --开启STP display stp brief --查询STP MSTID Port Role STP State Protection 实例ID 端口 端口角色 端口状态 是否开启保护[Huawei]display stp vlan xxxx --查询制定vlan的生成树计算结…...

MySQL超详细安装配置教程(亲测有效)
目录 1.下载mysql 2.环境配置 3.安装mysql 4.navicat工具下载与连接 5总结 1.下载mysql mysql下载--MySQL :: 下载 MySQL 社区服务器 下载的时候这里直接逃过就行 我这里的版本是最新的mysql8.0.37 下载完成之后,将压缩包进行解压 这里我建议大…...

MySQL 8.0:explain analyze 分析 SQL 执行过程
介绍 MySQL 8.0.16 引入一个实验特性:explain formattree ,树状的输出执行过程,以及预估成本和预估返 回行数。在 MySQL 8.0.18 又引入了 EXPLAIN ANALYZE,在 formattree 基础上,使用时,会执行 SQL &#…...
信管通低代码信息管理系统应用平台
目前,国家统一要求事业单位的电脑都要进行国产化替代,替代后使用的操作系统都是基于linux的,所有以前在WINDOWS下运行的系统都不能使用了,再者,各单位的软件都很零散,没有统一起来。需要把日常办公相关的软…...

git推送本地仓库到远程(Gitee)
目录 一、注册创建库 二、创建仓库 三、推送本地仓库到远程 1.修改本地仓库用户名和邮箱 2.本地库关联远程仓库 3.拉取远程仓库的文件 4.推送本地库的文件 5.查看远程仓库 四、远程分支查看 1.查看远程分支 2.修改test.txt文件 一、注册创建库 Gitee官网࿱…...

【C++语言】多态
一、多态的概念 多态的概念:通俗来说,就是多种形态,具体点就是去完成某种行为,当不同的对象去完成时会产生出不同的状态。 我们可以举一个例子: 比如买票这种行为,当普通人买票时,是全价买票&am…...
ThinkPHP 吸收了Java Spring框架一些特性
ThinkPHP 吸收了Java Spring框架一些特性,下面介绍如下: 1、controller 控制器层 存放控制器层的文件,用于处理请求和响应 2、model 实体类 存放实体类的文件,用于定义数据模型 3、dao DAO层 存放DAO(数据访问…...

自动控制系统综合与LabVIEW实现
自动控制系统综合是为了优化系统性能,确保其可靠性、稳定性和灵活性。常用方法包括动态性能优化、稳态误差分析、鲁棒性设计等。结合LabVIEW,可以通过图形化编程、高效数据采集与处理来实现系统综合。本文将阐述具体方法,并结合硬件选型提供实…...

记录一个SVR学习
1、为什么使用jupter来做数据预测?而不是传统pycharm编辑器 1、Jupyter Notebook 通过anaconda统一管理环境,可以运行python、R、Sql等数据分析常用语言。 2、做到交互式运行,可以逐步运行代码块,实时查看结果,便于调…...
Java内存区域进一步详解
方法区 方法区属于是 JVM 运行时数据区域的一块逻辑区域,是各个线程共享的内存区域。 《Java 虚拟机规范》只是规定了有方法区这么个概念和它的作用,方法区到底要如何实现那就是虚拟机自己要考虑的事情了。也就是说,在不同的虚拟机实现上&am…...

SpiderFlow平台v0.5.0流程的执行过程
流程执行过程: 1. 流程启动 流程的执行通常从一个 开始节点 开始,该节点是整个爬虫任务的起点。开始节点没有实际的功能作用,主要作用是标记流程的起始。 执行顺序:在执行过程中,系统按照流程中的连接线顺序依次执行…...

利用.NET Upgrade Assitant对项目进行升级
本教程演示如何把WPF程序从 <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>升级到<TargetFramework>net8.0-windows</TargetFramework>. 下载并安装.NET Upgrade Assistant - Visual Studio Marketplace Supported .NET upgrades: .NET Frame…...

超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...