其他
这个项目不算烂大街,可以冲
The following article is from 飞天小牛肉 Author 小牛肉
大家好,我是鱼皮。
最近帮很多春招和实习的小伙伴看了简历,就后端开发这个岗位来说,抛开每个人的实习经历不谈,100 篇简历里面得有 80 份是外卖(点评)和论坛(秒杀和商城倒是少了,估计大伙儿都知道避雷)
前年流行秒杀,去年流行 RPC,今年流行论坛,也确实是没办法,一来学校里面尤其是本科生根本接触不到好项目,老师教来教去就是 CRUD,二来不是每个人都有实习经历,而随着求职门槛的不断提高,大伙儿不得不自己去找项目做,但网络上能找到文档很全的手把手教学的优质项目确实少至又少,大部分同学都是从 B 站搜罗视频然后照着做,趋之若鹜。
无可厚非,建议可以先用这些项目找个实习,然后正式校招的时候能够有个实习项目,这样算是比较好,如果两个项目一个秒杀一个论坛或者一个外卖一个商城,那确实有点难顶了。
今天推荐一个轮子类项目:手写数据库,相比于偏业务的项目在面试时是更受欢迎的,做完这个轮子类项目还能对数据库有更深的理解,何乐而不为。
🏠 项目地址:
Github:https://github.com/CN-GuoZiyang/MYDB 教程地址:https://ziyang.moe/cs/project/mydb/
🚩 项目简介:MYDB 是一个 Java 实现的简单的数据库,部分原理参照自 MySQL、PostgreSQL 和 SQLite。实现了以下功能:
数据的可靠性和数据恢复 两段锁协议(2PL)实现可串行化调度 MVCC 两种事务隔离级别(读提交和可重复读) 死锁处理 简单的表和字段管理 简陋的 SQL 解析(因为懒得写词法分析和自动机,就弄得比较简陋) 基于 socket 的 server 和 client
我看了下教程,总共有 10 章,需要有 Spring、数据库和网络通信基础(当然你一边做一边学呗):
从最简单的 TM 开始 引用计数缓存框架和共享内存数组 数据页的缓存与管理 日志文件与恢复策略 页面索引与 DM 的实现 记录的版本与事务隔离 死锁检测与 VM 的实现 索引管理 字段与表管理 服务端客户端的实现及其通信规则
最后,欢迎学编程的朋友们加入鱼皮的 编程知识星球 ,鱼皮会 1 对 1 解决你的问题,直播带你做出项目、为你定制学习计划和求职指导,还能获取海量编程学习资源,和上万名学编程的同学共享知识、交流进步。
往期推荐