AI工程师简历模板 | 中级职位示例

本文为AI工程师(中级)提供简历写作的深度指南,涵盖从基础技能展示到行业知识应用的全面策略。通过分析招聘逻辑、项目量化方法、MLOps展示技巧及常见误区,帮助求职者构建一份既能体现技术深度又能突出业务价值的简历。内容基于真实招聘经验,避免通用模板,提供针对AI岗位的定制化建议,助力你在竞争激烈的AI领域中脱颖而出。

中级 AI工程师 简历模板

初级中级

AI工程师简历的核心:从项目描述到价值论证的转变

我每年筛掉几百份AI工程师的简历。说句得罪人的话,九成以上的简历都犯同一个毛病:通篇都在讲"我做了什么技术",却几乎没有回答招聘经理真正关心的那个问题——"你做的这件事,到底带来了什么价值?"

如果你现在还觉得简历就是把技术栈堆上去、把项目经历按时间顺序列出来就完事了,那这篇文章你值得读完。我会直接告诉你,AI工程师简历该怎么写才能过初筛,以及那些让你石沉大海的隐形原因。

为什么AI工程师的简历不能只罗列技术栈

先看一个我经常遇到的简历片段:

熟练使用Python,熟悉TensorFlow、PyTorch,掌握CNN、RNN、Transformer等深度学习模型,了解Hadoop、Spark大数据框架,熟悉MySQL、MongoDB。

看完这段,我问你三个问题:这个人用这些技术解决了什么问题?在什么业务场景下用的?效果怎么样?全都不知道。

技术栈罗列是简历的最低配,它只能证明你"接触过"这些工具。但AI工程师的岗位要求不是"用过",而是"能解决问题"。招聘经理看简历时,脑子里在做一个匹配:你的能力能否迁移到我们业务中的某个具体问题上。你光写"我会Transformer",我怎么知道你是在聊天机器人上用的,还是在时间序列预测上用的?这两者的工程实现和调优思路天差地别。

更直接地说,技术栈人人都会写。会写"精通PyTorch"的人,可能连torch.utils.data的并行加载机制都没搞明白。但如果你写的是"用PyTorch的分布式训练在8卡集群上将训练时间从12小时压缩到3小时",这背后涉及的工程能力和对框架底层的理解,是编不出来的。

我的建议是:技术栈从简历中部的独立板块,降级为项目描述中的支撑信息。 让技术出现在它被使用的情境里,而不是孤立地列一张清单。

招聘经理在AI工程师简历中寻找的三大信号:业务影响、模型迭代、工程化能力

我审简历时,其实在快速扫描三个信号。你的简历如果能让这三个信号清晰可见,面试机会大概率跑不了。

第一个信号:业务影响。 你做AI不是为了发论文,是为了解决业务问题。简历里有没有出现营收、成本、效率、留存这类词?哪怕你只是实习,你做的东西最终对哪个指标产生了影响?没有业务视角的AI工程师,在真实工作中很容易做出技术上"完美"但业务上无用的模型。

第二个信号:模型迭代。 现实中的AI项目没有一次到位的。数据会变、业务会调、模型会漂移。招聘经理想知道的是:你遇到bad case怎么分析?你怎么判断该加数据还是换模型?A/B测试怎么设计?这些信息藏在你的项目描述里——如果你只写了最终结果,没写迭代过程,这个信号就丢了。

第三个信号:工程化能力。 模型能跑通和模型能上线是两回事。你的代码有单元测试吗?你的训练流程是可复现的吗?你怎么监控线上模型的性能?这些工程实践才是AI工程师和算法研究员的分水岭。

这三个信号都不需要单独开一个章节去写,而是应该融进你的项目描述里,让它们在具体情境中自然流露。

从"我用了BERT"到"我提升了3%的准确率":量化成果的底层逻辑

"我用了BERT对用户评论进行情感分类"——这是我见过最多的一句话式项目描述,它什么问题都没回答。

对比一下这个版本:

"基于BERT构建用户评论情感分析模型,对10万条历史评论进行清洗和标注,通过分层采样解决类别不平衡问题,最终在测试集上准确率从基线(TextCNN)的87.2%提升至91.5%,上线后客服工单分流率提升12%。"

