压力越来越大,需要不断的前进学习,公司项目一做完就到互联网的汪洋大海里找找前端相关,上周五看到这篇文章,《前端,我为什么不要你》,写的真好,之前就一度觉得自己的前端知识不够丰富,这个框架,那个框架,不知道,这个不懂,那个不懂,之前为了增加前端的知识面,我从招聘网上找了多家企业的高级前端招聘要求并整理,按照自己整理的一条一条学习,我希望自己能进一步的成长。

看了这个文章感觉自己有很多的路要走,很长,不知道能不能再这一条路上一路到黑,文章不错,以记录,时刻用来提醒自己。【心情低落,看的伤心】

《前端,我为什么不要你》原文:

今年一月份以前端主管的身份进入现在的公司,到现在为止陆陆续续面试了十几个应聘者,惊讶地发现前端这个细分岗位的市场行情竟如此奇怪,一方面是各种公司争相聘请,导致价格高的浮躁;一方面是从业者大多经历尚浅,浅到没什么技术积累,没什么项目经验,更可怕的是没什么进取心。这里总结一下,自勉。

 

一年经验重复用

这个是最可怕的,如果不仔细了解,你很难分辨工作经验里面的水分。我面试过的人里面大多有4-5年工作经验,简历各种牛逼,大公司出身,参与项目大大小小几十个,按理说这种类型的人才,就算不够好也不至于差吧?

面谈发现,所谓大公司经验基本是外包性质,好吧,外包就外包,这不是重点。工作了4年,HTTP协议,不了解;TCP三次握手,课本上学过;web性能瓶颈,没关注;闭包,就返回一个函数嘛…十问九不知,临走问预期,12K,15K,18K…实话说,这些人在我看来跟刚毕业的就没差多少,怎么就好意思说出这个数字呢?我怎么要你啊?

有一个更奇葩的,工作了5年,在一个小公司当着主管,连代码打包都没试过,sass、less、grunt,一律没听过,哥哥,你是主管诶,好意思说你手下没有学习精神,拖累了你的学习?

 

技术能力

经常逛博客,感觉满大街都是牛人;实际去面试了,发现大多技术能力都很一般。看过的简历里面,有很多都写着自己精通这个,精通那个。实话说,在现在这种社会,适当的夸大与装饰并不过分,甚至很有必要。但是你过分的夸大,这就很有问题了吧?

有一个特别奇葩的,工作三年,精通HTTP协议、JQUERY、Bootstrap、angular之类之类的。实际那么一问,JS的OOP,没试过;JQUERY源码,没看过;JQUERY插件,自己没写过;angular,业余看过一下,ng-view没用过。你这样的水平,连了解都够不上,怎么就好意思写个精通?你十问九不知之下,你好意思说你预期16K?

 

底层知识

确实,大多数程序员(特别是前端)的大多数工作都没什么特别难的任务,但这就能成为不了解基本算法、数据结构、网络协议、W3C标准协议?拜托,现在早就不是那种随便写写html,写写jquery就能满足需求的时代了。如果你不懂数据结构,你都不知道怎么构造一棵动态菜单树;如果你不懂算法,你就不知道怎么高效操作这个菜单树;如果你不懂网络协议,你就不知道怎么优化代码,怎么利用代理缓存机制;如果你不懂W3C标准协议,你连事件冒泡都说不清楚。

事实是,我试过在一个招聘会问了所有应聘者,没有一个说出DOM标准事件的三个阶段。

 

专业素养

这一点很抽象,也很重要。最基本的一条,你带简历了吗?不是开玩笑,真有很多人是不带简历的,有一个奇葩带是带了,我问他要,他说他就一份,还得留着等下家面…无力吐槽。很多人我都会问他,上个项目用到什么技术,为什么用这个,有什么优缺点,有什么替代方案,基本都答不上来;或者问,对自己的前景有什么规划,五年内有什么计划,目前处于哪个阶段,一开始都可以答的很好,但是你问的越细致,他会越不知所措;或者问,对MVC有什么了解,MVVM呢,有没有自己搭过项目架构,基本都回答不上来。大哥,拜托你稍微对自己的职业生涯负责任一点好吗,长这么大了,还过家家呢。

额,对了,还遇到过一个大姐,整个面试过程,整整十多分钟,一直在低头玩手机。。。玩手机。。。

 

总结

