
文章目录每日一句正能量一、我的起点会写代码但不知道怎样成为“可录用的人”二、为什么选择鸿蒙方向三、四阶段学习路线我没有从“背 API”开始3.1 第一阶段补齐计算机基础3.2 第二阶段建立鸿蒙基础能力3.3 第三阶段做两个“完整项目”3.4 第四阶段用面试反向迭代四、项目包装从“我做了什么”改成“我解决了什么”4.1 我使用的 STAR-P 结构五、我的简历只保留一页半5.1 技术能力不写“熟练”写“可验证范围”六、面试题库我按五层准备而不是无限刷题6.1 计算机基础6.2 ArkTS 与 ArkUI6.3 HarmonyOS 平台能力6.4 项目深挖6.5 行为面试七、三次关键面试复盘7.1 第一次把项目讲成了产品演示7.2 第二次会说分布式但边界说错了7.3 第三次性能数据让我拿回主动权八、一个面试代码题异步任务怎样避免重复提交九、面试记录表每次失败都必须换来一个改进动作9.1 面试复盘模板十、Offer 选择我没有选数字最高的那一个10.1 我没有忽略薪酬十一、入职前我做了哪些准备11.1 重构自己的项目11.2 熟悉团队协作流程11.3 训练阅读陌生工程11.4 写 30-60-90 天计划十二、入职后的真实落差会做毕业设计不等于会参与商业项目十三、我在前三个月犯过的三个错误13.1 急着写代码没有先确认边界13.2 遇到问题自己耗太久13.3 只看功能不看可维护性十四、工位与入职生活不要把“上岸”理解成终点十五、投递前能力评分不要等到“全部学会”十六、给准备鸿蒙校招同学的面试清单16.1 项目清单16.2 技术清单16.3 表达清单十七、这条路上最重要的五个经验第一不要用 API 数量衡量能力第二项目必须有证据第三每次面试都要留下资产第四Offer 是职业路径选择第五上岸只是开始十八、总结我不是准备好了才上岸而是在准备中变得可录用每日一句正能量*生活是旷野而不是画满条条框框的封闭轨道。」别人画好的路线安全但窒息。自由、未知、需要自己找方向但也开阔。你有权偏离那条“应该怎样活”的轨道。标记参与方向三「毕业季 · 鸿蒙同行」文章投稿。一、我的起点会写代码但不知道怎样成为“可录用的人”大三下学期以前我一直觉得找开发工作就是三件事刷算法题、背八股文、把简历投出去。我的计算机基础不算差学过数据结构、操作系统、计算机网络和数据库也用 Java 做过课程管理系统用 Python 写过小工具。可真正开始准备校招时我很快发现自己处在一个尴尬状态课程学过很多但问到细节就只能说概念项目做过几个但只能介绍页面和功能对 HarmonyOS 感兴趣却不知道企业到底需要什么能力简历写了三页真正能被追问的内容却很少模拟面试时一紧张就从项目介绍跳到 API 罗列。校企合作课程的企业导师给我的第一条建议是校招不是证明“我学过很多”而是证明“我能把一个问题稳定地解决并能解释自己的选择”。这句话改变了我的准备方式。我不再追求把所有知识点过一遍而是开始搭建一条有证据的能力链基础知识能回答、鸿蒙能力能落地、项目能现场演示、性能有测试数据、失败有复盘、表达有结构。二、为什么选择鸿蒙方向我最终选择 HarmonyOS 方向主要有三个原因。第一学习路径比较适合计算机专业学生迁移。ArkTS、声明式 UI、应用生命周期、网络、存储、并发、测试和工程化仍然建立在熟悉的软件开发基础上并不是完全割裂的新世界。第二项目容易做出差异化。普通信息管理系统很难在校招项目中形成记忆点而鸿蒙项目可以结合元服务、服务卡片、跨设备协同、端侧 AI、系统意图和多设备适配等场景展示更完整的工程思考。第三我更喜欢端侧产品体验。相比只做后台接口我愿意花时间研究页面状态、启动路径、弱网体验、设备协同和性能问题。鸿蒙客户端岗位与我的兴趣更匹配。选择方向并不意味着放弃基础。后来每次面试都证明面试官先确认我是不是一个合格的软件工程应届生再确认我对 HarmonyOS 是否有足够深度。三、四阶段学习路线我没有从“背 API”开始我把准备过程分成四个阶段。3.1 第一阶段补齐计算机基础这一阶段我重点复习HTTP、TCP、缓存和常见状态码进程、线程、协程与并发安全数组、链表、树、图和常见复杂度数据库索引、事务、锁和分页Git 分支、合并、回滚与冲突处理面向对象设计与常见分层。我的方法不是重新把教材看一遍而是建立“问题卡片”问题为什么网络请求不能直接在 UI 主线程做 回答结构 1. 主线程承担什么职责 2. 阻塞后会出现什么用户体验 3. ArkTS 中如何异步执行 4. 项目里遇到过什么问题 5. 最终怎样验证改进。这个结构后来也被我用在所有面试题上概念—风险—方案—项目—证据。3.2 第二阶段建立鸿蒙基础能力我按以下顺序学习ArkTS 类型系统和异步编程ArkUI 声明式组件页面路由和状态管理Stage Model 与 UIAbility 生命周期网络、数据存储、通知、权限等常用能力列表性能、资源适配、日志与调试服务卡片、元服务或跨设备能力中的一个特色方向。我没有一开始就追求学习几十个 Kit而是先保证能从零创建工程能独立完成一个可运行页面能处理加载、空数据、错误和重试状态能解释模块目录能真机或模拟环境演示能定位一次实际问题。3.3 第三阶段做两个“完整项目”我最终保留了两个主项目。项目一智慧校园导航系统课程表联动导航AI 智能问路离线 POI 缓存手机到平板的路线接续无障碍路线性能测试和答辩材料。项目二实验室预约元服务元服务轻量入口服务卡片预约冲突检测自动/人工审批状态机超时释放和审计日志。两个项目没有追求功能数量而是分别证明两件事我能做一个跨模块、跨设备的完整应用我能把复杂系统收敛成轻量、可用的元服务闭环。3.4 第四阶段用面试反向迭代每次面试后我都会记录面试官问了什么我回答到哪一步卡住是知识问题、表达问题还是项目确实没有做下一次面试前要完成什么动作。四、项目包装从“我做了什么”改成“我解决了什么”我第一次写简历时项目描述是这样的使用 ArkTS 和 ArkUI 开发智慧校园导航系统。 实现首页、搜索、地图、导航、个人中心等 8 个页面。 实现课程表和校园地点查询。企业导师看完后只问了一句如果把“ArkTS”和“ArkUI”换成别的技术这个项目还有什么值得录用你的地方我才意识到我写的是功能清单不是能力证据。后来我把项目描述重写为针对新生找楼难、教室别名多和校园弱网问题 设计统一意图路由与 POI 别名索引将搜索、课程卡片和语音入口统一到导航服务 增加本地缓存和路线图预加载在教学样例中将 POI 检索平均耗时由 480 ms 降至 190 ms 跨端接续仅同步 routeToken 与目标状态避免传输完整路线对象。4.1 我使用的 STAR-P 结构普通 STAR 是 Situation、Task、Action、Result。我在项目面试中多加了一个 PProof证据。S场景——真实用户有什么痛点T任务——我负责哪一部分A行动——做了哪些技术决策R结果——功能、性能或体验有什么变化P证据——代码、测试数据、录屏、日志或架构图。这个结构解决了两个问题避免把团队项目全部说成自己做的避免结果只有“项目成功运行”这种空泛结论。五、我的简历只保留一页半我删掉了很多看起来丰富、实际没有价值的内容熟练掌握所有办公软件了解十几种编程语言课程项目的全部页面没有结果的社团经历无法解释的“精通”与岗位无关的证书堆叠。最终简历结构是基本信息与求职方向技术能力两个核心项目一段实习或校企合作经历教育背景Git 仓库或作品演示入口。5.1 技术能力不写“熟练”写“可验证范围”例如ArkTS / ArkUI 能够独立开发 Stage Model 应用处理页面路由、异步状态、列表渲染、 本地数据和异常恢复完成手机和平板自适应项目并有性能测试记录。这比“熟练掌握 ArkTS、精通 ArkUI”更可信也更容易控制面试追问范围。六、面试题库我按五层准备而不是无限刷题我把面试题分成五类。6.1 计算机基础常见问题包括TCP 和 HTTP 的关系GET 与 POST 的差异进程和线程什么是死锁数据库索引为什么能提高查询速度事务隔离级别HashMap、数组、链表的适用场景时间复杂度和空间复杂度。面试官并不一定要求背出完整教材而是看你能否把基础知识和项目联系起来。例如问到缓存我会回答项目中的校园 POI 数据读取频率高、更新频率低所以使用本地缓存同时保存远端版本号版本变化时更新。缓存命中减少网络等待但必须处理过期和失败回退。6.2 ArkTS 与 ArkUI我重点准备ArkTS 类型约束Promise、async/await组件状态和父子传值列表渲染页面生命周期路由传参错误状态UI 卡顿定位资源与深浅色适配。一个常见问题是为什么要避免在主线程执行重任务我的回答结构是主线程负责 UI 更新和事件响应重任务会造成掉帧和点击无响应网络、文件和模型推理应异步执行UI 只接收结果状态项目中通过异步推理把首结果耗时和页面卡顿分离。6.3 HarmonyOS 平台能力我准备的不是所有能力而是项目中真正使用的部分Stage ModelAbility 生命周期网络与本地数据通知服务卡片或元服务分布式设备协同权限与隐私调试和发布流程。面试时最危险的回答是“这个 Kit 我看过”因为下一句通常就是“那你说说它在项目里怎么用”。6.4 项目深挖项目问题往往决定面试结果为什么这样分层最大难点是什么哪部分是你做的出现过什么 Bug如何验证性能弱网如何处理并发冲突如何处理如果重新做会改什么真实上线还缺什么。我给自己定了一条规则每个项目至少准备 3 个技术难点、2 个失败案例、2 组数据和 1 个重新设计方案。6.5 行为面试常见问题为什么选择鸿蒙你最大的缺点是什么遇到团队冲突怎么办如何快速学习新能力是否接受业务变化手里有几个 Offer为什么选择我们。这些问题不能只讲态度要讲真实行动。七、三次关键面试复盘7.1 第一次把项目讲成了产品演示第一家公司的一面我用了五分钟介绍所有页面却没有讲架构和难点。面试官问如果两个学生同时预约最后一个时段你怎样保证只有一个人成功我当时只回答“前端判断时间是否冲突”明显不够。面试结束后我补做了服务端二次校验唯一约束或乐观锁设计幂等请求并发测试失败后保留表单内容。这次失败让我知道面试官不会因为页面好看就默认系统可靠。7.2 第二次会说分布式但边界说错了第二家公司问家属在外地是否可以直接发现家里的鸿蒙设备并连接我一开始差点回答“可以通过分布式设备管理发现”。后来及时纠正家庭可信设备和异地家属端不是同一个通信场景。家庭内可以做可信设备发现和应用协同异地家属端更适合通过加密业务服务和通知完成同步。这次面试让我意识到技术边界比 API 名称更重要。7.3 第三次性能数据让我拿回主动权第三家公司问列表性能我没有只说懒加载而是展示了项目测试优化前首屏加载约 620 ms拆分首屏组件、延迟加载非关键数据后约 410 msPOI 检索从网络优先改为本地索引优先通过日志记录每个阶段耗时。当项目有证据时面试就从“你会不会”变成了“你为什么这样做”。八、一个面试代码题异步任务怎样避免重复提交面试中经常会出现贴近业务的小题。例如“提交按钮连续点击怎么办”。exportclassSubmitGuard{privatesubmitting:booleanfalseasyncrunT(task:()PromiseT):PromiseT|null{if(this.submitting){returnnull}this.submittingtruetry{returnawaittask()}finally{this.submittingfalse}}}页面层可以禁用按钮Statesubmitting:booleanfalseprivateasyncsubmit():Promisevoid{if(this.submitting){return}this.submittingtruetry{awaitthis.reservationService.create(this.form)}finally{this.submittingfalse}}但回答不能停在这里。还要补充前端防重复只是体验措施服务端仍需要幂等键并发资源需要事务或唯一约束超时重试要避免重复创建日志需要能串联同一次请求。这就是我后来总结的面试习惯代码回答一层工程回答再多两层。九、面试记录表每次失败都必须换来一个改进动作我的面试记录不只记录“过了还是挂了”而是记录日期和公司类型面试轮次核心问题回答质量对方持续追问的位置下一步改进动作是否需要修改简历。9.1 面试复盘模板问题 我当时的回答 面试官继续追问 真正的知识缺口 项目是否缺少实现 表达上可以怎样重构 48小时内完成的动作其中最重要的是最后一项。“继续学习”不是动作“补一张生命周期图并讲给同学听”才是动作。十、Offer 选择我没有选数字最高的那一个最终我拿到了三个匿名化 OfferOffer A智能终端生态伙伴岗位最贴近 HarmonyOSOffer B物联网平台公司设备协议和跨端业务更丰富Offer C金融科技团队薪酬更高但鸿蒙只是迁移方向之一。我建立了一个简单评分模型总分 岗位匹配 × 30% 成长空间 × 25% 导师机制 × 15% 薪酬 × 15% 城市成本 × 10% 工作强度可接受度 × 5%最后我选择了 Offer A。不是因为它在所有维度都最好而是因为岗位方向最匹配能继续积累 HarmonyOS 项目经验有明确导师第一年的成长路径清楚工作内容能与我的项目和兴趣连接起来。10.1 我没有忽略薪酬“不要只看钱”并不等于不看钱。我比较了基本工资奖金口径公积金补贴试用期比例加班制度租房和通勤成本调薪周期违约条款。但对校招生来说第一份工作的学习密度、项目质量和导师机制往往会影响后续两三年的职业路径。十一、入职前我做了哪些准备拿到 Offer 后我没有继续无目的刷题而是做了四件事。11.1 重构自己的项目我重新整理目录结构README架构图环境说明运行截图已知问题性能数据后续计划。11.2 熟悉团队协作流程重点补充Git 分支规范提交信息Code ReviewBug 单日志规范版本发布回滚思路。11.3 训练阅读陌生工程我找了一个不是自己写的项目要求自己在两天内回答应用入口在哪里页面怎样组织数据从哪里来错误怎样处理日志在哪里新增一个字段需要改哪些地方。11.4 写 30-60-90 天计划十二、入职后的真实落差会做毕业设计不等于会参与商业项目入职第一周我最不适应的不是技术而是工程规模。毕业设计中我可以自己决定模块名、接口和版本商业项目里每个改动都要考虑是否影响已有用户是否兼容旧数据是否需要灰度是否有埋点和日志是否需要测试用例是否影响多个模块是否符合设计与安全规范出问题怎样回滚。我的第一个需求只是给列表增加一个状态提示但实际过程包括读需求文档找到数据来源与服务端确认字段处理空值和旧版本写 UI 状态补测试提交 Code Review根据意见修改验证多设备表现跟随版本发布。这让我真正理解学校项目证明你能完成事情商业工程要求你可控地完成事情。十三、我在前三个月犯过的三个错误13.1 急着写代码没有先确认边界我曾经看到需求后直接改页面后来才发现字段还没有稳定导致返工。改进方法先确认输入、输出和异常画最小流程把不确定点列出来再开始编码。13.2 遇到问题自己耗太久学生习惯独立完成但团队更看重解决效率。后来我采用“30-60 分钟规则”先自己定位整理已知信息超过合理时间后带着日志、复现步骤和猜测去求助不只说“运行不了”。13.3 只看功能不看可维护性最初我为了尽快完成需求把状态判断写在组件里。Code Review 要求我把业务规则移到服务层并补测试。这次修改让我意识到能运行只是最低标准。十四、工位与入职生活不要把“上岸”理解成终点这张图是工位场景示意不是真实公司或真实员工照片。真正入职后我的日常并没有想象中“每天研究最新技术”那么浪漫。更多时间是在阅读已有代码参加需求评审修复兼容问题写日志和测试做 Code Review跟进测试反馈复盘线上问题学习团队规范。但我也越来越确认自己选择的方向。当我第一次看到自己负责的页面进入测试版本第一次通过日志定位跨设备状态不同步第一次把重复代码抽成公共组件时我感受到的成就感比拿到 Offer 那天更具体。十五、投递前能力评分不要等到“全部学会”我建议学生在投递前满足以下最低条件有两个完整项目每个项目都能现场演示每个项目有一个真实难点有性能、成功率或体验数据能解释分层和技术选择能讲一次失败和改进能完成常见计算机基础问答能写基本 ArkTS 业务代码能读日志、处理异常能在五分钟内清楚介绍自己。投递不是毕业考试不需要等到所有知识都学完。面试本身就是学习和校准过程。十六、给准备鸿蒙校招同学的面试清单16.1 项目清单项目解决什么问题为什么使用 HarmonyOS你的职责架构图数据流三个难点两个失败两组数据安全和隐私如果重做怎样改。16.2 技术清单ArkTS 类型和异步ArkUI 状态和列表Stage Model路由和生命周期网络和存储权限日志测试性能一个特色能力。16.3 表达清单一分钟自我介绍三分钟项目介绍为什么选鸿蒙为什么选这家公司最大优点和缺点团队冲突学习新技术Offer 决策逻辑入职计划。十七、这条路上最重要的五个经验第一不要用 API 数量衡量能力企业更关心你是否能把少数能力真正用好。第二项目必须有证据截图只能证明页面存在数据、日志和测试才能证明工程能力。第三每次面试都要留下资产面试记录、改进文档、补充代码和新的表达方式都会提高下一次成功率。第四Offer 是职业路径选择不要只比较工资也不要只听“成长空间”的口号要看岗位、导师、业务和制度。第五上岸只是开始真正的鸿蒙开发工程师需要持续学习平台能力也要具备通用的软件工程能力。十八、总结我不是准备好了才上岸而是在准备中变得可录用回头看这段校招经历我最大的变化不是会了更多 API而是逐渐学会用工程师的方式面对问题不确定时先明确边界复杂问题先分层技术选择说明取舍优化结果提供证据失败后形成改进动作与团队协作时保证信息清楚面对 Offer 时为长期路径负责。从计算机专业学生到鸿蒙开发工程师不存在一条只靠课程、证书或背题就能复制的捷径。真正有效的路径是把计算机基础、HarmonyOS 平台能力、完整项目、面试复盘和职业选择连接起来。拿到 Offer 的那一天很开心但我更珍惜的是我终于知道自己为什么能被录用也知道入职后还要继续补什么。这可能就是“毕业季 · 鸿蒙同行”对我最大的意义——毕业不是学习的终点上岸也不是成长的终点而是把学生时代积累的能力第一次放进真实的软件工程团队里接受检验。转载自https://blog.csdn.net/u014727709/article/details/163001025欢迎 点赞✍评论⭐收藏欢迎指正