看出差别了吗?后者不仅告诉了你做了什么,还告诉了你:数据量级、技术难点(类别不平衡)、对比基线、提升幅度、业务结果。每一个信息都在帮招聘经理降低判断成本。

但这里有一个陷阱:很多人为了量化而量化,编造或者强行凑数字。我宁可看到一个诚实的定性描述,也不愿看到一个注水的量化结果。 简历上的数字在面试中一定会被追问,如果你答不出这个数字是怎么算出来的,信用就崩了。

量化的底层逻辑不是"加数字",而是"用可验证的证据证明你的能力"。如果实在没有硬性业务指标,你可以写模型层面的指标——但一定要有对比基线。没有基线的准确率毫无意义,"准确率95%"听起来很高,但如果你的baseline是随便猜都能到90%,那这个95%就不值钱了。

AI工程师简历的独特挑战:算法与工程的平衡艺术

AI工程师这个岗位本身就带着一种身份焦虑:你说是算法工程师吧,你得写生产级代码;你说是软件工程师吧,你又得懂模型原理和训练调优。这种双重身份直接体现在简历写作上——你既不能写成一篇学术论文,也不能写成一份纯后端开发的项目清单。

算法岗与AI工程师岗的简历差异:论文 vs 系统设计

纯算法岗(比如研究型实验室的岗位)看重的假设检验能力、论文发表记录、数学功底。简历上可以写"提出了一种改进的注意力机制"——这在算法岗是加分项。

但AI工程师岗不一样。招聘经理看到"改进注意力机制"第一反应是:改进后推理速度变快了吗?显存占用降了吗?上线了吗?模型多大?QPS多少?如果这些问题你答不上来,那这个"改进"就只是自嗨。

AI工程师简历的核心叙事应该是:你在一个真实系统里,用AI手段解决了什么问题,并且这个系统经受了真实流量的考验。 论文可以是加分项,但它替代不了系统设计能力的证明。

举个例子,如果你参与过推荐系统的搭建,算法岗简历会写"设计了双塔模型并引入多任务学习提升CTR预估精度",而AI工程师简历应该写的是:

"设计并上线了推荐系统的召回-排序两层架构。召回层采用双塔模型(item塔和user塔分别用FM和DNN实现),通过faiss进行ANN检索,召回5000条候选;排序层使用DIN模型,结合用户实时行为序列。系统上线后,CTR提升8.3%,推荐PV点击率提升5.1%。服务部署在4台8核机器上,单机QPS 800,P99延迟控制在80ms以内。"

看出区别了吗?后者不仅说了模型,还说了架构、检索方案、服务性能和线上效果。这才是AI工程师的完整画像。

如何展示你的MLOps能力:数据管道、模型部署、监控与维护

很多AI工程师在简历里回避MLOps相关的内容,觉得这些是"工程杂活",写上去不够"技术"。这是大错特错。

说句不客气的:纯算法能力可以靠招一个刚毕业的博士来解决,但能把模型稳定跑上线、出了问题能快速定位的人,在市场上永远是稀缺的。MLOps能力恰恰是AI工程师区别于算法研究员的核心竞争力,你不展示它,等于主动放弃了自己的护城河。

在简历中展示MLOps能力,不要光写"熟悉Docker和Kubernetes"这种话,而是写你具体用它做了什么:

"负责模型服务的容器化部署,基于Kubernetes配置HPA(水平Pod自动扩缩容),根据推理QPS自动扩缩实例数。同时搭建了基于Prometheus+Grafana的模型监控体系,对推理延迟、输入数据分布漂移、预测置信度进行实时监控,设置了告警规则并在模型性能下降时触发自动回滚。"

这段描述同时涵盖了部署、扩缩容、监控、告警和回滚——每一个词都在告诉招聘经理:我不只是能把模型训出来,我能让它稳定地在生产环境里跑着。

项目选择策略:深度优先还是广度优先?

这是个经典问题。我直接给结论:对于mid-level的AI工程师,深度优先。 一个能讲透的项目,胜过五个蜻蜓点水的项目。

什么叫"能讲透"?就是在面试中,你能扛住面试官连续30分钟的追问。从数据怎么收集、怎么清洗,到特征怎么构造、为什么这么构造,到模型选型的技术权衡,到训练中遇到什么问题、怎么解决的,到上线后效果如何、bad case怎么处理——你都能接得住。

