فهرست منبع

docs: 新增简历项目描述(ZET6 CMSIS V2 项目)——简历正文+ATS关键词+面试STAR叙事

kekeZack 1 ماه پیش
والد
کامیت
62bae9f1f3
1فایلهای تغییر یافته به همراه80 افزوده شده و 0 حذف شده
  1. 80 0
      求职资源/求职工具/简历-项目描述.md

+ 80 - 0
求职资源/求职工具/简历-项目描述.md

@@ -0,0 +1,80 @@
+# 简历项目描述:STM32F103ZET6 多传感器监控系统
+
+> 适用岗位:嵌入式软件工程师(MCU/RTOS 方向)实习
+> 仓库:https://github.com/kekezack/STM32F103ZET6-MultiSensor-Monitor
+
+---
+
+## 一、简历正文(2-3 行,放项目区)
+
+**基于 CMSIS-RTOS V2 的 STM32F103ZET6 多传感器监控系统** | 个人独立开发 | 2026.07-08
+
+基于 FreeRTOS(CMSIS-RTOS V2 标准抽象层)的嵌入式多任务系统,实现 5 页面 LCD 图形界面、多传感器采集、CLI 调试与智能休眠。采用五层驱动架构 + UI 分层框架,UI 通过函数指针表驱动页面调度,控件库以回调实现 OOP 式封装。
+
+---
+
+## 二、技能点(面试官会追问,必须能讲透)
+
+### 技术栈
+- 芯片/RTOS:STM32F103ZET6(Cortex-M3)+ FreeRTOS(CMSIS-RTOS V2 封装)
+- 外设:LCD(FSMC)、4 线电阻触摸屏、DHT11、光敏(ADC)、SPI NOR Flash、LED、按键、USART
+- 工具链:arm-none-eabi-gcc + CMake + Ninja,clang-format 代码规范
+
+### 可量化的成果(简历写这些有冲击力)
+| 维度 | 数据 |
+|------|------|
+| 代码量 | 约 4800 行 C 代码(User/ 22 文件) |
+| 驱动模块 | 8 个外设驱动 |
+| UI 页面 | 5 页(开机/温湿度/光照/系统/LED控制) |
+| 任务划分 | 3 个 FreeRTOS 任务 + 启动任务 |
+| 调度周期 | UI 任务 10ms 轮询 |
+
+### 架构亮点(简历 bullet 用)
+1. **CMSIS-RTOS V2 标准抽象层**:使用 `osThreadNew`/`osMessageQueueNew` 等标准接口而非裸调 FreeRTOS,理解 RTOS 抽象层价值
+2. **UI 分层框架**:`xPage` 函数指针表统一调度渲染/刷新/输入;页面实现三接口(Render/Refresh/Process),新增页面仅需注册
+3. **控件库 OOP 式封装**:按钮控件内置回调函数指针 + 焦点/按下状态,C 语言下实现"多态"
+4. **全量/增量渲染分离**:切页全量重绘,周期内脏值刷新,降低 LCD 带宽占用
+5. **五层驱动架构**:配置表/生命周期/API/调度/硬件抽象五层分离,设备用枚举标识
+6. **资源监控**:LCD 实时显示堆剩余、各任务栈水位(`uxTaskGetStackHighWaterMark`)
+
+---
+
+## 三、面试 STAR 叙事(2 分钟口述)
+
+**Situation**:需要把多传感器数据采集、显示、交互整合到一个 STM32 系统,且要便于扩展。
+
+**Task**:设计一个可维护、可扩展的嵌入式系统架构,而非"能跑就行"。
+
+**Action**:
+1. 采用 CMSIS-RTOS V2 标准接口做多任务,任务职责单一(监视/UI/Shell)
+2. 设计 UI 框架:函数指针表驱动 5 个页面,页面只实现统一接口;控件库复用(按钮/标签/数值)
+3. 五层驱动架构,配置与运行分离,新增设备只需加配置表
+4. 智能休眠:暗光 5 秒自动睡,任意输入唤醒,降低功耗
+
+**Result**:
+- 系统稳定运行,3 个任务 + 8 个外设协同工作
+- 新增页面/LED 控制功能只需实现 3 个接口 + 注册,扩展成本低
+- 代码规范统一(匈牙利命名 + Allman + clang-format),可读性强
+
+---
+
+## 四、ATS 关键词(投简历时嵌入)
+
+`嵌入式` `STM32` `FreeRTOS` `CMSIS-RTOS V2` `C语言` `RTOS` `多线程` `任务调度` `驱动开发` `LCD` `传感器` `I2C` `SPI` `UART` `ADC` `DMA` `中断` `GPIO` `嵌入式Linux` `CMake` `Git` `嵌入式系统` `固件开发` `物联网`
+
+---
+
+## 五、可能被追问的问题(提前准备)
+
+| 问题 | 参考回答要点 |
+|------|------------|
+| 为什么用 CMSIS-RTOS V2 不用原生 FreeRTOS? | 标准抽象层,换内核不用改上层;CubeMX 默认生成 |
+| 函数指针表有什么好处? | 新增页面零侵入;调度逻辑集中;table-driven design |
+| 全量/增量渲染为什么这样设计? | LCD 写像素慢,增量只刷变化区域,降低刷新开销 |
+| 任务优先级怎么定的? | UI 交互要响应快(AboveNormal),监视周期任务 Normal,Shell 最低 |
+| 五层驱动怎么理解? | 配置与运行分离、跨层禁止调用、设备枚举标识 |
+| 遇到过什么 bug 怎么解决? | 如实讲一个调试案例(如 DHT11 时序、触控校准、栈溢出) |
+
+---
+
+_生成于 2026-08-02。面试前逐条吃透,尤其"为什么"类问题。_