ITPub博客

首页 > 数据库 > 数据库开发技术 > 通讯脚手架项目

通讯脚手架项目

原创 数据库开发技术 作者:拓跋阿秀 时间:2024-04-05 09:00:00 0 删除 编辑

校招八股文学习网站:https://interviewguide.cn
这是阿秀的第「369」篇原创

小伙伴们大家好,我是阿秀。

关注阿秀比较久的应该还记得阿秀以前分享过自己的简历:一份百投百中的计算机校招简历是如何迭代足足26版的?,当初写这份简历的时候阿秀从无到有,从简单到复杂,慢慢迭代和完善自己的简历,一共迭代了 26 版。

当时自己一共是做了三个项目,并且都开源到了github上:

  • 1、基于CPU的分布式环境下的XX知识管理技术研究
  • 2、基于Linux的轻量级多线程HTTP服务区
  • 3、主流电商平台商品评论数据采集。

其中第二个就是大名鼎鼎的Webserver服务器项目,只不过阿秀稍微加了一个快递地址再分配功能,很多人估计直接就拿了个原生的Webserve项目去找实习了,一点功能都不加的那种。。。。

但是请注意,这都是在 2020 年的事了,现在是 2024 年了。

事实上,2020 年和 2021 年很多人甚至只写了一个 Webserve服务器项目就去找工作了,尤其是 2022 届那一届,行情是近几年最好的,很多人就只用这一个项目就找到了不错的工作,但 23、24 届情况马上就急转直下了。。。

时至今日,Webserver 这个项目早就烂大街了,以前阿秀还推荐过这个项目:阿秀做过的几个项目,拿去跟面试官对线,现在如果还用这个项目去找实习或者找秋招确实不太建议了,估计面试官问都不会问了。

当然了,这个项目确实还值得学习,用它来入门一下网络编程是最好不过的了。如果你真的想做一个简单的C++项目去找实习,那 2024 年了,我推荐RPC项目,可能比Webserver服务器更好一些。


还有一点就是如果你不知道做什么项目的话,最好的方法就是去参考一下前一届的学长学姐的项目,因为就隔了一届,差别不会很大。

今天在这里分享一位往届同学的项目:高性能通讯服务器脚手架项目。

简单介绍下这个项目

大致介绍一下这个项目,这是一个完整的多线程高并发的服务器程序,浓缩总结起来包括如下几点:

  • (1)一个完整的项目(源码以及启动步骤齐全)
  • (2)按照包头包体格式正确的接收客户端发送过来的数据包完美解决收包时的数据粘包问题;
  • (3)根据收到的包的不同来执行不同的业务处理逻辑
  • (4)把业务处理产生的结果数据包正确返回给客户端

本项目用到的主要开发技术和特色包括:

  • (1)epoll高并发通讯技术,用到的触发模式是epoll中的水平触发模式;
  • (2)自己写了一套线程池来处理业务逻辑,调用适当的业务逻辑处理函数处理业务并返回给客户端处理结果;
  • (3)线程之间的同步技术包括互斥量,信号量等等
  • (4)连接池中连接的延迟回收技术,这是整个项目中的精华,大程度上消除诸多导致服务器程序工作不稳定的因素;
  • (5)专门处理数据发送的一整套数据发送逻辑以及对应的发送线程;
  • (6)其他次要技术,包括信号、日志打印、分叉子进程、守护进程等等;

项目由来

这是一位 23 届的同学秋招用过的付费项目,这位学长最终去了一家互联网中厂,具体就不透露了,免得被定位到。

项目的源码、文档、面试常见问题等都已经总结完毕,基本上你花 1-2 天时间就可以拿去面试。

如果你打算好好学一下这个项目

如果你打算从0开始做一下这个项目,那么建议你要具备以下知识点。

  • C++,STL
  • 网络编程
  • 计算机网络,TCP
  • 多进程,多线程
  • IO多路复用
  • GDB的调试

对应一些关键点,也基本都做了标示。

如果你时间比较紧张或者准备的比较晚

如果你时间紧张或者准备实习、秋招准备得比较晚,想要即开即用,那我建议你做两件事:

第一件事:把项目跑起来,可以从main函数开始, 把框架的启动步骤以及每个环节创建了什么东西,都要剖析清楚。剩下的就是信息的收发操作,看是什么样的东西,了解一下下面的架构图和其中几个主要函数,比如下面这几个点。

第二件事:也是最重要的事就是要熟记下面提到的面试中常见的问题。

在面试中可能被问到的20个常见问题

这个项目基本上花 1-2 天时间就可以拿去面试,之所以这么说是因为这位学长整理了 12 个问题,都是他在面试中被问到的,基本不会逃出这 12 个问题。除此之外阿秀又增加了8个可能会问到的情景拓展性问题,基本够用了。

如何在简历上描述该项目?

此外,如果你不会在简历上描述该项目,也提供了两种简历中的写法。

每种模版都有 1 个项目背景和 4 个主要职责点以及 1 个人收获,可以随意自由搭配,比如你可以用第1个模板的第 1 点工作,第 2 个模板的第 2 点工作,第 2 个模板的第 3 点工作,第 1 个模版的第 4 点工作,这样就能搭配出一套全新的写法了。

这样相当于一共有 4*4*2*2=64 种搭配了,跟人撞车的可能性极低。。。低到可以忽略不计了。

项目以及文档地址

该项目是这位学弟的付费项目,所以项目源码以及文档等都放在的阿秀的学习圈中的置顶帖「资源沉淀」中了,链接:https://t.zsxq.com/19z0blqyg,具体位置如下图所示:

学习圈里的精华区、知识图谱以及资源沉淀

除此之外,还有很多自产资源,比如《阿秀的学习笔记》PDF以及《测试测开高频八股文》以及后续将要逐步上的内部项目等。

欢迎各位 25、26 届的小伙伴加入阿秀的学习圈,目前已经运营 2 年多时间了,累计服务过 3400 + 位同学,接下来还会分享其余即开即用的项目,技术栈包括C++、Java、Golang以及前端等,由于精力有限后续会涨价,进而逐步提高加入门槛。

这里直接给出优惠券:

前年和去年分享的很多校招上岸经验也都是出自阿秀的学习圈中的往届上岸人如21届、22届、23届等,阿秀的学习圈中置顶帖的「知识图谱」和「精华区」中有很多计算机大学本科&研究生学习以及校招的内容和问题,都是往届沉淀下来的瑰宝。

多看看这些能够帮你的校招之路走的更稳、更顺、更平坦,比如:

也会在自己组建的阿秀的学习圈中分享一些社招跳槽找工作的经验,都是自己一路走过来的经验。

一个人踽踽独行不如结伴而行,欢迎点击文末左下角阅读原文了解详情,这可能是你求职路上性价比最高的一次点击!

原文作者:拓跋阿秀;如有侵权,请联系管理员删除。

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

注册时间:2020-11-28

  • 博文量
    429
  • 访问量
    181420