Compare commits

..

2 Commits

Author SHA1 Message Date
62edf8c11a
wip: sync 2025-06-25 19:44:31 +08:00
a700b5b6fe
init: advx variant 2025-06-25 18:47:42 +08:00
17 changed files with 57 additions and 185 deletions

3
.gitignore vendored
View File

@ -1,2 +1 @@
*.pdf
dist
*.pdf

12
.vscode/settings.json vendored
View File

@ -1,12 +0,0 @@
{
"java.jdt.ls.java.home": "/home/dustella/.local/share/mise/installs/java/21.0.2",
"java.import.gradle.java.home": "/home/dustella/.local/share/mise/installs/java/21.0.2",
"bun.runtime": "/home/dustella/.local/share/mise/shims/bun",
"go.goroot": "/home/dustella/.local/share/mise/installs/go/1.25.0",
"debug.javascript.defaultRuntimeExecutable": {
"pwa-node": "/home/dustella/.local/share/mise/shims/node"
},
"go.alternateTools": {
"go": "/home/dustella/.local/share/mise/shims/go"
}
}

5
cv.typ
View File

@ -1,6 +1,6 @@
// Imports
#import "@preview/brilliant-cv:2.0.6": cv
#import "@preview/brilliant-cv:2.0.5": cv
#let metadata = toml("./metadata.toml")
#let importModules(modules, lang: metadata.language) = {
for module in modules {
@ -11,9 +11,8 @@
}
}
#show: cv.with(metadata, profilePhoto: image("./src/avatar.jpg"))
#show: cv.with(metadata, profilePhoto: image("./src/avatar.png"))
// #set text(size: 9pt)
#importModules((
"education",
"skills",

View File

@ -1,24 +0,0 @@
import os
with open("./prompt.md", "r") as file:
prompt = file.read()
typ_files = [i for i in os.listdir("./modules_zh") if i.endswith(".typ")]
cv_content = ""
for typ_file in typ_files:
with open(f"./modules_zh/{typ_file}", "r") as file:
typ_content = file.read()
cv_content += f"### {typ_file.replace('.typ', '')}\n\n"
cv_content += typ_content + "\n\n"
final_prompt = prompt.replace("###DIST_INSERT_CV###", cv_content)
os.makedirs("./dist", exist_ok=True)
with open("./dist/final_prompt.md", "w") as file:
file.write(final_prompt)

View File

@ -12,13 +12,13 @@
#v(10pt)
本文章记录了余翰文Dustella在整个大学期间折腾过的东西的记录 & 其他提高生活质量的小项目记录(不一定是我写的)
本文章记录了特菈 Dustella 在整个大学期间折腾过的东西的记录 & 其他提高生活质量的小项目记录(不一定是我写的)
这主要指的是那些 *不太适合写在简历里的小打小闹*
这主要指的是那些 **不太适合写在简历里的小打小闹**
但是,我相信有些项目能帮助到一些人,我相信也许有人能捡起我当时的想法继续做下去, *但是也有很多能直接改善生活质量的小玩意儿*
但是,我相信有些项目能帮助到一些人,我相信也许有人能捡起我当时的想法继续做下去, **但是也有很多能直接改善生活质量的小玩意儿**
如果项目 *有别人参与*,或者 *不是我做的* ,我会有特别注明。排序先后仅通过时间。
如果项目 **有别人参与**,或者 **不是我做的** ,我会有特别注明。排序先后仅通过时间。
= 零、NUISTCraft 和 NuistShare、组织联络
@ -363,7 +363,7 @@ https://www.jobdream.vip
=== 台风预警系统
毕业论文顺便写的,一个台风预警系统。2025 年这个公司又找我写了一版。
毕业论文顺便写的,一个台风预警系统。
还有更多非公开的外包,不过我想都不太重要。

View File

@ -22,7 +22,7 @@ language = "zh"
[layout.fonts]
regular_fonts = ["MiSans", "MiSans"]
header_font = "MiSans"
header_font = "MiSans VF"
[layout.header]
# Optional values: left, center, right
@ -64,10 +64,10 @@ language = "zh"
# researchgate = "John-Doe"
# extraInfo = "I am a cool kid"
[personal.info.custom-1]
image = "" # Example: image("./path/to/image.png")
# image = "" # Example: image("./path/to/image.png")
awesomeIcon = "graduation-cap" # Example: "graduation-cap" see https://typst.app/universe/package/fontawesome/
text = "硕士研究生"
link = "https://www.dustella.net"
# link = "https://www.dustella.net"
# add a new section if you want to include the language of your choice
# i.e. [[lang.ru]]

View File

