大家好呀,我是技术派社区的二哥呀。
之前有粉丝反馈自己的项目经历太少,不好写简历,影响找工作,不知道你有没有这样的困惑。
今天我就针对校招毕业生,手把手教大家如何将技术派项目写到自己的简历中。 校招毕业生对于项目的考察,主要还是偏基础和应用。
1.1 如何写简历
项目名称:技术派社区项目(2024.6-2024.8)
技术栈:Spring Boot、MyBatis-Plus、MySQL、Redis、ElasticSearch、RabbitMQ、MongoDB、Docker
项目描述:技术派是一个前后端分离的,面向互联网开发者的技术内容分享与交流平台,包括前端 PC 和管理后台。我们通过文章、教程、AI 助手等产品和服务,旨在打造一个激发开发者创作灵感,传播优质技术内容,陪伴开发者快速成长的技术社区。
- 在线地址:paicoding.com
- GitHub 仓库(已有 1.9k星标):https://github.com/itwanger/paicoding
责任描述:作为核心研发人员,主要负责登录认证、消息通知、文章教程、AI 助手,以及管理后台的开发工作。
- 接入微信支付和支付宝支付,完成文章的付费阅读;并通过分布式锁+幂等来防止支付记录的重复写入和更新;在支付完成后会给作者发送邮件通知,给用户发送异步消息以解锁付费内容。
- 通过验证码和前端保持半长链接映射关系,当用户扫码关注公众号并输入验证码后,发起回调,识别用户信息并找到对应半长链接,实现系统自动登录;
- 集成本地缓存 Guava 和 Caffeine,有效提高服务的吞吐率,经实测在 2核4G 的情况下能达到 1200 QPS;
- 利用 AOP 切面技术,当系统收到新的消息时(如评论、点赞等),自动将这些消息发送至 Kafka 消息队列中。接着,通过消费者服务从 Kafka 中取出消息,并将其存储到 Redis 缓存中等待用户消费。
- 利用 RestHighLevelClient 接入 ElasticSearch 的全文搜索能力,关键字检索效率提升了 60%,同时兼容 ES 未安装时继续走 MySQL 的查询逻辑。
- 通过 Redis 的 zset 实现用户活跃度排行,并通过先写 MySQL,再删除 Redis 的方案来保证高并发场景下的缓存一致性。
- 基于 ThreadLocal 在登录校验拦截器中封装线程隔离的全局上下文,以便在线程内部存储用户信息,减少用户信息的数据库查询次数。
- 通过 Nginx 代理,将客户端请求转发到目标服务器的后端 API 接口,从而解决跨域问题;并配置 SSL 证书以保证 HTTPS 请求的安全性,配置动静分离以提升资源的加载速度,首页加载速度从 4 秒减少至不到 1 秒。
- 将用户评论、点赞、收藏、系统消息发送到 RabbitMQ,实现消息的异步解耦;
- 通过 Canal 框架实现了 MySQL 与 ElasticSearch 的数据同步,确保了实时搜索的准确性。
- 采用 HandlerExceptionResolver 的全局异常处理策略,提高代码的健壮性,用户体验得到了很好的保证;
- 通过 AOP + TraceID 记录接口访问日志,实现任务的追踪、监控和诊断。
- 为了满足社区在高并发场景下业务 ID 的唯一性和可追溯性,我们实现了一套基于雪花算法(Snowflake)的 ID 生成方案,进一步降低了ID生成的延迟。
- 实现自定义的 Markdown 编辑器,通过复制粘贴即可将非同源的图片上传至 OSS 实现智能化转链,并借助线程池和异步任务 CompletableFuture 提升系统的高并发能力,文件转储能力提升 60%;
- 通过 Liquibase 实现数据库表的自动创建和初始化,以及版本管理,告别手动导入 SQL,并且兼容 MySQL 和其他不支持 Liquibase 的数据,如 mariadb。
- 通过提前建立 Socket 链接,来解决本地服务启动时 8080 端口可能被占用的问题,非常人性化;
- 应用策略模式来支持多家 AI 大模型的灵活对接,目前已经成功集成了智谱 AI Alltools API、讯飞星火 4.0 API 和 ChatGPT 3.5 API。
- 搭建 Redis 集群、对文章数据进行分表、压缩后端服务的返回内容,以实现服务的高可用和高性能;
- 采用 Redisson 看门狗策略优化缓存架构,针对热 key 的并发访问进行同步,防止其失效时导致的缓存击穿;
- 引入 Caffeine + Redis 构成多级缓冲,解决热门数据(首页流媒体、专栏教程)的吞吐量瓶颈;
- 通过集成 xxl-job 实现了定时任务的管理和执行,如自动清理过期文章缓存、社区数据统计、SEO 的 sitemap 自动生成等。
- 借助 Redis 的 zet 数据结构实现轻量级的作者白名单,提升优秀作者发布文章的用户体验;
- 通过 Shell 脚本实现一套可以在 Linux 生产环境下一键源码部署的成熟方案,极大缓解了社区在生产环境下热部署压力。同时也支持 Docker 容器化部署。
- 派聪明 AI 助手通过 WebSocket 实现前后端的及时通信,并且通过异步流的方式实现消息一点一点输出的效果;
- 由于 AI 生成复杂响应时需要等待,所以选用了大模型的流式 Stream API 并结合 SSE 实时推送返回给前端,实现消息一点一点输出的效果。
- 使用 CompletableFuture 对首页接口进行并行访问优化,将接口响应时间从 134ms 降至 80ms。
- 鉴于生成式的回答可能存在不可靠信息,所以借助敏感词校验开源库 sensitive-word,并结合 MyBatis 拦截器和 DFA 算法实现了一套完善的敏感词自定义过滤方案,对用户输入内容和响应内容做了自定义过滤,保证内容平台的合规性。
- 利用 Spring Boot Actuator 集成 Prometheus 和 Grafana 搭建一套完整的服务监控体系,确保了社区平台的稳定运行。
- 通过 React+Ant-Design+Vite+ECharts 完成 了 Admin 端的开发工作,界面非常漂亮,并且极大地提高了项目日常的运营效率。
- 利用 Spring Cache 简化缓存管理,通过指定缓存管理器可以灵活切换 Caffeine 和 Redis。
推荐样例:
还有这个球友的创意,也非常棒,来自二哥的编程星球,创意保留版权,如果没有付费,请勿直接搬运,保留追责权利。
社招的写法:
项目一:抖学音记平台教师端 2023.06 - 2024.03
技术栈:Spring Boot、MySQL、Redis、Nginx、MyBatis-Plus、RabbitMQ、knife4j、OSS、Jenkins、XXL-JOB
开发工具:IDEA、Maven、GIT、JDK17、Postman、Confluence
项目描述:该项目是一个为教师提供支持按特定教学模式学习英语的平台,涵盖单词库管理、任务管理、学习统计等模块,并设计为前后端分离架构,适配其他学科的学习需求。
责任描述:作为核心研发人员,负责单词库、单词分类、任务管理和成绩提交等模块的开发工作,并编写需求文档,排查和解决项目中的性能问题。
核心技术:
- 使用 SpringSecurity + JWT 实现用户认证与授权,利用 ThreadLocal 存储解析后的用户 ID,简化了鉴权逻辑。
- 通过 @Async 注解实现异步调用,在进行大数据量插入操作时,通过异步处理时间线添加,解决响应等待时间过长及超时问题。
- 借助 Redis 的 set 数据结构,设计了轻量级的教师白名单管理机制,提升指定教师对单词库修改操作的效率。
- 使用 EasyExcel 实现学生统计信息的自定义导入导出,大幅提升导出数据的速度,100M 的文件仅需 20 ms(自测)。
- 通过 Aspose 和 Poi 两种方式实现 Word 和 PPT 转为 PDF 的功能,最终经过大量测试选择了效率更高的 Poi。
- 使用 Redis 的 Sorted Set 实现学生成绩排行榜,提升数据的实时展示与排序性能。
- 通过 Nginx 代理,将客户端请求转发至后端 API 接口,成功解决了跨域问题。
项目二:抖学音记平台学生端 2024.03 - 2024.09
项目描述:该项目旨在帮助学生按照教师规划的学习任务,使用听、读、写等方式进行有针对性的学习。项目采用前后端分离架构,提供个性化的学习路径和互动功能。
核心技术:
- 学生通过扫描 PC 端二维码 自动登录,极大简化了学生登录流程。
- 通过 RabbitMQ 将学生的评论、点赞等消息进行异步解耦,减少模块之间的耦合性,提升系统的并发处理能力。
- 使用 Redis 实现学生评论、点赞等互动行为的计数统计和用户活跃度排行榜,确保在高并发场景下的数据实时性;通过
4 条评论
回复