如果你的简历上有三四个项目,但每个都只能讲五分钟,面试官会怀疑这些项目你到底参与了多深。反过来,如果你只写了一个项目,但能讲30分钟且层层深入,面试官会认为你有真正的技术深度和项目主导权。

那广度怎么办?广度通过技术栈的覆盖面来体现,而不是通过项目数量。 比如你在一个推荐系统项目里,同时涉及了数据处理(Spark)、特征工程、模型训练(TensorFlow)、模型serving(TensorFlow Serving)、AB实验平台的使用——这一个项目就把你的广度展示出来了。

AI工程师简历的隐形筛选标准:行业知识的重要性

这一节的内容,是你在任何通用简历指南里都找不到的。因为我接下来要说的,是招聘经理不会写在JD里、但在筛选简历时真实使用的隐性标准。

为什么金融、医疗、零售等行业的AI工程师简历需要定制化

AI工程师不是在一个真空环境里工作的。你做风控模型,需要知道什么是坏账率、什么是催收回款率;你做医疗AI,需要了解DICOM格式、HIPAA合规、敏感数据脱敏;你做零售预测,需要理解促销日历、季节性波动、SKU维度。

如果你的简历通篇只有技术术语,没有任何行业语言,招聘经理会默认你需要至少三个月的行业知识适应期。 在同等技术水平的候选人中,他们几乎一定会选那个已经懂行的。

这不是歧视,这是经济账。一个懂保险业务术语的AI工程师,入职第一个月就能和业务方顺畅沟通需求,而不懂行的人还在问"什么是续保率"。

如何通过项目描述体现你对行业痛点的理解

行业知识不是让你在简历里单独开一节写"我了解金融行业",而是应该渗透在项目描述里。

举个例子,同样是做用户流失预测,一个通用的写法是:

"基于用户行为数据构建流失预测模型,使用XGBoost,AUC达到0.85。"

而一个懂行业痛点的写法是:

"针对电信运营商的用户流失问题,基于近6个月的通话、流量、投诉工单数据构建流失预测模型。重点处理了数据不平衡问题(流失用户仅占8%),通过代价敏感学习将高价值用户的召回率提升至72%,支撑运营部门开展精准挽留营销,试点季度高价值用户流失率环比下降15%。"

差别在哪里?后者让招聘经理看到:你知道这个行业的流失率大概在什么范围、你知道高价值用户和普通用户的处理策略不同、你知道业务方拿到你的模型输出后能做什么动作。这些才是行业知识的真正体现,而不是在简历上写一句"熟悉电信行业"。

领域关键词的合理使用:从"用户流失预测"到"保险续保率优化"

这里有一个微妙的技巧:用行业内的精确术语替换通用术语。

"用户流失预测"是通用的数据挖掘说法,但"保险续保率优化"直接告诉招聘经理——你做过保险。这两个词在招聘经理眼里是完全不同的信号强度。

我不建议你编造行业经验。但如果你确实做过某个行业的项目,哪怕只是课程项目或比赛项目,也应该用该行业的术语来写,而不是用通用的机器学习术语。

举个例子,你做过一个电商促销销量预测的项目,那简历里就应该出现"大促期间""GMV预测""库存周转率"这些词,让零售行业的招聘经理一眼就能把你的经验和他们的业务对上号。

但这里有一个红线:不要堆砌行业黑话。 如果你在项目描述里塞了"客户生命周期价值""保单继续率""交叉销售转化率"等一堆术语,但面试时连这些术语的基本含义都解释不清楚,那比不写更糟。行业知识是用来降低沟通成本的,不是用来装点门面的。

构建AI工程师简历的实战框架

前面讲了理念和策略,这一节直接给你可落地的框架。你可以把它当作一个模板来用,但更重要的是理解每个部分背后的逻辑。

技术栈的呈现顺序:按项目需求而非罗列

我知道你肯定见过那种简历,技术栈部分列了满满两行:Python, Java, C++, SQL, PyTorch, TensorFlow, Keras, Scikit-learn, XGBoost, LightGBM, Docker, Kubernetes, Spark, Hadoop, Flink, Kafka, Redis, MySQL...

这种罗列有两个问题。第一,它让招聘经理无法判断你的技术深度——你写"熟悉Kafka",是写过Producer和Consumer,还是深入理解过分区和消费者组机制?第二,它稀释了你真正擅长的技术的信号强度。

