关于项目经验,许多面试者认为一定要是自己参与的项目,其实你的项目经验也可以来源于你学习和阅读他人源码或开源软件的源码,当然,也包括你自己的项目啦。如果你能理解并掌握这些开源软件中的思想和技术,在面试的时候能够与面试官侃侃而谈,面试官也会非常满意的。企业要求的是你做项目的能力和经验,而不是项目本身,所以才会问项目经验。
反过来,如果你的项目只是对别人的框架或者工具进行一些简单的封装,且你并不理解其背后的原理,那就不要在面试时作为项目经验。
举个例子,我去喜马拉雅听书面试的时候,整个面试过程下来,就聊了 Redis,从 Redis 应用到源码。
很多同学可能纠结大学或者研究生期间要不要跟着导师做一些项目。当然,如果这些项目是课程要求,那么你必须得参加;如果这些项目是可以选择性的,尤其是一些仅仅拿着第三方的库进行所谓的包装和加工,那么建议可以少参加一些。
我一直维护着开源版本的即时通讯 Flamingo,目前也有几家公司基于这个做二次开发,你可以看下:
https://github.com/balloonwj/flamingo
Flamingo 学习视频
我知道的是一些同学通过学习此项目拿到了 Linux C/C++ 开发的 offer,为了帮助大家学习,我录制了 3 部高清讲解 Flamingo 的学习视频,下载链接:
链接: https://pan.baidu.com/s/138ECH__S3Gs2RucpkAS3Yg 提取码: tdns
不少同学在学懂这个项目之后拿去作为自己的项目经验,也收获到了满意的 offer。