简历模版

黄昌河mahoo12138

前端开发工程师武汉 / 深圳

4 年开发经验

企业级 SaaS / 物联网平台

本科 · 大连大学 · 自动化

职业概述

4 年+前端开发经验,具备物流 SaaS 与物联网平台研发经历,主要从事复杂业务系统及前端平台能力建设。具备配置化页面引擎、统一地图适配、运行时组件编译等平台能力的设计与开发经验,能够将复杂业务需求抽象为通用组件和工程化解决方案;具备 Java / Spring Boot 后端业务开发及 Go 服务端开发实践。同时持续探索 AI 在软件工程中的应用,积极实践 Agentic Coding,在多个个人项目中以 AI Agent 作为主要协作开发方式,覆盖需求分析、技术设计、代码实现与持续迭代,具备将 AI Agent 融入实际软件开发流程的实践经验。

个人技能

  • 前端开发与架构: 熟练使用 TypeScript、React、Vue,具备复杂业务模块开发、组件抽象、配置驱动渲染及状态管理实践。
  • 平台工程与运行时: 具备配置化页面引擎、动态组件系统设计与开发经验;熟悉 Babel、Web Worker、ESM、IndexedDB、Module Federation,具有 TSX 运行时编译、动态依赖解析与缓存管理实践。
  • 地图与可视化: 具备高德、百度、Google、天地图等地图 SDK 统一适配经验,涉及坐标系转换、异步加载、事件模型与图层抽象;支撑轨迹回放、路线规划、电子围栏及地图聚合等业务场景。
  • 跨端开发: 具备 Web、小程序及 Hybrid 应用开发经验,熟悉不同终端的运行环境与技术差异,能够处理多端交互适配、设备能力调用、业务模块复用及多端一致性等问题。
  • 服务端与工程化: 具备 Java / Spring Boot 业务开发与 Go 服务端项目实践,涉及 REST API、MQTT 消息处理、Elasticsearch 批量写入;熟悉 Vite、pnpm workspace、Docker 等工程构建与部署工具。
  • AI 辅助开发与 Agentic Coding: 熟悉 AI Agent 驱动的软件开发模式,能够运用 Agent 参与需求分析、任务拆解、技术方案设计、代码实现、测试验证与迭代优化,并结合工程规范把控开发过程与交付质量。

工作经验

盈峰环境

2026.04 ~ 至今全栈工程师(偏前端)

盈峰数智助手 - 内部 App

面向公司内部员工的环卫车辆移动端业务 App,基于 Vue 3 + TypeScript + Vite + Vant 构建,采用后端菜单驱动的动态路由承载多业务模块。产品定位为打通环卫车从下产线调试、质检出厂到售后维护的全流程,目前已落地车辆录入、终端绑定、调试执行与结果核验、报表归档等核心环节,为现场调试与质检人员提供移动端作业入口。

  • 独立建成「车辆调试」业务模块:串联车辆录入、终端绑定、调试执行、结果核验、报表归档、记录查询 6 大环节,交付 9 个页面、7 个复用组件共 19 个文件 7,600 余行代码,模块内提交占比 100%。

  • 攻克 iOS 地图内存泄漏:逐层定位「缓存 keep-alive 实例、WebGL 上下文未释放、地图异步初始化产生孤立实例」三重根因,以单实例缓存白名单(上限 15→8)、模板 ref 显式调用 WEBGL_lose_context 释放显存、initToken 并发守卫、详情改用高德 REST 静态图替代四层方案,彻底解决反复进出页面导致的内存暴涨重启。

无人驾驶云平台 - 后台和 App

面向无人驾驶环卫机器人的智慧环卫 IoT 平台,以设备接入、作业任务、维保运维与监管对接四大业务域覆盖机器人全生命周期;后端基于 Spring Boot 3 + Java 17 多模块架构,前端基于 Vue 3 + TypeScript 工程底座, 使用 Element Plus / Vant 4 企业级组件库构建,支撑多产品线、多项目场景的一致体验与快速定制交付。