我的建议是:技术栈不要按"熟练掌握/熟悉/了解"来分级,而是按项目来组织。 比如:

核心技术栈:Python, PyTorch, HuggingFace Transformers, Docker, Kubernetes 数据处理:SQL, Pandas, Spark(用于特征工程和离线数据处理) MLOps:MLflow(实验管理), Prometheus + Grafana(监控), GitHub Actions(CI/CD)

然后在项目描述中,自然地提到你用了哪些技术解决了什么问题。这样招聘经理就能把你的技术栈和你实际做过的事情关联起来。

项目描述的STAR法则变体:问题、方法、实验、结果、影响

通用的STAR法则(Situation, Task, Action, Result)对于AI工程师的项目描述来说太粗糙了。我给一个更贴合AI项目特性的变体:

问题(Problem) :你解决的是什么业务问题或技术问题?一句话说清楚,不要铺垫。

方法(Method) :你用了什么技术路线?为什么选这个方案而不是其他方案?这里要体现你的技术判断力。

实验(Experiment) :你做了哪些实验?对比了哪些baseline?怎么评估的?这里要展示你的科学方法论。

结果(Result) :最终指标是什么?相对baseline提升了多少?

影响(Impact) :这个结果对业务产生了什么影响?上线了吗?业务指标变化多少?

来看一个完整的例子:

问题:电商平台搜索转化率低于行业平均水平(2.1% vs 2.8%),初步诊断是语义匹配不足导致召回结果相关性差。

方法:在召回层引入基于Sentence-BERT的语义向量检索,与原有的BM25关键词召回构成双路召回。选择Sentence-BERT而非更复杂的Cross-Encoder,是因为召回层需要处理千万级文档,延迟预算在10ms以内,双塔结构可以离线预计算item向量。

实验:离线评估中,用人工标注的5000条query-doc相关性数据对比了两路召回的效果。语义召回在Recall@100上比BM25提升12.4%,但单独使用语义召回时,对长尾品牌词的召回反而下降。最终采用加权融合策略,兼顾两类召回的优势。

结果:融合后的召回在离线评估中Recall@100从82.1%提升至89.7%。上线AB测试一周,搜索转化率从2.1%提升至2.4%,涨幅14.3%,超出预期目标。

影响:该方案已全量上线,作为搜索召回的标准架构。基于此项目沉淀了语义检索的通用代码库,已复用到问答场景和相似商品推荐场景。

如何用图表或可视化元素增强简历的可读性(但别过度)

关于简历中是否放图表,我的态度是:如果你能用一张图省去300字的描述,那就放;如果只是为了好看,那就别放。

什么图值得放?比如你的项目里涉及一个复杂的系统架构,一张简洁的架构图可以让招聘经理在10秒内理解你的方案全貌——这比读300字的技术描述效率高得多。再比如,你的模型效果提升用一张柱状图展示,视觉冲击力远强于文字。

但有两个红线。第一,图表必须专业、清晰,用统一的设计风格。如果你用的是Excel默认样式的柱状图,那还不如不画。第二,简历总量控制在一页或两页,图表不能挤占关键文字信息的空间。

还有一个很多候选人没想到的点:如果你在GitHub上有开源项目或高质量的技术博客,可以在简历末尾附上链接。 这比任何图表都有说服力——它让招聘经理能直接看到你的代码风格和思考过程。

AI工程师简历的常见陷阱与规避策略

前面讲了很多"应该怎么做",这一节反过来,说说那些让你的简历被扔进回收站的操作。这些坑我见了太多次了,每一个都值得单独拎出来说。

过度强调模型复杂度而忽视业务价值

有些候选人在简历里写"使用了基于Transformer的深度生成模型",但问他这个模型解决了什么业务问题,支支吾吾答不上来。

模型复杂度不是目标,业务价值才是。 如果你用了一个很简单的逻辑回归就解决了一个业务问题,那你的简历应该突出的是你如何识别出这个问题可以用简单模型解决——这本身就是一种能力。反过来,如果你用了一个大模型但业务效果没有明显提升,那这个项目对你的简历来说不是加分项,反而暴露了你的技术选型判断力有问题。

忽略数据预处理和特征工程的重要性

这是AI工程师简历中最常见的盲区。很多候选人觉得"数据清洗"和"特征工程"写上去显得不够高大上,所以只写模型部分。

