#import "@preview/brilliant-cv:3.1.2": cvEntry, cvSection // 项目背景信息(面试准备用): // - 责任范围:因为人手不够,一个实习生负责海外所有国家的空调插件维护 // - 覆盖地区:重点做过欧洲、东南亚、墨西哥语种的适配 // - 技术难点:阿拉伯语的RTL适配最麻烦 // - 工作量:修复了几百个Jira问题,解决了2-3个关键用户反馈问题 // // RTL适配的具体挑战: // - Text布局平台差异: // - Android:会自动跟随云控下发的RTL flag // - iOS:如果不手动指定textAlign left,未必会自动把阿拉伯文右置 // - 米家RN魔改问题: // - 米家对RN魔改很多,是否RTL不是插件前端能决定的 // - RTL flag走的是客户端云控下发,客户端和云控非常不可靠 // - Chart组件封装: // - 封装Victory Chart等图表组件实现RTL自动适配 // - 目的是给后人排雷,减少后人搞RTL的工作量 // - 也可以旋转图片和图标准备几份,但那样不好维护 // // Critical问题修复流程: // - 定义:Jira里极少数需要马上发线上包的极为Critical的问题 // - 流程:基于线上包版本fork出来修改,火速上线 // - 挑战:需要多次校对,确保基于正确的线上版本 // - 其他问题:不急的问题修复都随着正常发版修掉 // // 海外产品的特殊要求: // - 合规要求:更严格的合规要求 // - 域名白名单:开发时需要抓包,保证插件只和白名单域名通信 // - 禁止国内请求:不能因为某个功能不小心请求国内服务器 // - 产品配合:大部分政策、协议的合规由产品做,前端配合 // // 技术细节(可能被问到): // - Spec协议:小米IoT特有的通讯协议 // - 把所有设备抽象为三种:属性、方法、事件 // - 各种智能任务通过云函数运行,但本质永远是调Spec // - 客户端基于Spec对物联网设备的抽象提供了很多封装 // - 状态管理:使用Redux的衍生框架Rematch,自动订阅Spec变更 // - 国际化:使用自封装的i18n库 #cvEntry( title: "米家大家电出海插件", society: "小米米家", tags: ("React Native", "i18n", "RTL"), date: "2025.4-2025.8", location: "南京", description: "", ) 在小米实习期间,*独立负责* 海外所有国家的空调产品线插件维护与迭代,覆盖 *欧洲、东南亚、墨西哥* 等多个地区。 - *[多语言与 RTL 适配]* 负责多语言国际化支持,重点攻克了 *阿拉伯语* 的 *RTL(从右向左)布局* 适配。通过封装 Victory Chart 等图表组件,实现了图表在 RTL 模式下的 *自动适配*,避免了为不同语言准备多套图片资源,*降低了后续维护成本* - *[高强度迭代与问题修复]* 在实习期间修复了 *数百个 Jira 问题*,解决了 2-3 个 *关键用户反馈* 问题,保证了海外产品的稳定上线 - *[Spec 协议集成]* 基于小米 IoT *Spec 协议*(将设备抽象为属性、方法、事件)进行开发,使用 Redux 衍生框架 Rematch 管理状态并 *自动订阅设备变更*