攻克Commonwealth银行软件工程挑战:.NET与React全栈实战

本文详细记录了作者完成Commonwealth银行软件工程挑战的全过程,包括后端.NET与C#开发、前端React/TypeScript实现、API集成测试以及GitHub工作流,展现了全栈开发的核心技术实践与学习收获。

我如何攻克Commonwealth银行的软件工程挑战

在寻找日常任务时,我偶然发现了Forage的CBA软件工程挑战。阅读挑战内容让我激动不已——这种感受难道不美妙吗?作为一名全职学生,同时兼顾建筑和礼宾服务的兼职工作,我很幸运能够灵活安排自己的时间。最近,我每天都会花部分时间参与这类挑战,累积效应令人惊叹。因此,我想分享完成这一挑战的历程与所学。

“安逸是敌人。持续前进。”

项目内容

CBA团队准备了预录视频和示例答案来指导参与者完成挑战。这是一个自定进度的项目,每项任务的期望都有清晰说明。以下是任务的快速概述:

任务 #1 – 后端

  • 修改现有的.NET后端
  • 使用C#扩展目标模型和控制器

任务 #2 – 前端

  • 修改现有的React/Redux前端
  • 使用TypeScript扩展UI

任务 #3 – 全栈

  • 修改客户端请求
  • 使用TypeScript和Axios进行POST和GET请求

任务 #4 – 测试

  • 覆盖你的代码!
  • 使用C#(xUnit)对目标控制器的更改进行单元测试

任务 #5 – PR

  • 在GitHub上展示一切
  • 创建新分支、提交、推送更改,并编写清晰的PR描述

我的学习收获

后端

  • C# – 之前从未使用过!学会了如何安装、运行、编译,并理解大型机构中使用的.NET架构。
  • MongoDB – 重新配置了新服务器和集群,并从零开始连接。
  • Swagger – 过去使用过,但重新用它来测试更改后的API端点。
  • 版本控制 – 将所有内容提交到我的Master’s SWE AI仓库。

前端

  • React/Redux与TypeScript – 深入了解了大型机构如何构建前端架构。
  • 自定义表情选择器 – 在React应用中实现了这一功能。
  • Axios – 用于POST、GET请求,处理添加、更新或删除表情。

测试

  • C#中的xUnit – 注意到xUnit中的[Fact]与pytest中的assert或Jest中的expect之间的相似性。

成果 🎓

我获得了一份超棒的认证,包含以下亮点:

Luis Faria – 软件工程职位模拟完成证书(2025年7月12日)

✅ 修改现有的.NET后端
✅ 修改现有的React/Redux前端
✅ 修改客户端请求
✅ 覆盖你的代码!
✅ 创建拉取请求

查看详情!

如果你想亲自尝试这个挑战:
👉 CBA软件工程虚拟体验项目
如果你对我的代码感兴趣,全部开源在这里:
👉 我的GitHub仓库

你呢?最近有没有攻克任何有趣的挑战?在评论区分享你的经历吧!

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计