计算机本科生如何入手一些项目?

找项目练手推荐直接从Github入手,毕竟开源项目的资源超级丰富,够做好一阵子了,以后可以再慢慢丰富自己的搜索引擎。
计算机本科生如何入手一些项目?_第1张图片
这里我将平时的在Github找项目的搜索方法分享给大家:

  1. 用GitHub 找Demo:按技术栈关键字跟时间进行排序搜索(如果是简单的项目,建议自己写更快)
  2. 找脚手架:如果你觉得找比写更快,可以通过 starter 等关键词搜索,如果搜到不合适的组合技术栈,可以再加上相应技术栈的关键字。
  3. 学框架,造轮子:可以试着搜索 xxx-like 或者 xxx-like framework

而在我看来,高含金量的项目都具有以下几个特点:

  1. 工业级项目,在实际工作中可用
  2. 设计大量核心知识点,项目能深挖,面试的话能防身
  3. 项目可迁移,匹配性强

而针对新手的项目,实际上star&fork都不会太多想要通过数据指标来识别合适的项目非常困难,所以遵循以上原则,我亲手整理了一些高含金量、易上手的项目,希望能帮助到各位!

Vue相关开源项目库集合

先给个全的,Github10.1K☆的项目集合。

项目内容不是很难,有些也不太适合放在简历上,不过作为编程新手的练手小项目还是非常推荐的。主要面向前端,包含UI组件、开发框架、实用库、服务端、辅助工具、应用实例、Demo示例,也是非常详细了~
计算机本科生如何入手一些项目?_第2张图片

Twitter 后端系统 - Django 项目实战

设计Twitter本质上就是在考高并发的信息流系统,其涉及的技术难点非常多,项目的难度也更能检验面试者水平,而且从L3~L5都能问到。

  • 对于初级程序员(SDE1),可以把“设计Twitter”拆解出单独设计一个关注功能来问
  • 对于高级程序员(SDE2+),面试官通常会要求面试者实现设计登陆、发推、点赞、关注、取关等一系列功能

这些技术难点在《Twitter后端系统 - Django项目实战》首节试听课中都有详细介绍,项目涉及万行代码,都由前ACM金牌选手令狐冲带着手把手敲代码。
计算机本科生如何入手一些项目?_第3张图片

threadandjuc

GitHub 783☆,利用多线程进行千万级别导入。实现可扩展、高性能、高可用、高可靠,本项目可以在千万级别数据实现无差别高性能数据上报与导入,与普通导入相比性能提高10倍左右,而且规避风险在偶尔的机器宕机,网络波动等情况出现时,仍能够实现数据一致、数据可靠、数据重试、数据报警等功能。

后面作者还提供了一个项目,可以将学到的知识进行融会贯通。
计算机本科生如何入手一些项目?_第4张图片

H5小游戏100例: 贪吃蛇

相信很多人会对H5小游戏感兴趣(如之前爆火的合成大西瓜),这类的项目对于IOS端开发相关的公司还是非常有含金量的。
计算机本科生如何入手一些项目?_第5张图片
贪吃蛇的经典玩法有两种:

  1. 积分闯关
  2. 一吃到底

项目实现了贪吃蛇的四个关键对象:
蛇(snake)、食物(food)、墙(bounds)、舞台(zone);
完成了蛇的三个关键动作:
移动(move)、吃食(eat)、碰撞(collision)。
计算机本科生如何入手一些项目?_第6张图片

系统架构设计 System Design 2022 版

前面的项目都是属于具体的项目成果,更有针对性,但如果是要应付面试,或是想要追求广度,什么都能答上来一点,则可以体验下系统架构设计 System Design 2022 版
课程包含秒杀系统与订单系统、网站系统、协同实时编辑系统、限流器与实时数据系统、即时通讯系统、视频系统、爬虫系统等18个常见的系统,覆盖了系统设计全面的面试题型。

课上还会提供系统设计的通用解题步骤,并独创了系统设计训练方式,通过编程掌握核心技术点。让系统设计面试像刷题一样有迹可循。
计算机本科生如何入手一些项目?_第7张图片

美团APP

同样是近年来比较火的点餐类平台,这类项目做起来不算太难,但比较通用,设计的技术栈比较广,也适合练手。

项目涉及到技术栈:

  • vue全家桶:Vue、Vue-router、Vue-cli等
  • 组件化:单Vue文件
  • 模块化:ES6 Module
  • 第三方模块:better-scroll axios等
  • 基础开发环境和包管理:Node、npm
  • 构建工具:webpack
  • 编辑器:webstrom

项目功能
一言而蔽之:一款集点菜、用户评价和商家信息为一体的移动端点餐APP

  1. 点餐页面
    点选商品后自动添加到购物车,并计算好总价,在商品列表、购物车列表和商品详情页都可以随意增减数目,此外左侧商品分类和右侧的商品相互关联,通过better-scroll插件滑动商品列表时,相应的商品分类也会跟着跳转。
  2. 用户评价页面 主要包括一个TAB栏,包括三部分:全部、有图和评价三个模块
  3. 商家信息页面 主要介绍一些商家基本信息,可以通过better-scroll插件,进行左右滑动图片

电商秒杀系统 - Spring项目实战

阿里巴巴技术部门面试官带你实现淘宝秒杀系统项目,着重讲解秒杀系统的项目难点、技术架构、常用技术栈和框架。课程会提供项目源码,有个老师带你手把手完成项目,避免了自己做项目拖沓+一问三不知的情况。

欧阳修老师还会以丰富的面试经验帮助你对面试中常考的问题一一剖析,做一个真正有价值的项目。
计算机本科生如何入手一些项目?_第8张图片

爬虫+数据分析实战项目

爬虫+数据分析实战项目 本代码为《爬虫+数据分析》的源代码,以及Python有趣系列代码,涵盖的内容有。

  • 微信
  • 豆瓣
  • POI
  • 手机微博
  • 简书
  • 知乎
  • 网络爬虫
  • 数据分析
  • 机器学习
  • 深度学习
    计算机本科生如何入手一些项目?_第9张图片

Django Blog 项目

  1. 完全免费、开源的 HelloDjango 系列教程之博客开发。
  2. 基于 django 2.2,带你从零开始一步步创建属于自己的博客网站。
    该项目不仅仅是教程用的演示项目,其目标是开发一个功能完善、测试充分、可用于生产环境的开源博客系统。和其他开源博客系统不同点在于,以教程的形式详细记录项目从 0 到 1 的开发过程。
    计算机本科生如何入手一些项目?_第10张图片

cnn_captcha

验证码识别大多是爬虫会遇到的问题,也可以作为图像识别的入门案例。本项目针对字符型图片验证码,使用tensorflow实现卷积神经网络,进行验证码识别。

项目封装了比较通用的校验、训练、验证、识别、API模块,极大的减少了识别字符型验证码花费的时间和精力。
计算机本科生如何入手一些项目?_第11张图片

其实新手在学习的过程中,比起多而杂的项目,更加推荐你认定一个学习方向就去好好钻研,亲自动手敲代码复现。

想学习前端就去找Django或者Flask的项目复现,想学习后端就去学习系统架构设计,有了足够的积累再开始自己独立完成项目~

你可能感兴趣的:(系统设计)