如何增加项目亮点?
可以试试下面的方法:
去网上随便找一套面试题,遇到看不懂的题目或者没接触过的知识后,把它记下来
针对这道题目到全网去搜题解,至少看 3 份不同的讲解以得到相对正确的解答
想办法把这个面试题涉及的知识点应用到项目中
在简历上补充项目经历,将自己对这个知识点的实践作为一个亮点
那为什么要这么做呢?
看别人整理的面试题,快速 get 【企业关注的】、并且自己不熟悉的技术知识,扩展思路,而不是受限于视频教程
看题解,了解这个知识的概念、应用场景、使用方法、细节和优化点
趁热打铁,直接对理论进行实践,真正把知识变成自己的
举个例子,比如我学后端的,刚学完 Redis 中间件,那我就去看 Redis 经典面试题 ,搜到一题 如何用 Redis 解决缓存雪崩? 。然后我去看题解,了解到:缓存雪崩是什么?如何解决?然后我就把缓存雪崩的解决方案应用到项目中,比如【随机过期时间】这种方案(大 N + 小 n),给每个缓存过期时间补充一个 2 分钟以内的随机数,避免缓存集中失效~ 没错,就加个随机数这么简单!然后我就可以把这个点写到简历上啦~ 这样面试官问你这道题目的时候,你可以很自信地说自己实践过!也会对这道题目印象更加深刻。
再举个前端的例子,比如搜到 什么是虚拟 DOM?为什么要使用虚拟 DOM? 和 如何提高 React 列表渲染的性能? ,然后去看题解并且进一步查阅资料,了解到:虚拟列表是什么?为什么要用虚拟列表?怎么实现虚拟列表?然后就可以自己实现一个虚拟列表、封装成一个独立的组件,可以应用到自己的前端表格项目中,还可以开源~ 然后就可以很骄傲地写到简历上。
面试官:“啥是虚拟列表?”
我:“劳资写过,甚至还有开源项目!”
这其实正是企业中开发项目常见的做法,搜解决方案、实践应用、分析和总结。
从哪些方面优化项目?
一段有亮点的项目经历绝对不能只写 “用 xx 技术完成了 xx 功能”,而是要有起伏和递进,在完成某功能的基础上进一步 优化 。
应该优化什么呢?可以从以下 14 个角度 出发:
1)性能:页面加载速度、接口并发量(qps / tps)、接口响应时长等
方法:缓存、并发编程、异步、限流降级熔断、有损服务、CDN、数据压缩等
2)成本:节约系统资源、降低 CPU / 内存 / 磁盘空间 / 带宽占用、节省机器数等
方法:人工分析删除、定期删除、低频存储、淘汰策略、数据压缩等
实际开发项目中,一定要有成本意识!很多同学光说优化,不考虑实际情况,这是一个错误的思维。
3)可用性:尽可能地提高系统对外提供服务的时长,即提高 SLA(3 ~ 5 个 9 的高可用)
参考文章:https://blog.csdn.net/terrychinaz/article/details/112976266
方法:集群、主备、自动故障恢复、监控告警、容灾
4)可靠性:尽可能地让系统提供可靠的服务,不要出现崩溃中断
方法:集群、主备、异常处理、降级、容灾
关于可靠性和可用性的区别:https://blog.csdn.net/HermitSun/article/details/92164226
5)稳定性:接口响应 / 操作处理时长相对固定,成功率高,响应结果保持正常
方法:保证每个服务节点状态正常、性能相当(不要有的机器好有的机器垃圾导致接口时快时慢);合理规划服务调用链路,不能过长;做好技术选型,避免使用不稳定的第三方依赖
6)容错性:部分节点(服务)出问题时,系统整体依然能够正常提供服务
方法:集群、反向代理、故障转移
7)健壮性:系统不会因为部分异常而整体崩溃
方法:异常处理、进程监控(如 supervisor)
8)系统复杂度:整个系统易于理解,而不是说前人离职、后人无法接手
方法:软件开发原则、设计模式、系统架构设计(如微服务)、开发规范、工作流
9)可维护性:使整个系统结构清晰、利于维护,出了问题也能够快速排查
方法:软件开发原则、设计模式、系统架构设计(如微服务)、开发规范、工作流、抽象复用(组件化模块化)
10)可扩展性:使整个系统能够轻松应对未来新增的需求及业务增长,不会牵一发而动全身
方法:设计模式、架构设计、集群、分库分表、技术选型
11)可观测性:能够随时观察了解系统 / 服务的运行状态、并能快速发现故障和定位异常
方法:系统埋点上报、监控告警(prometheus)、ELK 日志收集、可视化分析(Grafana)
12)可伸缩性:系统根据负载情况动态增加或减少节点,从而能够应对流量高峰、并在空闲时节约成本
方法:K8S + Docker 容器、云原生
13)用户体验:符合用户的使用习惯、提升用户对网站的满意度
方法:网页性能优化、接口性能优化、懒加载、占位符、骨架屏、设备适配、浏览器兼容性、满意度调研(如 NPS)
14)安全性:保证机器、服务、数据库、网络等不被恶意侵入和污染,保证数据和用户隐私的安全
方法:参数校验、常用安全措施(防 XSS、CSRF、SQL 注入等)、网络防护(反 DDOS)、反爬虫、限流、黑白名单、防火墙等
家做的每个项目都专门总结了简历写法以及可以写在简历上的项目亮点,跟着我做项目的朋友一定要阅读参考。哦,原来除了实现基本功能外,还有那么多可以优化的地方~
问题和建议汇总
.7 简历没有明确的重点或求职方向
建议:整个简历一定要有一个明确的、和求职岗位匹配的方向。1830797497921683458_0.8105487255092585
我认识一些学的技术比较多的同学,他们可能又会 Python 又会 Java 又会前端,写到简历上的项目也是各方向的都有,然后又没有在简历的开头注明 “求职意向”,就导致面试官完全不知道他要找哪个方向的工作。
并不是说会的技术、写简历上的技术太多了不好,而是要有一个侧重点。比如找 Java 岗位的工作就把 Java 项目放最上面,用更多的篇幅去介绍。也建议大家找工作前越早明确方向越好,不要到最后什么都只学了一点,反而平平无奇了。
当然,如果你自己在多个方向学得都不错,可以准备多份不同的定制化简历,并根据不同的岗位、公司和岗位描述来调整优化简历(比如增加部分细节、调换内容的顺序等)。1830797497921683458_0.719437956130087
比如你前后端都会,投递后端开发岗位时,把后端技术放在前端技术上面去写,项目经历、实习经历等都要侧重于后端。
1.8 技术名词大小写错误
建议:技术名词最好严格控制大小写,比如数据库技术写 “MySQL” 而不是 “mysql”,从微小的细节中体现你的专业性。1830797497921683458_0.43850505721081134
1.9 用词不专业或不凝练
建议:简历上的每一个词汇,都能够反映出你的水平。
很多同学的简历用词比较随意,比如 “我用 axios 库完成了对数据库的查询”。1830797497921683458_0.8570476859091938
其实大家都心知肚明,axios 是一个前端请求库,可以和后台进行交互,实现对数据的查询和管理。
但上面那个表达,语言不够清晰和凝练,还可能会给面试官一种感觉:你真的知道 axios 是什么?你真的和后端联调过么?
所以,一定要保证简历上的每个词都要 准确,不能产生歧义 。另外,尽量减少口语化的内容,不说用 xx 技术做了 xx,而是用(基于) xx 技术实现了 xx。1830797497921683458_0.23846859772077256
1.10 内容重复
建议:简历中(尤其是项目和工作描述中)尽量不要出现重复的内容,不仅占用了空间,还会让面试官感到疲惫。
1.11 简历内容过于简单1830797497921683458_0.216665842155916
建议:当你简历上没有什么可写的内容、又必须要尽快投递简历时,可以 适当包装 。
注意,此处的包装不是指改变自己的学习、工作年限等(这种属于 “隐瞒和欺骗”,一般不建议这么做),而是指适当夸大。
毕竟写简历的本质就是:如何以一种吹牛皮的方式尽量表现出你的能力。1830797497921683458_0.07319213113728673
虽然写简历要真实,但不能太老实!尤其是对于没有工作经历、项目经历、荣誉奖项的同学,要学会适当包装、合理包装。
比如尝试将你目前正在学的技术从 “了解” 改为 “熟悉”,或者把你还没来得及实现的项目功能先提前写上去等等。
但是,不要过分包装,而且既然你提前把一些内容写到了简历上,就要加倍努力赶紧去真正学会 / 实现它。1830797497921683458_0.3048475290447614
1.12 简历内容很多,但没有突出重点
建议:在写简历时,可以将部分内容片段进行加粗,或者多去写某部分的内容,来吸引面试官去提问。
比如:1830797497921683458_0.049459613917008705
自己掌握的很好技术名词
自己项目中大量运用的技术
自己项目的优化成果数据1830797497921683458_0.5578564165272348
获得的名词较高、含金量较高的奖项
其他同学很少接触到的新技术或深入知识点
1.13 部分语句不通顺
建议:你写在简历上的每一句话都有可能会暴露你的思维逻辑能力,所以必须保证语句通顺、逻辑合理。1830797497921683458_0.07887525406776064
1.14 简历空间没有合理利用
建议:除非你实在写不满一页纸,否则简历上的所有内容都要做到 “惜字如金”。能只用一行写完的内容,就不要换第二行再加那么几个字。另外,简历上尽量不要出现空白,比如一行只写了半句话、或者只占用了半页纸等。
实在不知道写什么,就去参考下别人的简历,并且自己再多学习一些技术、做一些项目。1830797497921683458_0.814287816428769
1.15 简历各板块的顺序不合理
建议:根据个人优势对各板块进行排序,把最有亮点的部分放上面。比如你的奖项比较多、但学历相对低了一些,就可以把奖项写在前面、学历放到最后去写。
2、个人信息1830797497921683458_0.4044099616640644
2.1 个人信息占用的篇幅过多
建议:一般个人信息只占用简历整体 5 ~ 10% 的篇幅即可。可以通过在一行内同时写多个信息来节约空间,并保证间距合理。
2.2 照片不清晰 / 不端正1830797497921683458_0.6747409232371666
建议:照片要清晰端正,蓝底 / 白底 / 红底都可以,最好表情自然、面带微笑,尽量穿白衬衫或者正装,体现一个人的精神面貌。
2.3 写了固定的期望薪资范围
建议:除非公司明确要求,否则不建议写期望薪资。原因如下:1830797497921683458_0.4629491259093734
很多公司的薪资还算公开透明,没必要写
可能你自己本身对某个行业的薪酬水平不了解,薪资写高了可能会错失求职机会
当你的表现或实际水平超出了你写的预期薪资范围时,会被人按照你的预期薪资来砍价,相当于把自己限制住了1830797497921683458_0.9740487501897521
当然,如果你要应聘高级岗位、或者对自己很自信,那么可以写比较高的期望薪资,从而过滤一些公司、猎头的打扰。
2.4 缺少个人相关链接1830797497921683458_0.9624310106613627
建议:因为简历的篇幅和内容有限,所以如果你的个人经历很丰富,推荐在简历上补充一些链接,比如个人网站、个人博客、个人作品集、代码仓库等,体现你的实践能力。
6、工作经历(实习经历)
6.1 工作描述过于简单1830797497921683458_0.8956870673765811
建议:写工作内容时,可以适当具体一些,比如补充你在这家公司用了什么技术、负责了什么样的项目、使用过什么方法和工具、解决过什么问题等,从而增加真实感。
6.2 工作内容和求职岗位关系不大
建议:简历应当围绕求职岗位去写,重点去写求职岗位相关的经历。当然,如果有能证明你能力的其他工作经历,也可以简略说明,但不能占用过多篇幅。1830797497921683458_0.14072113319675994
6.3 缺少工作成果和个人价值的体现
建议:尽量不要写自己在工作中收获了什么、学到了什么,而是多写自己做了什么、做出了什么成果,尤其是列举有明确数据的成果,比如 “写过 XX 篇文档、做过 X 场技术分享、给项目带来了多少的收入增长” 等,将更能体现自己的能力和价值。
如果目前没有可写的成果,建议在之后的工作中多思考如何积累这些内容。1830797497921683458_0.6866891898813476
6.4 工作职责不明确
建议:即使你在这家公司做了很多不同岗位的工作,也要有个重点突出的工作职责,而不是什么都写。
6.5 个人的工作内容不够突出1830797497921683458_0.510145191722059
建议:写工作内容的时候尽量突出自己的地位,在合适的情况下,尽量能把 “参与” 改成 “负责” 或 “主导” 某工作。
6.6 XX 工作写得过于宽泛和模糊,缺乏可信度
建议:尽量让你的工作描述更有说服力,比如写 “与产品经理高效沟通”,不如改成去写:“你是怎么实现和他人的高效沟通?”,比如用了什么项目管理工具?或者跟前端协作时用了什么接口管理工具?1830797497921683458_0.7787035601417611
7、项目经历
7.1 项目工作描述的写法存在不足
建议:写项目的工作描述时,不要把所有内容混在一起,而是建议用列表的形式 分点 去写 ,每个工作 / 亮点独占一行,每一点 尽量具体 。写的越具体,往往越体现真实性。1830797497921683458_0.7805668721319141
可用 STAR 分析法(场景、任务、行动、成果)来梳理自己的核心工作。
提供 2 个标准句式,括号部分表示可选填:
(在 xx 公司 xx 项目中,)在 xx 情况下,运用 xx 技术,解决了 xx(或者优化了 xx),达到了 xx 效果(或者带来 xx 收益等)。
为了解决 xx 问题,选用 xx 技术(或方法)实现了 xx,并使用 xx 技术(或方法)优化了 xx,实测提升了 xx 性能(或者降低了 xx 等)。
1830797497921683458_0.7225033903957709
举个例子:为适应产品特性、加快迭代速度,后端由 Springboot 重构至 Node.js ,数据库由 MySQL 迁移至 MongoDB ,实现了前后一体的 集中式配置中心 ,提高了接近 1 倍 的开发效率。
注意每个小点的长度不宜过长,要留给面试官提问的空间。
7.2 技术栈提到的技术没有在项目中运用1830797497921683458_0.9852988138344811
建议:技术栈里提到的技术和知识点尽量多在项目经历中体现,否则容易给面试官一种 “只是学过或听说过,而不会运用” 的感觉。
7.3 项目技术或业务相似度过高
建议:尽量不要写运用了太多重复技术栈、或者业务相似的项目,最好能够让各个项目形成互补。1830797497921683458_0.7595768602240236
前端的话可以考虑一个 PC 端 + 一个移动端项目或者技术类项目(脚手架、组件库等);后端可以考虑一个业务系统(比如管理系统、电商、社群、博客等)+ 一个技术类框架(比如 RPC、迷你 Spring、服务器等)。
7.4 项目过多
建议:注意,写到简历上的项目不是越多越好!建议重点去写 2 - 3 个不同技术栈、不同业务场景的项目。1830797497921683458_0.8732377149930588
一个功能完整的、描述清楚的、实际上线了的项目可能都比你写几个不上线的小 Demo 更有说服力。
当然,如果你每个项目做的都很好,实在无法取舍的话就都写上吧~
7.5 项目介绍太长1830797497921683458_0.17867996555803511
建议:注意每个项目里内容的比重,项目介绍的占比不要太多,一般 1 - 2 行足够了。
记住,你不是在做推广!在简历中,面试官更关注的是 你在项目中负责什么、做了什么、怎么通过技术和设计能力去解决问题的 。至于项目本身的介绍,用一两句话直击核心就好,重点在于交代 和你工作有关 的内容,其余的可以在面试时展开介绍。
7.6 项目工作描述过于直白平淡1830797497921683458_0.42606265802795584
建议:要想项目有亮点,需要 深一度。不能只写你完成了什么工作,而是要有一定的优化和扩展,让整句话读起来有起伏和递进。
比如你可以在完成某功能的基础上进一步优化,或者改造现有的项目框架、推陈出新,或者提升系统各方面的性能(可用性、稳定性、用户体验、吞吐量、时延等)。
建议大家多去了解你项目中用到的技术的同类技术,对这些技术的优缺点和适合的应用场景有个大致的印象。1830797497921683458_0.39204432300662506
7.7 项目没有提供可访问的线上地址
建议:条件允许的话,强烈建议提供可在线访问的项目地址(域名尽量简短,好让面试官访问),从而体现你项目的真实性,将会是一个非常不错的加分项。
因为绝大多数同学写项目经历的时候,不放已上线的项目地址。有的时候你写的点再多、吹得天花乱坠,都不如直接放一个可访问的项目地址来得实在,能够直接证明你真的做过这个项目、从而体现你的项目经验。对于前端同学来说这点更重要,直接给面试官看体验效果最实在。你做的网站用不用心,一看便知。1830797497921683458_0.8841895959727573
7.8 项目工作描述脱离了实际业务场景
建议:写你在项目中的工作和技术运用时,最好能结合具体的业务去写,不要说写的所有内容都和你的项目本身关系不大、过于通用,即放到其他任何一个项目里都可以这么写。
那样不仅缺少了真实性、也体现不出你的自主性以及对业务的思考。1830797497921683458_0.09369594696009287
7.9 各项目的工作描述存在重复
建议:各项目的工作描述中尽量不要出现重复的内容,不仅浪费了空间,还会让面试官感到疲惫。
7.10 XX 技术不适合应用于当前项目的业务场景1830797497921683458_0.11497818342654353
建议:每一个技术的运用都要切合实际的业务场景,不要为了用技术而用技术。
在学习某个技术时必须要明确它的应用场景,而且在选用某个技术时,多思考你为什么用这项技术而不用同类的。比如你通过调研和对比发现你用的技术在当前业务场景下优势更明显,那么可以在项目的工作描述中补充这些对比以及你的思考,从而体现你的技术选型能力。
7.11 没有写具体的优化效果1830797497921683458_0.12783457812203314
建议:只要提到 “优化” 这两个字,就一定要提供对比数据,即:优化后相对于优化前 xx 性能提升了多少?响应时长减少了多少?稳定性提升了多少等等,而不是脱离实际的测试去盲目做优化。
7.12 项目和其他同学过于相似,缺少区分度
建议:其实绝大多数同学都是跟着网上的教程做项目,但同一个项目,也有高下之分。1830797497921683458_0.0828443956045617
如果你做的是网上大众化的教程项目,建议给项目改个名、换个皮、自主加一些新功能、尝试做一些优化,来增加区分度。
8、个人优势(自我评价)
8.1 自我评价没有说服力,属于正确的废话1830797497921683458_0.30758148207903124
建议:自我评价板块不是必须要写的。如果要写,就 必须让你的自我评价有信服力 !
不要只说自己哪里的能力强、怎么怎么厉害,而是需要一些事例、数据、证据来证明。
举些例子:1830797497921683458_0.8855514196833383
我学习能力强,对新技术有强烈的好奇心 => 补充:曾通过官方文档、自主查阅资料自学了 XX、XX 新技术,并通过 RSS 持续关注该技术最新动态。
我乐于从事有挑战性的工作 => 补充:我曾经担任 XX 队长,在 XX 困难的条件下,解决了 XX 问题,取得了 XX 成果。
我喜欢分享知识、善于总结 => 补充:连续 XX 天发布个人博客,发布过 XX 个学习总结等等1830797497921683458_0.8769653199966365
我很帅 => 补充个人照片
这样写自我评价,就不再是虚的了,而是真的能让面试官感受到你的这些优点。
这里有个小技巧,可以根据目标公司的岗位要求去写自我评价,做到对号入座。
比如公司要求招有团队协作经验的,那就写:我善于团队合作,曾经组队参与 XX、XX 项目,统筹负责了 XX、XX,怎么提升团队工作效率之类的。
这样从招聘者的角度来看,你是有用心准备过的,目的性明确,也是加分项。1830797497921683458_0.5273674778875403
8.2 自我评价板块篇幅占用较多
建议:自我评价板块不是必须要写的,即使要写,也不要占用过多的篇幅。尽量通过技术栈、实践经历、荣誉奖项来更有力地突出你的优势。
2、简历制作方法
网上有很多简历制作工具,包括我们团队也开发了一个非常简单易用的简历制作平台:https://laoyujianli.com ,能够快速生成精美整洁的简历~1830797497921683458_0.36544106500092877
3、文件命名
命名没有绝对的规范,但是要 仔细查看岗位描述 是否有文件名规则的要求。
如果没有要求的话,可以用:求职岗位+个人姓名+求职类别(实习生还是正式员工).pdf1830797497921683458_0.8598352870004231
千万别用什么特殊符号啊、一大串数字之类的无意义内容!
4、文件格式
⚠️ 注意!简历文件格式一定要用 PDF!!千万不要用 Word!!!因为使用 Word 可能会出现预期之外的排版错乱,这个影响是致命的。1830797497921683458_0.4674760057812428
建议同时提供 PDF、Word 两种格式的文件,以及在线的简历链接,便于对方选择。
2、个人信息1830797497921683458_0.6355116556969533
基本信息必须要 填写完整 ,这是对另一方最基本的尊重。包括以下信息(加粗为必填项):
姓名
性别
求职意向1830797497921683458_0.309281418119306
年龄
身份:大几学生、几年工作经验等
联系方式:手机号、邮箱、微信、QQ 号(以公司岗位描述要求为主)1830797497921683458_0.6823335006791575
照片(建议放)
其他链接:个人博客、作品集、亮眼作品等
4、专业技能1830797497921683458_0.25766824662272314
同义词:个人技能、技术栈、技能清单
这部分是简历的核心之一,列举自己掌握的、熟悉的、用过的、学过的、甚至仅了解过的各种技术或技能。
技巧1830797497921683458_0.2729532484880046
1)写你会的技术栈时,不要用老长一句话、像报菜名似的列举技术名词。可以采用列表的形式把每一个技术单独写清楚,会更直观清晰。
举个例子:
❌ 不推荐:把各种不相关的技术用一句话讲完1830797497921683458_0.8112617487642222
能够熟练使用 springcloud 微服务框架及 mysql、redis、hbase、mongodb 等数据库及 kafka、rabbitmq 等消息中间件及 netty 等网络框架、前端 HTML / CSS / JavaScript 的使用。
✅ 推荐:改为列表,同一类技术写在同一行
熟练使用 springcloud 微服务全家桶
熟练使用 mysql、redis、hbase、mongodb 等数据库和大数据中间件
熟练使用 kafka、rabbitmq 等消息中间件1830797497921683458_0.6922905722006718
熟悉 netty 等网络框架
1830797497921683458_0.9061921357263691
2)每点不要只写一个技术名词,建议多补充该技术中你掌握的知识点和技术细节
❌ 不推荐:写的很通俗、很广泛、很空虚
熟悉 Java(熟悉 Java 的什么特性?)
熟悉 Linux 系统的基本命令(熟悉什么命令?)
1830797497921683458_0.5046944431784204
✅ 推荐:补充一些该技术中,你用的比较熟悉的知识点、技术细节
熟练使用 Java,比如:集合框架、动态代理机制、反射等等
熟悉 Linux 系统(比如文件系统、内存管理),能使用命令监控系统负载和进程状态
3)除了写自己会什么技术外,最好 深一度。比如可以补充半句:你能用这些技术做什么? 从而表现出你的实践能力,公司倾向于选择问题解决能力强、实践经验丰富的同学。1830797497921683458_0.6545530266001289
❌ 不推荐:只写理论,不写实践
熟悉 Java
✅ 推荐:你能用这个技术做的事、你亲身实践过的事1830797497921683458_0.25570421285858624
熟练使用 Java,能够运用 Java8 的 Stream API 高效操作集合类 / 完成数据处理、使用动态代理完成对相似类的统一操作
其他例子:
熟练使用 Spring Cloud 微服务全家桶,能独立开发微服务项目
熟悉 Netty 等网络框架,能够独立开发即时通讯系统
1830797497921683458_0.6386965836371745
5、荣誉奖项
同义词:个人奖项
包括以下信息:1830797497921683458_0.9275677276331111
个人证书
个人参与并获奖的竞赛(团体奖项也要写,但是最起码你要有贡献)
非编程相关也可以写(比如某某创业大赛,总比没有好)1830797497921683458_0.6707023257759495
软著、专利
技巧
1)对奖项排序,优先把认可度高的、范围高的、获奖级别高的、和编程求职岗位更相关的放上面。1830797497921683458_0.320948968146046
6、工作经历
同义词:实习经历
包括以下信息:1830797497921683458_0.023814916382127294
公司名
职务
工作起始和结束时间1830797497921683458_0.8043853760993114
工作内容(具体做了什么)
负责的项目(做哪个方向的项目、项目的介绍)
给公司带来的价值(收益增加、成本降低、更稳定)1830797497921683458_0.8148447402878047
技巧
1)写工作内容的时候尽量突出自己的地位,比如:1830797497921683458_0.9294636177451452
❌ 不推荐:
参与文档编写
✅ 推荐:1830797497921683458_0.0956931286923397
负责整个接口文档设计和编写
2)写工作内容时,可以适当具体一些,尤其是建议补充一下工作中用到的技术
❌ 不推荐:职责比较模糊1830797497921683458_0.2193219427336639
参与系统开发
✅ 推荐:点明技术,体现实践经历和能力
负责 SpringBoot 前后端分离架构的系统研发1830797497921683458_0.860108731507623
3)尽量不要写自己收获了什么、学到了什么,而是写自己做了什么、做出了什么成果,更有说服力。
7、项目经历
同义词:个人项目、项目经验1830797497921683458_0.1616691115600144
这部分是简历的 核心 ,主要是介绍自己做过或者参与过的项目和工作,体现出自己的实践经验和能力 ,包括以下信息:
项目名称
项目起止时间
项目介绍1830797497921683458_0.07625209113401632
项目技术栈或架构
负责工作(或者个人职责,这里是重点)
只要是自己做过的项目都可以写,只不过可以区分重点和非重点。1830797497921683458_0.7559230306111631
注意,项目经历和实习 / 工作经历的侧重点不完全相同:
实习经历重点是你在这家公司负责什么(地位)、你的作用、你的价值。
项目经历重点在于你对这个的项目的贡献、项目特色、实现项目的关键技术等。
技巧1830797497921683458_0.45591147556773315
1)注意每个项目里内容的比重,项目介绍占比不要太多,不要写得太啰嗦!重点在于突出你做了什么,用什么技术解决了什么问题,带来了什么效果。
❌ 不推荐:项目介绍过多,自己的工作反而没写多少
项目介绍:1830797497921683458_0.78233700872409
将 SQL 的编写逻辑 结构化 ,像写文章大纲一样编写和阅读 SQL
重复的 SQL 只需编写一次 ,SQL 变动时修改一处即可
可以针对某部分 SQL 进行传参和调试1830797497921683458_0.3799120027980951
查看 SQL 语句的引用树和替换过程,便于分析理解 SQL
负责工作:使用 Vue3 + Monaco Editor 完成系统开发
✅ 推荐:项目介绍一两句话带过,突出核心,更多的篇幅在于写自己做的事1830797497921683458_0.8011291493026893
项目介绍: 用 JSON 生成结构化的 SQL 语句的在线工具,基于 Vue3 + TypeScript + Vite + Ant Design + MonacoEditor 实现
负责工作:
xxx
xxx
xxx1830797497921683458_0.03426619087048355
1830797497921683458_0.042327858054668877
2)介绍项目的时候,不要混在一起,而是建议 分点逐行、具体去写 ,每个工作 / 亮点独占一行,每一点 尽量具体 。写的越具体,往往越体现真实性。
这里有个万能公式:负责 XX 系统的研发,在 xx 条件下、利用 xx 技术实现了 xx,实测 带来了 xx 效果(比如推进了 xx、提升了 xx)。
“实测” 两个字突出了真实性。1830797497921683458_0.7841949215229127
举个例子:负责订单查询系统,在老系统并发量较低的情况下,选用分库分表中间件 + Kafka 消息队列 + Redis 缓存进行重构,提升了系统并发量,实测 由 1000 Qps(每秒并发数)提升至 10000 Qps。
❌ 不推荐:不够具体,千篇一律
使用 Redis 缓存热点数据,提高系统查询性能1830797497921683458_0.5978910155136212
缓存哪些数据?哪些数据是热点?缓存效果如何?提高了多少查询性能?
✅ 推荐:
负责商品模块,在现有商品查询接口并发量较低的情况下,在数据库查询前增加 Redis 缓存层,缓存热点商品信息,使用 apache-ab 实测接口并发由 50 qps 提升至 1000 qps。1830797497921683458_0.17435890316389968
还可以进一步补充缓存更新等问题的解决。
注意!实在没有背景和效果实测,也不要硬编,被识破了会很尴尬。
3)要想项目有亮点,需要 深一度。不能只写你完成了什么工作,而是要有一定的优化和扩展。比如你可以改造现有项目 / 框架、推陈出新,提升系统各方面的性能(可用性、稳定性、用户体验、吞吐量、时延等)。1830797497921683458_0.10829087257482528
❌ 不推荐:
开发了订单系统,完成了支付模块。
✅ 推荐:体现出了技术选型和架构思维。1830797497921683458_0.8726241479133419
负责订单系统的开发,使用 XX 技术实现了支付模块,并选用 XX 消息队列将系统 QPS 由 XX 提升至 XX,同时使用 XX 保证了支付的幂等和稳定性。
4)建议大家多去了解你项目中用到的技术的同类技术,对这些技术的优缺点和适合的应用场景有个大致的印象。这样做的好处有很多:
开拓你的思路
在写项目介绍时可以补充技术对比细节,体现出你的技术选型能力和知识广度
防止面试官考察“你为什么用这个技术,不用那个技术?”之类的问题1830797497921683458_0.6533860431965484
1830797497921683458_0.49495882579788275
5)条件允许的话,强烈建议提供可在线访问的项目地址(域名尽量简短,好让面试官访问),从而体现你项目的真实性,将会是一个非常不错的加分项。
因为绝大多数同学写项目经历的时候,不放已上线的项目地址。有的时候你写的点再多、吹得天花乱坠,都不如直接放一个可访问的项目地址来得实在,能够直接证明你真的做过这个项目、从而体现你的项目经验。对于前端同学来说这点更重要,直接给面试官看体验效果最实在。你做的网站用不用心,一看便知。
10 份简历里有 8 份都不写线上项目地址的,所以这 10 位同学同时去投递,可能只有另外 2 位写了项目地址的同学有机会进入面试。1830797497921683458_0.5708472572814711
不过我估计大多数同学是根本就没有上线过项目,建议大家还是静下心来,跟着鱼皮的上线教程把流程跑通,其实并不难。
容器托管平台上线教程:https://www.bilibili.com/video/BV1Xm421N7Xj
微服务项目上线教程:https://www.bilibili.com/video/BV1Cp4y1F7eA1830797497921683458_0.5807942711836347
6)如果你做的是网上大众化的教程项目,建议给项目改个名、换个皮、自主加一些新功能,增加区分度。1830797497921683458_0.8424604912990754
参考写法
仅提供思路,尽量不要直接照搬!
可以从技术自身的优点和应用场景出发,来增加亮点。1830797497921683458_0.553069330082973
以鱼皮带做的用户中心项目为例:
为了提高开发效率,选用 Ant Design Pro 脚手架快速搭建基础页面,并对原始模板进行瘦身、抽象为可复用的公共模板,便于后续同类项目的快速研发。
在脚手架自带的 umi-request 请求库基础上进行改造和封装,添加全局请求拦截和全局异常处理逻辑、自动根据项目启动命令来区分环境,减少重复代码、提升项目可维护性。
选用 MyBatis + MyBatis-Plus 进行数据访问层开发,复用大多数通用方法,并且通过继承定制了自己的 通用操作模板 ,大幅提升了项目开发效率。1830797497921683458_0.9493450714342395
为了明确接口的返回,自定义统一的错误码,并封装了 全局异常处理器 ,从而规范了异常返回、屏蔽了项目冗余的报错细节。
对于项目中的 JSON 格式化处理对象,采用 双检锁单例模式 进行管理,从而复用对象,避免了重复创建对象的开销,便于集中维护管理。
采用 Nginx 完成前端项目部署、采用 Docker 容器完成后端项目部署,并且使用宝塔面板对项目进行运维监控。1830797497921683458_0.9092374548167936
8、科研经历1830797497921683458_0.11714101127193755
包括以下信息:
研究内容(论文、专利、实验室等)
研究时间
具体工作1830797497921683458_0.9627038255794511
产出(著作权、论文、认可度)
这部分不是所有同学都有,而且方向千差万别,所以不做赘述。1830797497921683458_0.13749251176698163
9、校园经历
包括以下信息:
名称(你做的事情、参与的活动)
时间
具体工作1830797497921683458_0.03148220354008302
产出