===================
2019.2.11
大部分内容准备放回到自己的小网站(https://cvmentors.com/)上写了,gitbook这里就不再维护更新啦~
===================
Project的初级写法
看到了Project的错误示范,这里我们看看正确有效的写法应该是什么样子的。所谓“正确有效”,就是在有限的篇幅之内,提高信息密度,尽可能多的向面试官传达有效信息。传达有效信息也有高下之分,这里我们先看一个入门级的例子。同样的project,换一个角度去表达,可以变成这个样子:
Rails based Online Resume Consulting Web Service (www.cvmastersonline.com) 2017/01 - 2017/08
- Implemented the web service with Ruby, Rails, MongoDB, jQuery, Bootstrap for online consulting service
- Designed and developed the Ajax based frontend with jQuery, Bootstrap
- Implemented MVC backend with Rails 5.1 on MongoDB with MongoID
- Implemented user authentication with Devise gem to support 3rd party (fb, tw) users
相对于之前的错误示范,我们可以对比一下多了哪些信息又减少了哪些信息。首先,project的title发生了变化,核心技术(Rails)被放在了title里,这样可以起到一个强调核心开发技术的作用。第二,Project的使用逻辑在很大程度上被削弱了,但是别人也大概知道这个Project的作用是什么。第三,Project的4行具体描述在逻辑上很清晰,分别是开发环境,前端,后端,和一个具体的功能(用户登录和管理);每一行都是很清晰的一个点。第四,和之前错误示范相比,增加的细节都是技术相关的:jQuery,Bootstrap, Ajax, MVC, Devise gem, MongoID。
这样的写法,好处很明显:面试官不需要从使用的角度理解你的project,而是从技术上理解你的project。对比之前的错误示范,现在的Project描述显然表明了作者不仅了解相关的知识(设计模式MVC,和JS相关的Ajax),并且有一定的动手能力。至于这个网站具体是怎么样商业逻辑,咨询服务如何定价等等,显然不是面试官有太多兴趣去了解的。另外也有同学提出过类似这样的疑问:jQuery或者Boostrap几乎都成了Web Service标配了,或者所有的web framework几乎都是类似MVC的,还有必要提及吗?这个问题从两个层面回答。从技术层面上,几乎是标配不等于就是标配,比如很多网站不用jQuery因为过于巨大。从逻辑层面上,你没有提到的技术,面试官的基本假设是你不会这些技术,而不是默认这些技术是标配。
虽然可能你不熟Ruby和Rails, 但是看到这里你其实可以想到,同样的套路几乎适用于所有Web开发:如果你用Python,只要把开发语言从Ruby换成Python,后端的架构从Rails换成Flask或者Django,Devise和MongoID两个插件(Ruby环境下称之为gem)换成Python的插件(比如,MongoEngine),其他的细节(MVC,Ajax,jQuery,Bootstrap)都不变就好了。同理,如果是基于JavaScript的Web Service,无非也就是语言换成JavaScript/ES6,架构换成AngularJS或者VueJS等等。
那么,既然现在的例子只是初级写法,那这个写法的缺陷在哪里呢?这里最大的缺陷就在于,Tech Stack只是入门级别。
- 对于前端开发,jQuery和Bootstrap属于傻瓜级别的插件,没有技术含量。
- 对于后端开发,简单的配置和安装就能运行起来,似乎和简单的Hello World tutorial相比也不需要更多的工作量。
- 作为唯一提到的feature,用户登录和管理是一个过于通用和高度流程化的模块。无论是哪种framework,像用户登录这种高度通用的模块一定都有现成的插件来实现;实现这样的功能通常只需要安装和配置就够了,几乎没有二次开发的必要。
回到之前的观点,面试官希望看到的是你有足够的知识背景和动手能力。虽然现在的写法比错误示范有所提高,但是现在这个例子在有经验的coder眼里任然属于homework级别。换句话说,这个Project以现在这样的描述一天之内就可以做出来,即使加上users, groups和topics这些不同的模块,一周之内完成也绰绰有余。无论你的Project当时拖了多久,如果你事后以一个旁观者的角度来看简历觉得好像三五天就能完成,那就是homework级别。在面试官眼中,Project的评价就是一个字,弱。
===
这里不能留言,如果有任何疑问,欢迎在我的个人网站(cvmentors.com)上讨论: