Menu

飞羽醉月

Per Aspera Ad Astra

编程练手项目推荐

最近看到有人讨论,如果找不到实习,做一点什么项目对找工作有用。刚好最近有相同的需求,自己总结了一份列表供大家参考。

但是值得注意的是相比起花时间专门准备面试,做项目对找工作帮助有限(这里仅限于美国找工作的情况)。关于这个问题,这里的讨论和相关数据可以参考。所以如果你还没刷好题,可以多花点时间在这些事上,做项目只能算是锦上添花,算不得雪中送炭。

如果真的决心要写一点业余项目,最理想的情况是你发现了某个你想要解决的需求,然后实现对应的功能,这个过程中你可以尽情探索软件开发的方方面面,尝试解决真实软件开发过程中可能会遇到的问题,由于整个思路、实现都是亲自实现的,面试时被问到各种细节你也会更胸有成竹。

但是假如你实在想不到什么好的点子,那就参考一下其他人的想法吧。如果能找到已经实现的代码,自己实现后阅读他人的代码,也对自己的写代码能力十分有帮助。这里最好找一些知名度高一点,但是又不太复杂的开源项目,这种项目代码质量更有保证,也更有阅读价值。

最后还有一种办法,就是去找一些项目导向的公开课,全程跟着课程指导实现一个项目,比如免费的Coursera,收费的Udemy和Udacity。

下面列举一些最近我找到的可以尝试重写的项目,有难有易,但是只要有心,不必拘泥于原项目,你可以尝试把它简化或者复杂化,也可以用其他语言实现它 : )

用C#实现BT客户端。

用C++实现文本编辑器。

顾名思义,Coursera上有同名课程可以学习。

实现自己的编程语言。

用Flask和Python实现推特。顺便也有源码: Flasky

一系列各种语言的入门项目,觉得简单可以在这个基础上增加新功能。

实现一个简单的Linux系统。

各类入门简单项目,属于各类语言都适用的。

开源电子书,列举了不少短小又有深度的项目,可以在原基础上继续完善。

最后推荐一些比较简单又有阅读价值的源码:

同样是这个系列电子书,有几本开源电子书提供了很多著名项目的分析,充当了解读手册的作用,可以一读。

抛砖引玉,如果有人有更好的想法或者资源,欢迎留言。

发表评论