Web 与 H5 App
  • 业务移植与国际化:独立将原部门包括车辆监控、地图、作业任务与轨迹回放模块接入新产品 App,完成宿主认证权限衔接、横屏驾驶舱与触控交互适配,并实现业务模块的多语言支持。
  • 多车型协议适配:参与车辆 2.0 协议功能开发,按车型区分新旧协议入口,支持任务点/任务站配置及上装多档位控制,接入 MQTT 指令下发与车辆状态回显。
Java 后台
  • OTA 升级:参与车辆升级功能开发,支持版本包管理、车辆在线及空闲状态校验,并通过 MQTT 网关下发升级指令。
  • 告警通知:开发故障短信二级用户转推功能,完成车辆绑定用户匹配、短信发送及转推记录管理。
  • 消息消费优化:针对高频 MQTT 上行消息的内存压力,采用异步分发、有界队列及遥测与地图同步任务隔离,结合 Elasticsearch 批量写入和日志限流控制资源占用,减少服务器崩溃。

汉得信息

2022.07 ~ 2026.03前端开发工程师

马达物流云 - TMS 物流中台

汉得信息旗下专业物流供应链数字化 SaaS 平台,以订单 OMS、物流 TMS、仓储 WMS、结算 BMS 四大业务域覆盖供应链全链路,为企业提供一站式管理解决方案;前端基于 React + Umi 构建统一工程底座,业务界面统一采用猪齿鱼(Choerodon UI)企业级组件库,支撑多产品线、多租户场景下的一致体验与快速定制交付。

PC 管理端(TMS)
  • 通用地图框架 — 抽象 Adapter + 注册工厂统一高德/百度/谷歌/天地图实例化方式、事件模型、图层语义与坐标系转换,页面零改动换厂商;自研坐标系模块(BD09 内部统一,大陆/中国台湾/海外三档策略)解决跨境偏移;Promise 缓存 + callbackName 唯一化解决加载竞态,并对各家"失败无回调"分别用日志劫持/ alert 劫持/瓦片探针兜底;移植谷歌地图 markerclustererplus 做四种可插高性能拔点聚合。沉淀为公共包被多个业务子包复用,支撑运单可视化大屏、轨迹回放、路线规划、电子围栏、公开追踪页等 30+ 页面,业务侧切换地图厂商页面零改动。
  • 业务逻辑编排 — 负责后端动作编排(宏定义)模块前端建设,将后端原子函数组织为可执行函数树,配套运行时动态表单、表达式可视化构造器、版本治理(草稿/发布/停用状态机 + 版本标记 + 树形版本视图 + 配置导入导出)与在线调试与诊断日志下钻,以及种子租户继承机制;使实施顾问可在不发版前提下完成业务逻辑变更,成为动态列表与详情页按钮动作的统一后端能力出口,被 75+ 动态业务组件,上百列表/详情按钮,定时任务共同消费。
  • 运行时编译 — Worker + Babel 离线转译 TSX,产物落 IndexedDB 三级失效机制;两个自研 Babel 插件:depsImportPlugin 把 import 编译成 resolveDependence() 并由 Module Federation 预热依赖,typesRecognitionPlugin 在编译期静态判定"是 React 组件还是异步逻辑函数"并烙印进产物,运行时零成本决策弹窗还是静默执行;用 Blob URL + 原生 ESM import() 替代 eval;WeakMap 版本戳做异步竞态防护。
  • 模块联邦共享依赖:基于平台模块插件实现「全局依赖统一 + 子包扩展依赖」的运行时解析,将模块联邦核心通道挂载到 window._hzero_MFComponentStore 组件注册表,以命名空间前缀为分派键统一动态组件的运行时依赖解析,把 import 路由到三类来源——平台底层依赖、业务公共依赖和业务子包自身联邦产物;
  • 配置化(低代码)交付体系:设计存储协议 + 工厂函数族,把 JSON 编译成 DataSet/Table/Form/查询栏/按钮,搭建配置化列表;沉淀多个详情模板,覆盖发运单、计划单、运输单、费用、结算、发票等核心领域对象;实现「一条路由承载任意列表/详情页」,菜单配置路径即页面上线,页面交付由「开发写代码」转为「实施做配置」,组合宏业务逻辑和动态组件,完成业务开发。实现内置的对象配置页面抽象为按业务领域划分的套餐包(如零售/制造),新建租户时自动装配,开箱即用且可二次配置,实现租户套餐化交付,大幅提升交付效率。
司机端(马达好运)
  • 自研响应式状态管理库:劫持 Page/Component 构造器注入生命周期,实现跨页面/组件状态共享;深度 diff 生成最小 setData 路径;Promise 微任务批处理收敛同 tick 多次更新;defineProperty 补齐小程序 data 缺失的计算属性。
  • 搭建服务端驱动的配置化页面引擎:后端下发「域树」JSON 配置,端侧编译为 PageFields / PageButtons / PageParams 驱动组件化渲染;支持多模板合并、三层配置优先级仲裁、按钮动作(宏/路由/页面方法)统一分发;新增/调整页面字段与按钮改服务端配置即可,小程序不发版。
  • 领域化组件沉淀:沉淀 57 个业务组件(包括车牌专用键盘、可中断文件上传器、脱敏单元格、电子签名),以及配置化页面引擎组件(卡片,按钮,列表,表单等渲染组件)。

个人项目

Cormi — 插件化前端全栈框架

cormijs/cormicormi.js.org框架设计与独立开发

以 Cordis 为插件宿主的前端全栈框架,用一份 cormi.yml 插件树声明路由、打包、服务端与界面能力,已拆分为 11 个核心包与 20 个官方插件并发布 npm 候选版本。

技术栈:TypeScript / Cordis / Vite / Rsbuild / React / Vue / SSR。

  • 设计以服务为核心的插件机制:能力以 ctx 上的服务暴露,加载顺序由依赖声明决定而非文件顺序;每项注册都归属调用方插件的副作用,插件卸载时其贡献自动撤回,修改单个配置只重载该插件。
  • 抽象打包器与渲染器两个契约接口,使 Vite / Rsbuild 与 React / Vue 可互换替换,仅依赖特定实现的插件在该实现缺席时自动转入等待状态。
  • 将浏览器运行时实现为同一套 Cordis 上下文,Node 端插件按包名注册客户端插件并传递序列化配置,使应用代码与官方插件采用同一写法;在此基础上实现约定式路由、SSR、loader、API 路由与开发期控制台。

Tynel — TypeScript 原生编译器

mahoo12138/tynel编译器设计与独立开发

自研 TypeScript-to-native 编译器,把约定子集的 TypeScript 编译为 darwin/arm64 原生二进制,产物脱离源文件与 JS 引擎运行。

技术栈:Go / TypeScript / typescript-go(tsgo)/ Go 编译器内部 IR / NIR。

  • 前端复用 tsgo 完成解析与类型检查,自有能力白名单把 any、对象、eval 等按「能力限制」与类型错误分流报错。
  • 设计自有中间表示 NIR 作为编译器前后端唯一交接,后端可脱离源码回放;数字语义(求值顺序、负零、NaN)与 JS 逐条对齐并实测。
  • 后端以补丁注入 cmd/compile,把 NIR 直接构造成 Go 高层 IR 交给原有 SSA 与链接,不生成 Go 源码、不嵌 JS 引擎。

其他项目

  • Numen:Cordis 原生、插件优先的个人自动化运行时 · 将万物插件化,连接为可编排的自动化;
  • Havit:个人与家庭全资产台账 · 管理物品、位置、消耗品、借出、凭证与备份;
  • Madoc:面向个人和家庭的自部署协同工作区,支持 Markdown 文档与在线白板;
  • Pontis:自部署书签同步平台,包含 Web 控制台、Chromium 扩展与 Go 服务端;
  • TapType:以打字练习为核心的学习平台,包含错题复习、练习目标、成就和实时打字统计,以及词典管理;
  • OmniStore:以本地目录为数据源的自部署存储中心,统一管理文件、分享、图床、WebDAV 与可选 S3 接口;
  • MahooSolar:公寓光伏数字孪生,用三维场景呈现太阳轨迹、建筑遮挡与天气,并探索光伏功率估算和家庭能源遥测。