@ -8,18 +8,11 @@
#cvSection("成果")
=== 创业类竞赛
- 2024 AdventureX 黑客松 四个赛道和一个主题*的第一名* With GuiiAI
- 2024 深圳 AI\#DEA AI 创新应用大赛 *第一名* With GuiiAI\
=== 计算机设计类
- 第十七届 中国大学生计算机设计大赛 *全国二等奖*
- 软件著作权一份
- 江苏省“联通软研杯”优胜奖
- 全国“盘古石杯”优胜奖
=== 语言
- *雅思 7.0*

View File

@ -13,7 +13,7 @@
society: [西交利物浦大学],
date: [2024 - 2026],
location: [苏州],
logo: image("../src/logos/xjtlu.jpeg"),
logo: image("../src/logos/ucla.png"),
description: list(
[研究方向:点云分割、点云配准、弱监督学习],
[课程: Big Data Mining #hBar() Cloud Computing #hBar() Project Management],
@ -25,7 +25,7 @@
society: [南京信息工程大学],
date: [2020 - 2024],
location: [南京],
logo: image("../src/logos/nuist.png"),
logo: image("../src/logos/ucla.png"),
description: list(
[研究方向:季节内台风预报、图像语义分割、],
[课程: 计算机网络 #hBar() 软件工程 #hBar() 人工智能 #hBar() 计算机图形学 #hBar() 计算机视觉],

View File

@ -10,15 +10,15 @@
#cvEntry(
title: [前端实习生],
society: [北京小米科技有限公司 - 南京],
society: [小米移动软件有限公司],
logo: image("../src/logos/xiaomi.svg"),
date: [2025.4 - 2025.10],
date: [2025.4 - 现在],
location: [南京],
description: list(
[参与米家 React Native 的插件开发和迭代,保证大家电产品的稳定上线],
[负责出海大家电 RN 插件的开发,有处理 i18n、RTL 布局、多语言断行布局的经验],
// [],
),
// tags: ("React Native", "Redux", "i18n", "RTL"),
tags: ("React Native", "Redux", "ESLint"),
)
#cvEntry(
@ -31,23 +31,5 @@
[在校期间负责多个应用的前端应用的产品设计、架构设计、软件开发与工程化工作],
[负责团队文档搭建、Code Review、指导团队成员展开工作。],
),
// tags: ("Vue3", "TypeScript", "Uniapp", "Vite", "Cloudbase"),
tags: ("Vue3", "TypeScript", "Uniapp", "Vite", "Cloudbase"),
)
#cvEntry(
title: "前端实习生、数据分析实习生",
society: "南京海维斯海洋信息服务有限公司",
logo: image("../src/logos/hws.jpg"),
date: "2025.1 - 2025.2",
location: "南京",
description: list(
"开发台风预警平台,负责前端页面的设计与开发,后端绘图接口的设计与开发。",
"使用 Python 进行数据处理和分析, 使用 Matplotlib 进行数据可视化。",
"贡献了一种基于深度学习的季节内台风集成预报方案",
),
// tags: ("Vue3", "Shadcn-Vue", "Python", "Quart", "Pandas"),
)
// #pagebreak()

View File

