Files
resume/resume.html
T

475 lines
18 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>何朝晖 - 简历</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: "Microsoft YaHei", Arial, sans-serif;
background: #ffffff;
color: #222222;
line-height: 1.4;
font-size: 12px;
}
.page {
width: 794px;
min-height: 1123px;
margin: 0 auto;
padding: 20px 36px;
background: #ffffff;
}
/* Header */
.header {
margin-bottom: 8px;
}
.name {
font-size: 28px;
font-weight: 800;
color: #222222;
margin-bottom: 3px;
letter-spacing: 1px;
}
.contact-info {
font-size: 12px;
color: #222;
line-height: 1.45;
}
.contact-line {
display: flex;
align-items: center;
gap: 18px;
margin-bottom: 1px;
}
.contact-item {
display: flex;
align-items: center;
}
.position-line {
display: flex;
align-items: center;
margin-top: 1px;
}
.website-line {
display: flex;
align-items: center;
margin-top: 1px;
}
/* Section */
.section {
margin-bottom: 6px;
}
.section-title {
font-size: 14px;
font-weight: 700;
color: #4478DF;
padding: 3px 10px;
border-left: 3px solid #4478DF;
background-color: #EEF3FF;
margin-bottom: 4px;
line-height: 1.3;
}
/* Education */
.edu-header {
display: flex;
justify-content: space-between;
align-items: baseline;
margin-bottom: 3px;
}
.edu-school {
font-size: 14px;
font-weight: 700;
color: #222;
}
.edu-major {
font-size: 13px;
color: #888;
margin-left: 10px;
}
.edu-degree {
font-size: 13px;
color: #888;
margin-left: 10px;
}
.edu-date {
font-size: 13px;
color: #888;
white-space: nowrap;
}
.edu-items {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 2px 20px;
margin-left: 12px;
font-size: 13px;
color: #252525;
line-height: 1.45;
list-style: none;
}
.edu-items li {
margin-left: 0;
}
/* Honors */
.honor-item {
display: flex;
align-items: baseline;
margin-bottom: 2px;
font-size: 13px;
line-height: 1.45;
}
.honor-content {
color: #222;
flex: 1;
min-width: 0;
}
.honor-name {
color: #222;
}
.honor-badge {
display: inline-block;
min-width: 52px;
text-align: right;
margin-left: 8px;
color: #222;
}
.cert-link {
color: #4478DF;
text-decoration: none;
margin-left: 8px;
font-size: 13px;
white-space: nowrap;
}
.honor-date {
color: #888;
white-space: nowrap;
margin-left: 12px;
min-width: 56px;
text-align: right;
}
/* Experience */
.exp-header {
display: flex;
align-items: baseline;
margin-bottom: 1px;
}
.exp-company {
font-size: 14px;
font-weight: 700;
color: #222;
flex: 1;
min-width: 0;
}
.exp-date {
font-size: 13px;
color: #888;
white-space: nowrap;
margin-left: 12px;
}
.exp-sub {
font-size: 12px;
color: #888;
margin-bottom: 3px;
}
.exp-items {
margin-left: 12px;
font-size: 13px;
color: #252525;
line-height: 1.45;
}
.exp-items li {
list-style-type: disc;
margin-left: 6px;
margin-bottom: 0px;
}
/* Project */
.proj-header {
display: flex;
justify-content: space-between;
align-items: baseline;
margin-bottom: 1px;
}
.proj-name {
font-size: 14px;
font-weight: 700;
color: #222;
}
.proj-date {
font-size: 13px;
color: #888;
white-space: nowrap;
}
.proj-sub {
font-size: 12px;
color: #888;
margin-bottom: 2px;
display: flex;
justify-content: space-between;
}
.proj-link {
color: #4478DF;
text-decoration: none;
}
.proj-intro {
font-size: 13px;
color: #252525;
margin-left: 12px;
line-height: 1.45;
margin-bottom: 3px;
}
.proj-work-title {
font-size: 13px;
font-weight: 700;
color: #222;
margin-bottom: 2px;
}
.proj-work-items {
margin-left: 12px;
font-size: 13px;
color: #252525;
line-height: 1.45;
}
.proj-work-items li {
list-style-type: decimal;
margin-left: 12px;
margin-bottom: 0px;
}
/* Skills */
.skill-items {
margin-left: 12px;
font-size: 13px;
color: #252525;
line-height: 1.45;
}
.skill-items li {
list-style-type: disc;
margin-left: 6px;
margin-bottom: 0px;
}
/* SVG Icons */
.svg-icon {
width: 14px;
height: 14px;
fill: #4478DF;
vertical-align: middle;
margin-right: 5px;
flex-shrink: 0;
}
/* Print styles - force background colors to display */
@media print {
* {
-webkit-print-color-adjust: exact !important;
print-color-adjust: exact !important;
color-adjust: exact !important;
}
}
</style>
</head>
<body>
<div class="page">
<!-- Header -->
<div class="header">
<div class="name">何朝晖</div>
<div class="contact-info">
<div class="contact-line">
<div class="contact-item">
<svg class="svg-icon" viewBox="0 0 24 24"><path d="M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z"/></svg>
15671623703
</div>
<div class="contact-item">
<svg class="svg-icon" viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg>
hezhaohui0807@163.com
</div>
</div>
<div class="position-line">
<svg class="svg-icon" viewBox="0 0 24 24"><path d="M20 6h-4V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-6 0h-4V4h4v2z"/></svg>
全栈开发(Go/Java后端)
</div>
<div class="website-line">
<svg class="svg-icon" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"/></svg>
<a href="http://47.121.181.112:8080/resume/" target="_blank" style="color: #4478DF; text-decoration: none;">http://47.121.181.112:8080/resume/</a>
<svg class="svg-icon" style="margin-left: 12px;" viewBox="0 0 24 24"><path d="M21.007 8.222A3.738 3.738 0 0 0 15.045 5.2a3.737 3.737 0 0 0 1.156 6.583 2.988 2.988 0 0 1-2.668 1.67h-2.99a4.456 4.456 0 0 0-2.989 1.165V7.559a3.738 3.738 0 1 0-1.494 0v8.852a3.742 3.742 0 1 0 1.63.26 2.987 2.987 0 0 1 2.854-2.117h2.99a4.484 4.484 0 0 0 4.223-3.09 3.736 3.736 0 0 0 3.25-3.242zM4.565 3.738a2.244 2.244 0 1 1 4.488 0 2.244 2.244 0 0 1-4.488 0zm4.488 16.481a2.244 2.244 0 1 1-4.488 0 2.244 2.244 0 0 1 4.488 0zm8.221-9.715a2.244 2.244 0 1 1 0-4.488 2.244 2.244 0 0 1 0 4.488z"/></svg>
<a href="http://47.121.181.112:3000/wonder" target="_blank" style="color: #4478DF; text-decoration: none;">http://47.121.181.112:3000/wonder</a>
</div>
</div>
</div>
<!-- 教育经历 -->
<div class="section">
<div class="section-title">教育经历</div>
<div class="edu-header">
<div>
<span class="edu-school">武汉科技大学</span>
<span class="edu-major">计算机科学与技术(国家级一流专业)</span>
<span class="edu-degree">本科</span>
</div>
<div class="edu-date">2023-09 ~ 2027-06</div>
</div>
<ul class="edu-items">
<li>2026-03 ~ 2026-05 金山办公 WPS 菁英工程师训练营</li>
<li>2024-05 ~ 2026-05 武汉科技大学领航工作室</li>
<li>2025-01 ~ 2025-03 字节跳动 MarsCode 青训营</li>
<li>2026-06 ~ 2026-07 东软集团集体实训</li>
</ul>
</div>
<!-- 荣誉奖项 -->
<div class="section">
<div class="section-title">荣誉奖项</div>
<div class="honor-item">
<div class="honor-content">
<span class="honor-name">"金山杯"华中地区高校第十八届程序设计邀请赛</span>
<span class="honor-badge">三等奖</span>
</div>
<a href="http://47.121.181.112:40027/i/2026/05/28/6a17ca366d125.jpg" class="cert-link" target="_blank">证书</a>
<div class="honor-date">2024-04</div>
</div>
<div class="honor-item">
<div class="honor-content">
<span class="honor-name">国际大学生程序设计竞赛(ICPC)湖北省赛</span>
<span class="honor-badge">优秀奖</span>
</div>
<a href="http://47.121.181.112:40027/i/2026/05/28/6a17ca3666920.png" class="cert-link" target="_blank">证书</a>
<div class="honor-date">2024-06</div>
</div>
</div>
<!-- 实习经历 -->
<div class="section">
<div class="section-title">实习经历</div>
<div class="exp-header">
<div class="exp-company">七牛云 | 上海七牛信息技术有限公司</div>
<div class="exp-date">2026-07 ~ 至今</div>
</div>
<div class="exp-sub">基础架构部</div>
<ul class="exp-items">
<li>参与 XInfra 基础设施平台设计,...TODO...</li>
<li>针对内部多系统(Wayne / CloudDM / Apollo 等)账号体系割裂问题,设计 SAML + OAuth2.0 统一认证方案,基于 LDAP 用户组实现跨系统角色自动映射与 SSO 免登录,全链路操作审计可追溯。</li>
<li>基于 K8s Namespace 实现从业务线维度的 RBAC 权限隔离模型,以 Kodo / LAS / 灵矽等业务线为粒度实现资源、配额、监控的逻辑隔离,支撑多租户独立管控。</li>
<li>负责日志采集与指标管理模块,WebSocket 实时推送 Ansible 任务执行日志;对接夜莺与 VictoriaMetrics,Grafana 实现监控告警按业务线聚合展示。</li>
</ul>
<div class="exp-header" style="margin-top: 10px;">
<div class="exp-company">国家网络安全人才与创新基地 | 武汉金银湖实验室</div>
<a href="http://47.121.181.112:40027/i/2026/05/28/6a17cb367128b.jpg" class="cert-link" target="_blank">实习证明</a>
<div class="exp-date">2025-11 ~ 2026-03</div>
</div>
<div class="exp-sub">平台技术部 后端开发 | 华中科技大学-网络空间安全学院</div>
<ul class="exp-items">
<li>参与设计 SaaS 多租户架构 的 Tcode 平台,设计租户隔离策略、用户绑定解绑、RBAC 权限模型和树状组织架构。</li>
<li>参与数据中台开发,基于 Go 并发模型重构面向多源异构数据的采集服务,引入流量控制机制提升数据处理效率。</li>
<li>完善安全检测模块的 RAG 模块,基于金银湖安全大模型,实现结构化输出生成元数据,构建组件漏洞知识图谱。</li>
</ul>
</div>
<!-- 项目经历 -->
<div class="section">
<div class="section-title">项目经历</div>
<div class="proj-header">
<div class="proj-name">Gen2D 游戏素材生成工具</div>
<div class="proj-date">2026-05 ~ 至今</div>
</div>
<div class="proj-sub">
<span>全栈开发 【XEngineer 开源项目】</span>
<a href="https://gitee.com/hezhaohui123/gen2d" class="proj-link">https://gitee.com/hezhaohui123/gen2d</a>
</div>
<div class="proj-intro">
<strong>项目介绍:</strong><br>
基于 Go(Gin) + Eino Agent Graph + GORM + 七牛云 Kodo + React + Zustand 的 AI 2D 游戏素材生成平台。<br>
用户输入文本提示词,自动生成风格一致的 Sprite、背景、UI 元素与动画帧,可直接导入 Unity 等主流 2D 游戏引擎。
</div>
<div class="proj-work-title">主要工作:</div>
<ol class="proj-work-items">
<li>基于 Eino Graph 构建四阶段 DAG 管线,编排 Prompt 优化、素材生成、质量校验、格式适配四节点有序执行。</li>
<li>为提升生成质量稳定性,引入 Reflect 自省机制,自动质检不通过时将拒绝理由回注提示词,同时支持注入用户反馈。</li>
<li>在限流方案的选择上,对比计数器、漏桶、窗口等多种限流机制,选用 go-redis 实现分布式的令牌桶算法限流。</li>
<li>针对 LLM 请求耗时长特性,设计自定义 IO 密集型协程池和 RabbitMQ 消息队列,实现模型调用并发化和异步化。</li>
</ol>
<div class="proj-header" style="margin-top: 12px;">
<div class="proj-name">ThumbUP 高并发点赞系统</div>
<div class="proj-date">2025-10 ~ 2025-11</div>
</div>
<div class="proj-sub">
<span>后端开发 【哔哩哔哩技术团队文章复现】<!-- TODO: 后续添加文章链接 --></span>
<a href="http://47.121.181.112:3000/wonder/thumb-up" class="proj-link">http://47.121.181.112:3000/wonder/thumb-up</a>
</div>
<div class="proj-intro">
<strong>项目介绍:</strong><br>
基于 Spring Boot 3 + Redis + Caffeine + HeavyKeeper + MyBatis-Plus 的高并发点赞系统。<br>
采用 Write-Behind 异步写回架构,写入由 Redis 承接后定时批量落库;读取走 Caffeine、Redis 二级缓存加速。
</div>
<div class="proj-work-title">主要工作:</div>
<ol class="proj-work-items">
<li>基于 Caffeine + Redis 构建二级缓存,热点 Key 提升至本地缓存,避免冷数据污染,降低 Redis 访问压力。</li>
<li>Lua 脚本保证点赞原子性,10 秒时间片分桶暂存增量,定时任务批量落库,补偿任务每日兜底,保障最终一致性。</li>
<li>复现HeavyKeeper算法实现 Top-K 热点探测,最小堆维护热点集,概率衰减淘汰冷 Key,周期 fading 适配流量变化。</li>
<li>利用字符串常量池特性,以业务前缀+用户ID为锁对象,实现同用户串行,不同用户并行,减少锁竞争,提升吞吐量。</li>
</ol>
</div>
<!-- 专业技能 -->
<div class="section">
<div class="section-title">专业技能</div>
<ul class="skill-items">
<li>熟练掌握 Java 与 Go 语言核心,熟悉常用集合与数据结构、面向对象设计、并发模型及内存管理机制。</li>
<li>熟悉 Java (Spring/MyBatis/Cloud) 与 Go (Gin/GORM/gRPC) 技术栈,能熟练运用框架进行模块化开发与接口设计。</li>
<li>熟练掌握 MySQL 数据库,深刻理解事务隔离、存储引擎原理、B+树索引优化及 MVCC 并发控制机制。</li>
<li>熟练掌握缓存技术,深入理解本地缓存(Caffeine)与分布式缓存(Redis)二级架构,掌握 RDB/AOF 持久化策略、哨兵集群机制及高性能架构原理。</li>
<li>熟悉 RabbitMQ 消息队列,理解消息持久化、死信队列、延迟队列等机制,能够设计异步解耦架构。</li>
<li>熟悉 Docker 容器化与 Kubernetes 编排,能够搭建 CI/CD 工作流,具备良好的编码习惯。</li>
<li>熟悉 Context Engineer,理解主流 Agent 架构(ReAct/reflect/Plan-Exec),高效使用 Coding Agent 编码。</li>
</ul>
</div>
</div>
</body>
</html>