但你想想,真实工作中的AI项目,数据预处理和特征工程往往占整个项目时间的60%以上。招聘经理都知道这一点。如果你在简历里只字不提这部分,他要么觉得你做的项目太"玩具",要么觉得你在这方面的能力有欠缺。

而且,数据预处理和特征工程恰恰是最能体现一个AI工程师经验深度的地方。比如你知道如何处理时间序列中的缺失值、如何做特征交叉、如何检测数据漂移——这些才是面试官真正想听到的内容。

不展示代码质量或工程实践(如版本控制、测试)

AI工程师首先是工程师。如果你在简历里完全没有提到代码质量相关的实践,招聘经理会默认你的代码能力停留在"能跑就行"的水平。

怎么在简历中体现你的工程素养?不需要单独开一节,在你的项目描述中自然地融入即可。比如:

  • "项目代码托管在GitHub私有仓库,使用Git Flow分支管理策略,代码经过同事Code Review后合入主分支。"
  • "为数据预处理模块编写了单元测试,覆盖率85%以上,确保数据管线的稳定性。"
  • "使用CI/CD流水线自动化模型训练和部署流程,代码提交后自动触发训练任务,训练完成后自动打包镜像并部署到测试环境。"

这些细节不需要多,每个项目提一两句就够了。但它们传递的信号非常强烈:你是一个有工程素养的AI工程师,而不是只会跑Notebook的算法调参师。

项目描述中的"黑箱"问题:如何解释你的技术选择

最后一个陷阱:有些候选人在项目描述中只写"我用了某某模型",但完全不解释为什么选这个模型、有没有考虑过其他方案、最终为什么确定用这个。

这种"黑箱式"的项目描述让招聘经理非常没有安全感——因为这意味着你在工作中可能也是这么做的:拿来一个模型就跑,不做技术调研,不做方案对比,出了问题也不知道怎么排查。

正确的做法是在项目描述中简要说明你的技术选型逻辑。不需要详细展开,一两句话即可。比如:

"对比了LSTM和Transformer在长文本建模上的效果,发现Transformer虽然准确率略高(+0.3%),但推理延迟是LSTM的5倍,考虑到线上服务的延迟预算,最终选择LSTM + 注意力机制方案。"

这一段话展示了你的技术判断力、工程考量和全局视野。它告诉招聘经理:你不是在盲目追新,而是在做技术决策。

针对mid-level AI工程师的特别建议

如果你已经有3-5年的工作经验,正处在从初级到高级的爬坡期,那你的简历需要呈现的内容和刚毕业的候选人完全不同。这一节写给这个阶段的你。

从执行者到决策者的过渡:如何在简历中体现领导力或跨团队协作

Mid-level和Junior最本质的区别是:Junior被安排任务,Mid-level定义任务。 你的简历需要反映出这种转变。

如果你主导过一个AI项目的技术方案设计,一定要把这个写清楚。比如:

"负责推荐系统架构升级的技术选型和方案设计,对比了三种候选架构(基于Faiss的向量检索、基于Graph Embedding的召回、基于深度兴趣网络的排序),结合团队现有技术栈和业务需求,最终确定采用向量检索+深度排序的两阶段方案。方案获得技术委员会评审通过,并在3个月内完成开发和上线。"

这段话里包含了技术决策、沟通协调和项目推进三个维度的信息,完整呈现了一个tech lead的工作画像。

跨团队协作也是mid-level的重要信号。如果你和产品经理、运营、销售等非技术角色有过深度合作,在简历中提及:

"与产品团队协作定义模型的上线标准,包括准确率门槛、延迟预算和异常处理策略。与运营团队建立模型bad case的反馈闭环,运营人员可通过标注平台直接反馈错误案例,形成模型迭代的数据飞轮。"

这种跨团队协作的描述,暗示你是一个能听懂业务语言、能和不同角色有效沟通的人。这种软技能在senior岗位中往往比纯技术能力更稀缺。

展示持续学习能力:如何提及在线课程、竞赛或开源贡献

3-5年经验的候选人,如果简历上的技术栈还停留在毕业时的水平,这是一个危险信号。AI领域的技术迭代速度极快,持续学习不是加分项,而是生存底线。