@ -6,24 +6,16 @@
#let cvEntry = cvEntry.with(metadata: metadata)
#cvSection("项目经历")
#cvSection("个人项目")
#cvEntry(
title: [AI 赋能的前端开发工具],
society: [GuiiAI Devtools],
date: [2024.8 - 2025.1],
location: [杭州],
tags: ("Unplugin", "Vue", "Monorepo", "TypeScript", "Vite"),
description: "",
tags: ("Unplugin", "Vue", "Monorepo"),
description: "作为 Vite Devtools 安装到任意现有项目不依赖编辑器、IDE",
)
这是一个作为 Vite Devtools AI 编程开发工具安装到任意现有项目不依赖编辑器、IDE。
在2024年 AdventureX 黑客松中的作品,后续维护过几个月、开放过限量内测,内测用户大约 1k 人左右。
我主要负责的部分是在比赛阶段和伙伴在三天内做出产品原型、VitePlugin Server 注入SPA 页面的部分、悬浮球的动画、Monorepo 重构后 RPC 库的构建,也参与产品设计的讨论、与投资人的沟通。
- *[项目架构]* GuiiAI Devtools 分为多个包。主要组成部分为Vite Plugin Server、悬浮球叠加层、操作面板。Vite Server 提供修改代码文件、获取源码的能力,悬浮球叠加层和操作面板可以让用户发出 Prompt。
@ -39,19 +31,40 @@
- *[优化打包体积]* 通过动态导入代码编辑器的 highlight.js将打包体积从 2M 降低至 300k
#v(10pt)
#cvEntry(
title: [气象科学与技术研究],
society: [次季节性热带气旋智能预报研究],
date: [2023.12 - 至今],
location: [南京],
tags: ("PyTorch", "深度学习", "气象预报"),
description: "",
)
开发轻量级多尺度卷积网络(LMCNet)预测台风活动,显著超越传统方法
- *[创新点]* 提出LMCNet (轻量级多尺度卷积网络)结合多模态预报数据与气候学观测数据实现更精确的台风概率预测。针对S2S台风数据集规模小的特点采用浅层网络架构和多尺度卷积操作以更少的参数提高季节性台风预测的位置准确度。
- *[优秀的模型性能]* 在2023年季节30天预报期内我们的方法在DBSS评分方面较ECMWF(最佳传统预报模式)提高36%较UNet预报方法提高18%。当预报提前期少于5天时LMCNet方法将均方误差降低了60%,显著提高了短期预报精度。
// - *[技术栈应用]* 采用PyTorch构建深度学习模型框架使用PyTorch Lightning简化训练流程并提高代码可读性通过Seaborn生成高质量可视化图表评估模型预测结果与真实气象数据的差异。
- *[成果]* 获得优秀毕业论文,目前正在整理并准备提交气象学顶级期刊发表。衍生项目得到全国软件设计大赛全国二等奖。项目展示了深度学习在气象学领域的应用潜力,为提高热带气旋预测准确性提供了新思路。
- *[能力提升]* 通过此项目,我系统掌握了深度学习算法设计、大规模气象数据处理、科研论文撰写和项目管理能力,为后续研究奠定了坚实基础。
#v(10pt)
#cvEntry(
title: "一个资源分享站",
society: "NuistShare",
location: "南京",
tags: ("Nuxt", "NestJs", "Prisma", "TypeScript", "S3", "AList", "Github OAuth"),
tags: ("Nuxt", "NestJs", "Prisma"),
description: "",
date: "2023.7-2023.9",
)
一个使用 Nuxt3、NestJs 开发的学习资料共享站点。部署在腾讯云上。
一个使用 Nuxt3、NestJs 开发的学习资料共享
- *[打包体积优化]* 优化字体以及部分样式进行懒加载,部分组件使用动态导入加载,将首屏需要加载的资源从 2M 优化到240k大大缩短首屏加载时间。
@ -67,6 +80,9 @@
- *[响应式UI设计]* 使用了 Vue 3 Composition API 进行开发,使用了 Vue 3 Suspense 特性, 实现了响应式 UI 设计。
#v(10pt)
#cvEntry(
title: "麦趣测评小游戏",
society: "麦趣职前教育小游戏",
@ -76,10 +92,9 @@
date: "2022.7-2022.9",
)
一个纯用 H5 技术做的游戏化测评类,内含大量游戏关卡,用于测评、品牌营销等。包含了大量的响应式适配、 动画、事件触发。
小游戏有几个版本,初版使用 Uniapp 开发微信小程序,后续有微信 H5 应用。管理平台为用户定制游戏化测评应用的管理平台。
该项目是一个游戏化测评类软件,内含大量游戏关卡,用于素质测评、品牌营销等。包含了大量的响应式适配、 动画、事件触发。使用 Uniapp 开发微信小程序、微信 H5 应用。管理平台为用户定制游戏化测评应用的管理平台。
技术栈:用户端 Uniapp、Vue2 | 平台端 Vue3、TypeScript、Pinia、Echarts、文件约定式路由
- *[报告图生成]* 在产品的不同时期采用 Canvas 绘制 HTML2CANVAS 的方案动态生成报告图用于用户保存和 分享。
@ -92,24 +107,3 @@
- *[构建流水线与管理工作]* 使用了 Github Actions 进行自动化构建与部署,推送到相关云服务。负责内部测试、研发 外包的发布、对接工作。
#pagebreak()
#cvEntry(
title: "基于 React native 开发的米家空调插件,基于 Spec 协议",
society: "米家空调插件",
tags: ("React Native", "Redux", "Spec Protocol", "i18n", "RTL"),
date: "2025.4-2025.8",
location: "南京",
description: "",
)
在小米实习时负责维护和迭代功能的的部分。我主要负责海外的空调产品线的插件迭代、Bugfix、新品需求。
- *[项目架构]* 项目采用 React Native 开发,使用 Spec 协议与米家 APP 进行通信。
- *[国际化支持]* 使用自封装库完成国际化支持,支持多语言切换。
- *[RTL 支持]* 支持了 RTL 布局,支持从右向左的布局。通过对 Victory Chart 等组件库的再封装,实现了图标等组件的 RTL 布局的支持。
- *[状态管理]* 使用 Redux 的修改版 Rematch 进行状态管理,自动订阅服务端 Spec 变更

View File