只能说,市场很复杂,人心很浮躁。前端入门很容易,会用html搭一个页面框架;会用css写一些基本样式;会用jquery写写dom交互,就基本可以挺着胸说自己是个前端工程师了。前端提升很难,算法、数据结构、oop是老生常谈了;javascript、dom、css、html5这些是标配;性能优化、安全性、代码优雅性、seo,这些也是必然需要了解的。前端开发环境很轻便,也很繁琐,各种工具、框架、架构模式的应用也是衡量专业程度的标准。

如果你连上面这些都不理解,我凭什么要你?

 

我们需要的前端

我们公司刚拿完投资,出手在行业里面算是阔绰的了,要求也不高,思维正常,沟通正常,态度端正,技术对得起工资就OK。我们是一个学习型团队,我们也相信每个人都有学习欲望及能力,所以如果看到有潜力的一样会招。我们是一个迅速发展的团队,项目奖,年终奖,五险一金,该有的都有,一经录用,待遇从优。

唯一一条,我们不介意老,但是不要老油条。




不要那么沮丧,复制一个评论让你来点自信,

首先,就您开头的措辞来讲,对外包公司是有一定程度的偏见而比较青睐于大公司的经验。本人所在的公司是一外企的开发部,其性质差不多也就是外包,工作时间也就三年,项目经验的话,刚数了一下文件夹,不巧就是您文中所言三十多个。
您口中的大公司我也去过,当然,外派驻场,国内某证券,办公大楼三十多层,够不够大?项目前端技术和框架运用依稀记得有webpack、iscroll、node、vue、swipper等等一大堆,打包方式也与您文中所言雷同。所以,我这种小地方出来的当时是一脸懵逼,以上所提都是第一次见,心里慌得一批,各种百度谷歌的小半天时间才把项目搞起来了,也揭开开了您口中大公司的神秘面纱,5w+行样式在同一个文件,每个dom至少被覆盖三四次,js if嵌套可以有七八层。好的,不良大公司个例,只作典型。
接着往后喷,http协议,过吧,我不知道为什么都喜欢问前端这个,只能心里默默说声da sha bi。bootstrap??我对它的定位是没有前端或者没有设计的公司使用,用过两个项目,放弃。理由:全局定义过多,作者对继承、权重、作用域理解不够深刻(boot3略有改善),我说的不是js而是css部分。您后文中对于css的轻视,我觉得您写出来的可能算不上css,只能叫样式,因为css全称层叠样式表,严格的来讲也属于编程范畴。
再往后,我为什么要读jq源码?prototype、单例、策略、工厂、构造器、迭代器、代理模式等常用设计模式在项目中用的滚瓜烂熟了,各种前端控件全手写,我非得读jq?你读过老子写的山海经吗?
ng-view,你就直接写angular不就完了,为何非得搞个view层出来?你用过v-view吗?还有model层、control层,你都知道吗?
w3c标准,忍不住笑,某同城某联招聘上copy来的吧,怕不是没得问了,当然我简历上也有这么一句,为了迎合您这种招聘的。
再说冒泡,我也不知道冒泡机制到底是啥,可是写东西为啥要冒泡,不是傻吗给自己找难受?还有闭包,真的就是个返回函数啊还能是啥,书要先读厚然后再读薄的道理,你这么牛逼不知道吗?
代理缓存机制?var cache = { }吗?您这么问我真的一时半会反应不过来啊,对于单页资源过大的项目,后面还有很重要的一步叫废弃您知道吗?
算法…就一般公司而言,即使是写Java的有多少情况会用到这玩意?
seo?拜托这不是客户或者公司提供的文档吗?h1、h2、img的title、meta里面的keywords、description照着改不就完了,很高端吗?事实上我连它全称是啥都不清楚,当然理论扎实的您一定知道。
less?早就被sass取代了好吗?再者,除了能缩减可以忽略的文件大小,您真的觉得好用吗?

奉劝刚入门的前端务必要打好html、css、js基础,不要被招聘网站上写的乱七八糟的东西迷惑,深入去了解每一行代码浏览器究竟是怎样在解析,这样在遇到罕见bug的时候才有思路去调试定位解决。什么代码打包的、跨域的、http协议的,百度上谷歌上都有一看就懂,别听他们装逼了。基础扎实了,做什么都是迎刃而解。

举个例子,公司之前接到一个vue项目,开始我也是慌得一批没做过,后来买了本书学完了,项目也就做完了,里面的很多设计模式看起来非常亲切,都跟自己的思路不谋而合。

最后作者,要是碰到您这样按自身知识量来面试的,我也玩手机啊…
PS技法熟练吗?美工不在的时候能帮忙画画icon、banner吗?什么?不会??辣鸡!!
AI会吗?不会??那用矢量图做iconfont怎么办??什么?你还在用精灵图??