ITPub博客

首页 > 数据库 > 数据库开发技术 > 项目推荐:手写数据库,简历上有这不得让人眼前一亮

项目推荐:手写数据库,简历上有这不得让人眼前一亮

原创 数据库开发技术 作者:飞天小牛肉 时间:2023-02-13 08:38:00 0 删除 编辑

分享大厂面试真题原创题解 & 成长经验

推荐订阅 #大厂面试 #校招扫盲

个人网站: cswiki.top

最近帮很多春招和实习的小伙伴看了简历,就后端开发这个岗位来说,抛开每个人的实习经历不谈,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、数据库和网络通信基础(当然你一边做一边学呗):

  1. 从最简单的 TM 开始
  2. 引用计数缓存框架和共享内存数组
  3. 数据页的缓存与管理
  4. 日志文件与恢复策略
  5. 页面索引与 DM 的实现
  6. 记录的版本与事务隔离
  7. 死锁检测与 VM 的实现
  8. 索引管理
  9. 字段与表管理
  10. 服务端客户端的实现及其通信规则

往期推荐

关注我们

换个角度理解计算机网络,搭建计网知识框架

2023-02-08

收留 2023 秋招伤心人,补录 & 春招信息汇总

2023-02-03

美团面试特有:写个 SQL 语句然后问加了哪些锁

2023-01-31

小牛肉的 2022 年终总结

2023-01-26

图灵奖巨佬解惑,为什么把 0 作为第一个元素下标,而不是直观的 1?

2023-01-19


分享大厂面试真题原创题解 & 成长经验.

推荐订阅 #大厂面试 #校招扫盲

微信号:jcool1998 | 个人网站:cswiki.top
回复『春秋招』我拉你进校招交流群
回复『实习』我拉你进实习交流群
回复『简历修改』免费获取简历修改服务
回复『Echo』免费获取社区项目手把手教程

原文作者:飞天小牛肉;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2020-12-31

  • 博文量
    205
  • 访问量
    89244