C++分布式存储已烂大街?有什么不烂大街的项目推荐?

今天给大家分享的是一位粉丝的提问,C++分布式存储已烂大街?有什么不烂大街的项目推荐?

接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。

同学提问:

C++项目里面的分布式存储是不是烂大街了?有什么不烂大街的项目推荐?

Yt回答:

C++项目里面的分布式存储是不是烂大街了?首先我认为你对这个项目的理解它就有点不对,这个项目的理解什么意思?如果你做这个分布式存储,你在网上找一个分布式存储,你发现在GitHub上找一个,因为大家都慢慢都已经普及了。我跟你讲,你如果是以这个姿势,所有的项目在你这里,你会发现都不能发光发热,到你手里都是废铁一样。就很难拿那个倚天剑一样,拿在手里你发现你可能来说这个好像都烂大街了,都没有用,好像你会发现在你手里发挥不出威力,这是一头破铜烂铁,只能挥刀自宫,只能有这个作用。

那其实提到这里跟大家讲到,项目如果你是这样去理解,你会发现你所有的项目在你手里它都没有用。你不管是什么web server、即时通讯,包括做一个什么外卖,你会发现结合AI所有的项目都会发现烂大街。因为你是一个学,因为你是站在一个学的角度,我是把它学明白,如果这个项目你是为了去学这个项目,你会发现你学技术为了什么?学技术为了是做项目,做项目是为了什么?为了学技术,你就变成一个鸡生蛋,蛋生鸡的问题。有没有一种可能,你能不能做一款产品出来,就是能够做到你能用,别人也能用,就是你写好的代码你给别人,别人他也能够一下编译起来,并且他也能够运行,他也能够搭建一样的,你能不能做成这个样子?你如果做完一个项目,你就比如说只能在你的机器运行,换一台机器运行都运行不了,那你会发现你这个东西做的不是产品,你只是为了去熟悉这一项技能。我跟你讲这个东西就是要站在一个做的角度,不要站在一个学的角度,你做成一个可以用遇到问题解问题。你首先想一下,我做完这款产品,我就要部署出去,我要给我室友用,我要给我周围人用,我要给我女朋友用,我要给谁谁用,然后给大家去用。中间我在做完之后给别人用,第一次可能别人用的不是那么顺利,网页可能都打不开,可能都不知道怎么用。你就慢慢去改进去迭代,我如何把它做好使得更好的让别人去用。所以在这个过程你就会有个迭代,你自然而然迭代第一个版本,迭代第二个版本,迭代第三个版本,你就慢慢来说它会有个产品的雏形出现,并且在这个做的过程中间,你所解决的问题,这就是你的能力。如果你单纯来说这个项目是不是烂大街,那你发现所有的都是烂大街。这是我跟你讲的,把学这种心态改成一种做,我要做一款产品出来,我要做一款能够改变世界的产品,你抱着这种心态你去把它做,你会发现你技术肯定能做好。

如果你就单纯的我为了学,就比如说以这种内核,你打开一下,我研究内核,你包括就以这种分布式文件的ceph或者Rocksdb存储,包括Mysql源码,你去拿着看你就发现,哎没意思看不懂,你发现你是站在一种学的角度。你假如说我要把MySQL它的性能,比如以磁盘每秒它的这种QPS它只能做到1000左右,我要把它改成能够做到1万,我就不管用什么技术,我把MySQL每一秒插入或者查询它能够做到1万,那我就考虑我怎么做,你就发现抱着这种解决问题的方式,中间你就会去调研方案,调研完方案你就会考虑它的可行性,考虑到可行性你就会去思考,你就会有个选择。选择的过程中,你后面还需要基于它去开发,去熟悉这个方案,然后等等你会后面做完之后,你还得去迭代去测,自然在这个过程你就需要解决一系列的问题,这一系列的问题走下来之后,这个东西对你来说它就是成长,后面面试聊也是聊这个东西。但是你比如说我学,比如学webserver,我学那东西,你会发现不管你怎么做,你都不能够把它变成你自己的,你就仅仅只是说我能够把这个东西讲清楚而已,好吧。

最后:

别问“什么项目不烂”,要问“我怎么把它做的不烂”!

  • 选个开源项目(比如Redis),给它加功能
  • 或者自己从零写个能真用的东西(哪怕很简陋,自己慢慢逐步迭代改善) 记住:面试官不在乎你做什么项目,而在乎你解决了多难的问题

计算机相关专业就业求职学习路线/offer选择/职业规划建议

工种浩:程序员yt (学习就业困惑?我们来为你答疑解惑!)免费投稿 投稿必回

#职业规划##计算机#
计算机就业职业规划辅导 文章被收录于专栏

解决计算机相关专业就业/面试/技术提升等问题解答(投稿必回)

全部评论

相关推荐

1、自我介绍➕项目2、TCP和UDP有什么区别,底层和应用场景(偏常规的八股就正常回答)3、追问,你们之前做的直播相关的业务用的是tcp还是udp?为什么不用tcp,你确定不用tcp吗? Tcp可能会有延迟,那缓存为什么不能解决延迟的问题呢?4、传输层协议中的端口有什么作用,不同的应用能共用一个端口吗,服务器可以监听同一个端口吗?如果连ip和端口都一样,可以吗?如果ip端口和协议类型都一样,可以吗?(灵魂追问这里其实挺复杂的,建议大家去小林coding那边好好研究一下)5、发送数据的时候从磁盘中取出数据到发送经历了什么样的过程,几次拷贝,几次系统调用,零拷贝是怎么实现的6、什么是内存对齐,有什么好处?内存对齐是操作系统层面的东西,还是每个编程语言层面的东西?(当时讲了一会儿内存碎片和空闲链表,后来发现应该是扯远了,不过面试官也没有当场指出错误,可能背地里暗暗减分了吧,hhh)7、算法题,找到一个数组的中位数(一开始考虑使用两个堆(想成了leetcode中的寻找数据流的中位数),其实不用那么麻烦,本质上是数组中的Top k(所谓中位数就是Top2/n),可以使用一个堆或者快排),后来又问了一下建堆的时间复杂度和快排查找的时间复杂度(这里没答好,建议大家去研究一下,好像涉及一些数学证明,现在考算法不手撕,不仅仅看你能不能写出来,对时间复杂度,空间复杂度的证明和优化也考)8、延伸了一下,如果有多个文件,没有办法将所有的文件数据都读入内存,如何寻找多个文件的中位数?9、反问业务,偏底层的音视频传输,技术栈主要是cpp,如果面试通过可能需要好好学一下cpp
查看8道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务