Fullstack 面试复习笔记:项目梳理总结

Fullstack 面试复习笔记:项目梳理总结

之前的笔记:

  • Fullstack 面试复习笔记:操作系统 / 网络 / HTTP / 设计模式梳理
  • Fullstack 面试复习笔记:Java 基础语法 / 核心特性体系化总结

这篇笔记主自用,系统地梳理一下最近几年的项目都做了什么东西

B2B 数据管理平台(内部工具,五百强金融企业)

关键词:React, Redux Toolkit, TypeScript, Zustand, RTK Query, Electron, PostgreSQL, CSV 导出工具, 企业权限系统, 架构重构

RDM 管理系统,需要从上游不同的 pipeline 获取数据,通过清理、验证进行整合,提供给下游消耗

项目前期为 JavaScript,后期逐步迁移至 TypeScript,并结合业务场景构建出多个“类型驱动配置模块”(如 Enum Store),显著提升了工程可维护性与开发体验

  • 主导重构前端架构,替换原有 useCase + repo + rxjs 实现,统一为 Redux Toolkit ,优化状态冗余和页面性能,减少大量 callback 的链式调用
  • 前端表单验证体系:主导前端的验证实现,使用 Yup 完成了 UI 的验证功能
  • 构建响应式状态模块,建立统一类型期约,用于跨组件配置共享
    • 基于 Yup 和它的 meta 属性,构建了统一的表格/表单配置结构,大量减缓冗余配置 → 原本不同的地区有独立的配置,管理非常的困难,现在重构为声明式实现,如: {isAvailable: [{region: "A"}, {region: "B"}]} 的方式,减少不同地区之间的属性重载,增强代码可读性
      除了 isAvailable ,同样的功能还支持 isEditable, isDisplayed 等多种配置,实现统一的配置期约
    • 利用 Zustand 动态生成 enum store,完成静态/动态 enum 的统一管理(静态 enum 已落地,动态部分 POC 阶段)
      • 设计并实现了通用 Enum Store 模型,用于构建可配置的下拉枚举与依赖映射。通过 satisfies + 泛型约束,定义枚举引用切片的类型边界(如 major → courses),实现“数据驱动 + 类型安全”双重保障。
      • 基于 as constkeyof、泛型递归推导等 TS 技巧,使 dropdown 枚举之间的映射具备完善的 IDE 提示与自动补全能力(如图所示),实现开发体验最大化。
      • 类型抽象能力增强:通过 SliceId<K>SliceValue<K> 类型工具,抽象任意枚举切片的键值结构,使组件调用时自动感知类型,无需重复定义。
      • 该 Enum Store 同时为 Zustand store 设计提供了基础类型定义,支持静态与动态枚举管理,POC 阶段已成功完成静态枚举接入与联动。
      • 搭配 [React] 如何用 Zustand 构建一个响应式 Enum Store?附 RTKQ 实战与 TS 架构落地 重新复习一下实现
    • 研发 pub/sub 机制,通过 zustand 打通 Redux 与 Yup 数据流,实现下拉枚举与表单配置的自动联动(研发中)
    • 计划从 DD(Data Definition)文件自动生成 enum,借助 pipeline 自动同步,减少人工干预(early stage impl)
  • 后端验证协作:维护 Spring Boot 校验模块,确保 UI 与后端验证规则一致
    基于 message factory + Kafka event pool 实现事件驱动的跨端校验与数据流转
  • 工具链开发:基于 Electron 实现桌面端 CSV 导出工具,支持 PostgreSQL 多环境连接、schema 差异检测及本地配置管理
  • 自动化协作:与 QA 团队配合,辅助编写 Cypress UI 自动化测试,保障关键流程的稳定与回归能力
  • **GraphQL 架构探索(POC 阶段):**配合团队评估使用 GraphQL 简化复杂配置结构的可行性,探索其在 Enum Store 与 reference data 聚合场景下的表达能力与查询灵活性
    • 使用轻量客户端 graphql-request,实现基本 query/fetch 流程
    • 当前仍处于早期验证阶段,尚未替换原有 REST 接口,但相关 POC 已有 remote 分支为后续演进做准备
  • AI Chatbot 功能探索(POC 阶段):配合 AI 团队进行 LangChain Chatbot 的原型验证,目标是借助 LLM 模型提升本地 CSV 数据的查询/处理能力。该功能目前运行于隔离的 Sandbox 环境,仅用于架构与 prompt 实验
    • 基于团队提供的 AI Chat 模板(Python)
    • 利用 AWS S3 提供的连接模板,从远端 bucket 拉取结构化 CSV,并读取为 Pandas DataFrame
    • 将 prompt + DataFrame 传入 LangChain 中,生成执行 Python 代码片段
    • 转译 + 执行模型生成的 Python 代码,用于数据清洗与统计提取
    • 当前支持简单自然语言提问(如 “在模型 A 与 B 中,属性 C 和 D 之间是否有关系”),结果由 LLM 翻译为 Pandas 操作代码并返回清洗结果

通过上述工作,项目实现了跨地区配置统一、前后端验证协同与工具化高效导出,有效降低了后续维护与协作成本


电商平台(MERN 项目,隶属五百强零售集团)

关键词:MERN Stack, Lazy Loading, JWT, 安全中间件

B 端电商系统,涵盖前后台一体化管理

  • 使用 React 实现多商户前台 UI 与后台管理面板
  • 应用 Redux + Lazy Loading 优化模块加载,提升初始加载速度
  • 后端使用 Express + JWT 实现登录认证、token 刷新,主要负责用户登录验证及产品模块
  • 集成 Helmet、XSS-Clean、HPP 等中间件,提升 Express 项目基础安全性

表单自动化平台(内部 SaaS 工具,五百强制造企业)

关键词:form.io, 表单数字化, APAC 多区域协作, 环境友好型系统

使用 form.io 实现纸质流程的电子化,显著减少纸张使用;避免补录/誊抄等造成的误差以提升数据精确值。同时,计划是通过 SaaS 平台和初/中期的设计实现,使 BA 可以自行设计/实现表单,摆脱对开发的依赖,并与客户原有系统(如 SharePoint)集成,打通数据流

职责:

  • 参与多个核心业务表单的配置与开发,实现动态字段、表单联动与多级审批流
  • 基于 form.io 的规则引擎,定制字段校验与审批流程,如动态必填、条件显示、流程分支
  • 整理表单配置文档与操作指引,帮助团队和业务方提升上线效率
  • 与业务分析团队(BA)合作,将纸质业务流抽象为可配置表单模板,提升表单复用率与可维护性
  • 实现多种登录方式,AML,Auth0 - 测试/POC 阶段
  • 参与商讨 express 的实现,作为中台更好的聚合当前的数据,以便传到已有的 pipeline(Sharepoint)- 测试/POC 阶段

物流重构平台(APAC 区头部托运公司)

关键词:老旧代码重构, 前端工程体系建立, UI/状态管理优化

与后端紧密合作,将原始 .NET MVC 项目迁徙为前后端分离功能,后端依旧维持在 .NET 中,前端则使用 React 实现,使得嵌入 drupal (CMS) 的过程更加的简易与模块化

职责:

  • 使用 redux 和 redux-thunk 建立统一状态管理
  • 使用 module.css 对 CSS 进行模块化管理,避免样式污染
  • 抽象业务逻辑,开发了类似 react-form 的动态表单组件,支持通过表单定义一键生成 UI、onChange handler 与校验规则,显著提高表单开发效率
  • 发现前端使用 POST+ DELETE 代替 PATCH,察觉 RESTful 实现的缺失,与后端合作完成完善了对应的业务逻辑,减少 payload 和 request 数量

早期项目与实习经历

某某科技(已凉凉):使用 Java + Spring MVC + JSP 构建内部管理系统,初步了解后端框架结构与 MVC 模式。

实习:参与测试流程与小型模块开发,使用 Java + Spring MVC + HTML5,侧重于代码规范与项目协作流程。


个人电商项目(Multi-Vendor 电商平台,独立开发)

关键词:MERN Stack, TurboRepo, TypeScript, RBAC, Token Refresh, 多商户支持, LLM 规划, TS Decorator, 架构优化

完全独立开发,技术栈覆盖全栈主流方案,突出架构与自动化能力提升

  • 构建 Multi-Vendor 电商平台,支持卖家入驻、商品上架、购物车管理、订单处理等完整业务流程。
  • 前端使用 React + Redux Toolkit + RTK Query + Tailwind CSS,抽象出复用性组件与模块化页面布局。
  • 后端使用 TypeScript + Express + MongoDB,重构为 routes + controller + service 三层架构,采用 ts-node 实现 HMR
  • 引入 RBAC(基于角色的权限控制),配合 JWT 实现登录、Token 刷新、访问限制控制。
  • 项目采用 TurboRepo 组织前后端 monorepo,提升代码管理与部署效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/bicheng/83832.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开&#xff0c;快捷键也不好用&#xff0c;当看到 Cursor 升级后&#xff0c;还是蛮高兴的 1. 下载 Cursor 下载地址&#xff1a;https://www.cursor.com/cn/downloads 点击下载 Linux (x64) &#xff0c;…

float和float32有什么区别

这是一个非常重要但容易混淆的问题。我们来一步一步讲清楚&#xff1a; ✅ 简答&#xff1a;float 和 float32 的区别 项目float&#xff08;通用名称&#xff09;float32&#xff08;精确定义&#xff09;含义通常指“浮点数”&#xff0c;具体精度由语言/平台决定明确指 32 …

openvino如何在c++中调用pytorch训练的模型

步骤1&#xff1a;将PyTorch模型转换为ONNX格式 转换代码示例&#xff08;Python&#xff09; import torch import torchvision1. 加载训练好的PyTorch模型 model torchvision.models.resnet18(pretrainedTrue) model.eval() # 设置为评估模式2. 创建虚拟输入&#xff08…

OpenCV CUDA模块特征检测------创建Harris角点检测器的GPU实现接口cv::cuda::createHarrisCorner

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 该函数创建一个 基于 Harris 算法的角点响应计算对象&#xff0c;专门用于在 GPU 上进行高效计算。 它返回的是一个 cv::Ptrcv::cuda::Cornernes…

html文字红色粗体,闪烁渐变动画效果

1. 代码 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>红色粗体闪烁文字表格</title><s…

Springboot独立学院资产管理系统k0o7w(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表 项目功能:财务员,校级管理员,部门,部门管理员,资产类型,资产信息,资产调拨,资产申购,申购入库,资产出库,资产报废,资产维修,资产盘点,维修复审 开题报告内容 基于Spring Boot的独立学院资产管理系统开题报告 一、选题背景与意义 &#xff08;一&#xff0…

基于javaweb的SpringBoot药房管理系统设计与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

Web前端之隐藏元素方式的区别、Vue循环标签的时候在同一标签上隐藏元素的解决办法、hidden、display、visibility

MENU 标签区别速览详解✅ v-if✅ v-show✅ :style"{ display: ... }"⚠️ :hidden⚠️ :style"{ visibility: ... }" 总结 标签 <div v-for"item in list" v-if"item.isShow">{{item.name}}</div> <div v-for"it…

Kafka 安装教程(支持 Windows / Linux / macOS)

一、下载 1、kafka官网下载地址:https://kafka.apache.org/downloads 根据实际情况下载对应的版本 2、JDK的版本最好是17+ JDK下载地址:https://www.oracle.com/java/technologies/javase/jdk17-0-13-later-archive-downloads.html 二、安装 前置条件 安装 Java(至少 Jav…

Linux研学-用户解析

一 root用户 1 介绍 root是Linux系统中唯一的超级管理员账户&#xff0c;拥有系统的最高权限&#xff08;UID0&#xff09;&#xff0c;可执行任何操作&#xff0c;包括修改系统文件、安装/卸载软件、管理用户权限等。   如普通用户无法在根目录下创建文件&#xff0c;而roo…

设计模式系列(07):建造者模式(Builder)

本文为设计模式系列第7篇&#xff0c;聚焦创建型模式中的建造者模式&#xff0c;涵盖定义、原理、实际业务场景、优缺点、最佳实践及详细代码示例&#xff0c;适合系统学习与实战应用。 目录 1. 模式概述2. 使用场景3. 优缺点分析4. 实际应用案例5. 结构与UML类图6. 代码示例7…

HBuilder 发行Android(apk包)全流程指南

一、前言 小程序以其便捷性和轻量性受到越来越多开发者的青睐。HBuilder 作为一款强大的开发工具&#xff0c;为小程序开发提供了极大的便利。本文将详细介绍如何通过 HBuilder 完成小程序的开发与发行。 二、环境准备 1. 安装 HBuilder 访问 DCloud 官方网站&#xff0c;下…

React 18新特性介绍

React 18是React团队于2022年发布的一个重要版本&#xff0c;它引入了多项改进和新特性&#xff0c;在提升性能的同时也带来了一些使用上的变化。本文将全面介绍React 18的主要新特性&#xff0c;包括并发渲染、API更新、浏览器兼容性等重要内容&#xff0c;并通过代码示例说明…

设计模式——面向对象设计六大原则

摘要 本文详细介绍了设计模式中的六大基本原则&#xff0c;包括单一职责原则、开放封闭原则、里氏替换原则、接口隔离原则、依赖倒置原则和合成复用原则。每个原则都通过定义、理解、示例三个部分进行阐述&#xff0c;旨在帮助开发者提高代码的可维护性和灵活性。通过具体代码…

使用 So-VITS-SVC 实现明星声音克隆与视频音轨替换实战全流程

本文展示如何使用开源项目 so-vits-svc 实现声音克隆与视频音轨替换流程&#xff0c;适用于 AI 音频工程、声音合成等学习场景。所述内容仅限技术交流&#xff0c;禁止用于非法用途。 一、项目背景 此项目采用 so-vits-svc 4.1 开源框架&#xff0c;实现了“用明星声音替换视频…

【学习记录】深入解析 AI 交互中的五大核心概念:Prompt、Agent、MCP、Function Calling 与 Tools

&#x1f4cc; 引言 随着大语言模型&#xff08;LLM&#xff09;的发展&#xff0c;AI 已经不再只是“回答问题”的工具&#xff0c;而是可以主动执行任务、调用外部资源、甚至构建完整工作流的智能系统。 为了更好地理解和使用这些能力&#xff0c;我们需要了解 AI 交互中几…

纹理压缩格式优化

🎯 Unity 项目纹理压缩格式优化终极指南 ——不同平台、不同手机型号,如何正确选择 🧩 什么是纹理压缩(Texture Compression)? Texture压缩 = 减小显存占用,提升加载速度,减轻GPU负担纹理是游戏中最大资源,占用50%+内存正确压缩:减少GPU Bandwidth,提高渲染性能错…

Docker轻松搭建Neo4j+APOC环境

Docker轻松搭建Neo4jAPOC环境 一、简介二、Docker部署neo4j三、Docker安装APOC插件四、删除数据库/切换数据库 一、简介 Neo4j 是一款高性能的 原生图数据库&#xff0c;采用 属性图模型 存储数据&#xff0c;支持 Cypher查询语言&#xff0c;适用于复杂关系数据的存储和分析。…

NGINX `ngx_stream_core_module` 模块概览

一、模块定位与功能 通用 TCP/UDP 代理 支持同时处理 TCP 和 UDP 流量&#xff0c;透明转发请求到后端服务器组&#xff08;upstream&#xff09;。可作为四层负载均衡&#xff0c;根据客户端 IP、权重、最少连接等策略将连接分发给后端。 预读&#xff08;preread&#xff09…

JVM类加载高阶实战:从双亲委派到弹性架构的设计进化

前言 作为Java开发者&#xff0c;我们都知道JVM的类加载机制遵循"双亲委派"原则。但在实际开发中&#xff0c;特别是在金融支付、插件化架构等场景下&#xff0c;严格遵循这个原则反而会成为系统扩展的桎梏。本文将带你深入理解双亲委派机制的本质&#xff0c;并分享…