@ -1,23 +1,18 @@
// Imports
#import "@preview/brilliant-cv:2.0.5": cvPublication, cvSection
#import "@preview/brilliant-cv:2.0.5": cvSection, cvPublication
#let metadata = toml("../metadata.toml")
#let cvSection = cvSection.with(metadata: metadata)
#cvSection("学生活动")
=== 学生组织和社团
- 曾担任*校科协信息技术部部长*,主要负责授课、组织线下义务维修电脑服务
- 曾担任 DH 互联网工作室*社团讲师*,开设前端入门课
=== 其他
- 帮助组织*学校趣味编程竞赛*并担任评委
- 曾担任 *DH 互联网工作室讲师*,开设前端入门课
- 在不同的组织做过四次技术分享

View File

@ -10,37 +10,21 @@
#set text(weight: 300)
#set strong(delta: 200)
=== 前端开发
- 熟悉 *HTML、CSS、JavaScript、TypeScript、SASS、UnoCSS* 等前端技术;
- 熟练使用 *Vue、Vue-Router、Vuex、Pinia* Vue 生态库,熟悉使用 Uniapp 开发小程序应用;
- 熟悉 *Vite、Rollup* 等前端构建工具,了解 CJS、ESM 等模块化规范,熟悉 ES6 装饰器等新特性; *开发过 Vite Plugin*
- 熟悉 *Vite、Rollup* 等现代前端工具,熟悉 ES6 新特性、现代浏览器新 API、*开发过 Vite Plugin*
- 做过出海产品,有处理 *i18n* 以及 *RTL 、断行* 等多语言布局的经验
- 了解 Vue 响应式原理,了解过其内部各数据类型代理实现;
- 了解 *RESTful、EventStream、WebSocket* 等数据传输协议/规范; 封装过简易 RPC 库;
=== 客户端开发
- 了解并使用过 *React Native* 开发项目,了解并使用过 *Redux、React Router* React 生态关键组件
- 使用过 *WinForm* 构建桌面应用程序
=== 其他
- 了解多种 Git 分支模式,会使用 Git merge *Git rebase、cherry-pick*
- 使用过 *NestJs、Prisma* 等构建后端服务;使用过 *Flask**Quart* 构建后端服务,了解并使用过 *Docker* 打包后端服务
- 了解 Scrum 敏捷流程,有主导 Scurm 项目迭代的经历,有搭建 DevOps 自动化流水线的经历。
- 对计算机网络的应用层、协议层比较熟悉,对 *http 协议* 比较了解,擅长抓包和简单的逆向来分析应用行为
- 了解 Scrum 敏捷流程,有主导 Scurm 项目迭代的经历,有搭建 DevOps 自动化流水线的经历
- 使用过 *NestJs、Prisma* 等构建后端服务;
- 有多个从 0 1 独立/主导进行项目开发的经历。
// #pagebreak()

View File

@ -1,38 +0,0 @@
# 你是一个 技术面试专家 & 职业规划咨询师
你的任务是帮助一个具体的人解决校园招聘、尤其是面试当中遇到的麻烦,同时对他的职业规划提出建议。
下面是他目前的简历Typst 语法):
```
###DIST_INSERT_CV###
```
其中,具体需要澄清几点在简历中未提及的问题:
第一个大问题:
项目 GuiiAI 虽然看上去亮眼,但是实际上经不起太大的深问。
它是在 2024 年暑期的作品,当时还没有出现 CursorGeminiCli。但是当竞品出现之后我们暂停了这个项目
同样,因为它是早期的作品,它在 AI 方面没有用到复杂的技术,仅仅是单模型加上简单的 Prompt 优化,并且没有提供足够的工具,没有面试官希望看到的复杂的 Agent 或者工作流,也没有机会让面试官问一些常见的大型现代 AI 项目遇到的问题。
第二个大问题:
他在项目中主要用的是 Vue3React Native 是在进入小米实习之后开始写的React 本身接触就更少。相关八股文了解远没有 Vue 多,经不住问
JS “所谓的” 基础 不是那么扎实他几乎不懂现代项目中用不到的原型链JS 引擎实现异步的方式,以及 var let 一堆东西然后打印的结果的八股题目。
第三个大问题:
他的算法问题有可能是最严重的一个。刷题不够,复杂的 DP 题目直接寄,很多脑筋急转弯的题目想不到,双指针的题目更是不会做,头疼。而且可怕的是因为练习不够,面试手撕比较生疏。
目前,他秋招的情况是:
收到了字节、美团、腾讯、携程的面试,全部都是二面三面挂。约面的从未被一面挂过。字节尤为奇怪,前前后后捞了五六次,依旧在面试。
大部分其他大厂都过了简历关, 在 BOSS 等其他平台上,都能比较轻松过简历关,但后面笔试面试并不好。
现在,考虑到这些问题,他会向你请教面试、笔试、职业规划上的一些问题。

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB