初出茅庐

前年的腊月二十九我接到了上传简历后的第一个面试通知,于是去年初六没到,我就收拾好东西来郑州了。

我当时的求职意向写的是:.NET/JAVA/前端。
不知道哪儿来的自信,我就是感觉自己干什么都可以。我从来都觉得一个程序员不应该被语言和技术所标记。在这个行业,学习能力决定了你能走多远。

事实上,我根本就是一个刚出炉的菜鸟。那个时候已经有一年多的码龄,看起来什么都会点,也能写出一些让初学者感觉叼炸天的东西来。可是对于很多东西的理解都不够深,感觉就是学了一些杂七杂八的招式,所知种种也都还在基本应用的层面。
这些也终于在面试的时候暴漏了。

由于我的求职岗位多,面试机会也多。写简历的时候还想把安卓也写上,尝试写过一个APP,感觉代码跟 java swing 差不多,上手也不难。当时跨平台呼声很大,还是决定走 WEB 路线。

面试挫折

不到一周的时间,大概面试了六七家公司,现在所在是面试的第三家。并不是这家公司的待遇有多好,而是有一家公司打击到了我(虽然我不服)。

那家公司面试的是前端,还是我比较看好的一家。
懂后端的去面试前端一般是很受欢迎的,我也这么认为的。虽然当时对于原型、作用域、闭包等一些进阶知识都一头雾水,但是我还是玩出了 java 编程的感觉。我还写了类、对象、继承、简单工厂模式,硬是用 js 实现了一个棋牌游戏的规则。最后导师告诉我,面向对象运用的不错,编程套路是不区分语言的,但是规则如果写到前端是不是就不安全了。
也对,我开个控制台,改点变量不就无敌了。

所以说,当时的我对于面试前端有着盲目的自信。

一到那边就开始做笔试了。
该公司逼格很高,两套面试题,一套中文,一套英文,我当时懵逼了。然后向 HR 确认可以不做英文才放下了心。
这显然是一个对英语水平的检测,至于我的英文水平?我可以这么说,谷歌懂的我都懂!

面试题也都很基础,比如 HTML 标签的使用(考察文档结构语义化)、HTML5 和 CSS3 常用标签和属性(考察对新技术的了解)、实现某种需求要如何写样式(考察基本功)、如何解决某种页面 兼容性问题(考察经验)、js 语言基础和 jquery 的一些属性和方法的掌握(也是基本功),还有判断 js 代码的执行结果(考察对 js 语言的掌握)。

我是一题不落的写完了,不求对,只求完整。
在写题的过程中我已经发现了自己的不足。主要是页面兼容性和 js 语言基础。
学习过程中都是后端为主,作为处女座,前端我也会用CSS3、jq特效以及bootstrap之类的框架打扮的漂漂亮亮的。我怎么可能去想什么页面兼容性问题。写 js,大概除了判断、循环、定义变量和函数就全是一股脑儿 jq 了。

不足是不足,我相信这些我都是可以在以后的工作中快速掌握的。我还是对面试成功抱有希望的。

做完面试题后,HR 叫了一个小伙子进来,看来是要进行真正的考验了。说一下印象深刻的几个问题。

问我为什么要做前端?
的确,我的简历上后端技术居多,不知道一些人是不是会以为我是二傻子。
我脱口而出:前端好玩!这是来自心底的答案。

难道前端不好玩吗?
用 winform、swing 写界面的时候太痛苦了。而在前端简直就没有实现不了的,加上新的 h5、css3 又让网页增添许多表现力。学后端不代表我不关注前端,通过一些技术社区和博客,我可是知道前端进入了一个怎样的时代。这让我感觉前端大有可为!
这也是我在求职意向写上前端的理由之一。还有一个理由是 CURD 写烦了,前端直接处理数据合理的展示给用户,更能有成就感!

问了一个我从来没有关心过的问题,js 有哪几种基本数据类型?
我回答的是:整型、浮点型、布尔型和字符串,还是十分肯定的语气。从后端的角度考虑,基本类型就是不需要用new来声明,因为知道有一个parseFloat函数,理所当然的以为float是一种数据类型。而正确答案中的undefinednull居然会是数据类型,这对于使用强类型语言的我根本是难以理解的。

还现场看了我的代码,就是棋牌游戏那个。
开头就指着$().ready(function(){ })说我写的不对,$()里面应该写参数、写window。我不置可否。
然后对我写的类和继承提出质疑。继承的实现有多种,我还是知道的。我写的这种应该是少见的,但也不至于说有什么错误。
直到我现在看看当时的代码,都比我们公司后端写的 js 强多了。

问了我 js 常用的函数以及调用方式。
我回答的不够好,平常还是太依赖 jq,或者使用的时候查文档。一些答案都是猜的,因为语言的共通性,你几乎可以确定 java 中某些类的一些函数,js 中也有。

我说用的时候查下不就行了,他说你查哪儿,我说 w3cSchool。
然后我清楚的记得他那写满一脸 hehe 的表情。:-)

最后是现场编码,冒泡排序。
我当时也是慌了,连个冒泡都没写正确,面试完下楼才恍然大悟,是内层循环条件写错了。

他问我有没有什么问题要问他的。
我一脸微笑的看着他,问:你工作多久了? :-)
他一脸不爽,有点不耐烦的说:2年了。 一 一+

走的时候 HR 说回去等通知,结果半路上就收到短信给我画上句号了。

阴差阳错

之后的几个面试也不理想,郑州很多小作坊的网络公司,进去就是坑。

而我现在所在的公司,当时给我的工资真的不高,完全就是把我当初学者。
我最初去的时候以为面试的职位是 .NET,每个要面试的公司我都会提前做功课了解该公司行业和技术类别。
结果来面试我的人,就是我现在的领导,也就是说是叫我来做前端。

也没做什么笔试,不过登记表填了半天,查户口一样。
面谈也没问我什么特别难的问题,更多的是问了我对新技术的了解。这点我还是很让人满意的,并且我表现出了足够的兴趣。“一谈技术,两眼放光”,说的就是那时的我了。
领导还是我的老乡。

第二次去的时候,就是在之前的面试失败之后了。

那天回去之后我就把面试中存在的疑问查找了下答案。
对于这样的面试结果虽然不满意,但是却萌发了我走前端之路的心思。
陌生的领域往往有着致命的诱惑。如果说现在有游戏开发的工作愿意要我,给我较低的工资我也愿意去。

这次来就是确定意向的。

因为薪资给的低,我问到了涨薪制度。
他表示半年涨一次固定薪资。
我继续追问了有没有可能给予优秀的人涨更高的工资,我表示自己能够快速的成长起来。
他表示如果试用期表现好,可以涨多点。

最后他介绍了下公司状况以及行业地位,以及当前团队正在进行的项目,并且向我表示有移动端开发项目。
当我知道目前他们团队,也就是我现在的团队,正在做整站改版的时候,我决定留下来了。
既然我要踏入前端,那么这次整站改版就是一次很好的实践机会,应该可以从头到尾系统的学习很多东西。
就当是一次发工资的培训了。

好像有点混乱,我也忘了是一次谈好还是去了两次。

焉知非福

最后不谦虚的说,我们公司是真的赚到了。目前公司 3 个前端,js 基本都是我写的,或者是他们俩复制我的代码到其他地方。我承担了前端的大部分工作,在后端的配合上也有着绝对的优势。

我也赚到了,因为这个平台,让我完成了很多实践。反正这里前端没有比我强的,也不怕有人对我有何见教。

这个 MD 是年前创建的,直到今天我才写完。╮(╯▽╰)╭