但怎么展示持续学习能力,是需要技巧的。直接写"2023年完成了DeepLearning.AI的《Machine Learning Specialization》"这种,说服力有限——因为这门课是入门级的,放在mid-level简历上反而暴露了你的学习内容还停留在初级阶段。

更好的方式是展示你在实践中学习新技术的证据。比如:

"因项目需要,在两周内完成了对ONNX Runtime的调研和原型验证,成功将推理延迟从12ms降低至5ms。相关技术方案已在团队内分享并推广。"

这比任何在线课程证书都有说服力——它证明了你有快速学习并将新技术落地到实际项目中的能力。

如果你有开源贡献,写上具体内容:

"向HuggingFace Transformers库提交过2个PR(其中1个被merge),修复了BertTokenizer在长文本处理时的内存溢出问题。"

这种贡献能让招聘经理直接看到你的代码水平和协作能力,含金量远超任何课程证书。至于Kaggle竞赛,除非你拿到的是金牌或前1%的名次,否则在简历上写"参加过Kaggle竞赛"没有太大意义——招聘经理不会因为你"参加过"就高看你一眼。

针对晋升或跳槽的不同策略:优化简历的侧重点

如果你是在公司内部申请晋升,简历的侧重点应该放在你当前职级之上的能力展示上。比如你从AI工程师申请Senior AI工程师,简历中就要突出你的技术领导力、架构设计能力和跨团队影响力,而不是堆砌具体的模型调参细节。

如果你是在跳槽,简历的侧重点应该放在目标岗位的需求上。你要仔细研究目标公司的JD,找出他们最看重的2-3项能力,然后围绕这些能力重新组织你的简历内容。比如目标岗位强调MLOps能力,那你的简历就应该把MLOps相关的内容提到最前面,用最大篇幅来写。

但有一条原则是通用的:简历不是你的工作经历流水账,而是你针对目标岗位定制的"能力证明文件"。 同一段经历,针对不同岗位应该有不同的写法。这不是造假,而是突出不同的侧面。

结语:AI工程师简历的最终检查清单

写到这里,该给一个收尾了。与其写一段总结性的废话,不如给你一份可以直接对照使用的检查清单。在你点击"发送"按钮之前,逐条过一遍这份清单。

技术准确性与术语一致性

  • 简历中出现的每个技术名词,你都能在面试中解释清楚其原理和应用场景
  • 技术术语全文统一。比如,如果你在某处写了"PyTorch",不要在其他地方又写成"pytorch"或"torch"
  • 模型名称、框架版本、指标名称都准确无误。写"BERT"就写"BERT",不要写成"Bert"或"berT"
  • 你写"精通"的技术,确保能扛住面试官30分钟的深度追问

成果数据与业务语言的结合

  • 每一个项目都有至少一个量化结果
  • 每个量化结果都有对比基线(比什么提升了多少)
  • 至少有一个量化结果是和业务指标直接挂钩的(营收、成本、效率、留存等)
  • 项目描述中出现了目标行业的业务术语(而不是只有通用的机器学习术语)

格式与长度建议:一页还是两页?

最后一个问题,也是候选人问我最多的一个问题:AI工程师的简历应该是一页还是两页?

我的回答是:3年以下经验,一页;3年以上经验,两页。 这不是硬性规定,但符合招聘经理的阅读习惯——经验越丰富,你需要展示的内容越多,一页纸挤不下反而会影响可读性。

但无论一页还是两页,有三个格式原则需要遵守:

  • 字体统一,字号不小于10.5pt。不要为了把内容塞进一页而把字号缩到9pt——招聘经理不会因为字小就觉得你内容多,只会觉得你不考虑阅读体验。
  • 留白充足。不要试图把每一寸空间都填满。留白让阅读节奏更舒适,也让你的重点内容更容易被注意到。
  • 最重要的信息放在每页的前三分之一处。招聘经理扫一份简历的时间不会超过30秒,你要确保最关键的信息(当前岗位、核心技术栈、最近项目的量化成果)在扫描视线范围内。

好了,这份指南到这里就结束了。最后说一句:简历只是你能力的载体,它不能放大你的能力,但可以准确地传递你的能力。 花时间打磨简历,本质上是在打磨你对自己职业价值的理解——这份投入,永远不会白费。

TalenCat

TalenCat 天才猫简历
改变你创建简历的方式