开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第24天,点击查看活动详情
身为一个前端程序员,在行业上并没有明确的规定前端定级的标准,大部分公司其实都是依据于市场行情,自身公司的实际情况以及公司管理人员自己的理解来综合给出一个适合自己公司的标准,每个公司可能都会有一些微妙的区别,这就是我们在面试过程中需要去探究的一个点,自己的水平到底能够匹配什么级别呢?
- 依据于各个公司的不同,譬如 阿里、百度等 使用 P 定级这种的,我们暂不放在讨论之列,因为俺也不是大厂程序员,没资格没经验去讨论那个,大厂的行业精英也有自己的分享,对大厂感兴趣的可以去看的哦~
- 写在之前: 首先我这里分享的,都是基于自己的一些观点哦,大家不要当成标准,只是个人分享而已,其次各个级别之间是递进的关系,我们在写简历的时候,对技术的掌握都会写一个程度比如:了解,熟悉,掌握,熟练,精通, 一般使用这样的词汇来进行形容,那么咱们就需要知道,这些量词对于我们的技术掌握能力到底是怎样评定的? 这里就说一下自己的见解,举个例子:
- 了解
- 对这个技术处于入门阶段,还正在学习,或只是看过文档,没有使用过 或 自己写过
demo
- 一般项目中技术写了解的很少,除非是初级或者实习
- 对这个技术处于入门阶段,还正在学习,或只是看过文档,没有使用过 或 自己写过
- 熟悉
- 能够使用此技术完成一些简单需求,拿来写项目问题不大,但是需要时间学习或者复习,需要别人帮助
- 有一定的使用频率,但并没有深入的了解,只是了解相关的文档,或者常用的
API
- 掌握
- 能够独立使用此技术完成一般需求,解决问题,但复杂场景还是需要帮助才能够完成
- 经常使用,能够在开发过程中快速查阅文档,可以边查边做完成绝大部分需求
- 熟练
- 有很长一段时间的使用,能够快速完成一般需求,能够独立解决复杂场景问题及需求
- 对所使用技术的原理有了解
- 对此技术不常用的相关语法及语法糖有了解
- 精通
- 对此技术应用的各种场景都有所掌握,能够独立处理复杂场景和难题并且给出最优解和优化方案
- 对所使用的技术原理有很深的理解
- 有过一定技术积累及输出,可以是开源项目 或者一些公开文档等
- 其实这种量词,大部分人简历写的都是差不多的,只要写的别太偏了,写的太差了,那么大家的区别都不大,也不是说这些量词都要用上,只需要根据自己的情况来优化即可,最终还是要在面试中见真章~
下面是一份简历的例子,大家可以看一下写在之前: 一个程序员的就业,分很多种情况,前面已经说了大厂这种,那么还有哪些? 比如 外包 和 甲方, 外包还分 大厂外包, 和其他外包, 甲方还分 国企 和私营,每一种情况的不同都会因其环境的改变而对其所要求的技术水平有所区别,这里就不把那么多情况分开说了,下面的分享针对于我自己,也就是 公司人数在 100-1000 人之间的中型私营企业,技术团队规模在 200-300 人之间,什么是私营企业?具体区分俺也不太明白,反正不是国企就对了,下面的分享会穿插大部分我的面试经验,包括求职面试以及面试他人。
初级
初级前端 一般在一家公司会占比较少的比例,我们公司是没有初级的,中小型厂可能对初级的需求都不大,整个前端市场也是这样,大厂会多一些,也就是所谓的校招,没有工作经验的,实习生这类,如果不是应届生,想要去一家公司应聘实习生或者初级前端相对而言难度还是比较大的,下面来简单分享下我对初级的理解
- 工作经验
- 2年以下 或 应届生
- 语言基础
- 熟悉
HTML
,CSS
,JS
- 了解
HTML
常用API
- 了解
CSS3
特性 - 了解
JS
基础语法
- 熟悉
- 综合
- 算法及数据结构(大厂必备)
- 能够使用一种常用
UI
库 - 熟悉一种前端框架
- 了解宿主环境(浏览器)
- 加分项
- 了解
ES6
,ES7
- 了解
TS
- 了解
- 总结
- 初级一般在面试的时候,可能有很多人来求职这个岗位,那就要综合考量了,也许我说的这些点你全部都会,但是就有人比你更会 更精通,懂得更多,那也没得机会喽,怎么个卷法,程序员届就是这么被卷起来的~
- 大厂面试应届生,也可以称之为初级,对刚毕业的大学生 算法及数据结构的考察是很深的,对社招的反而没有那么深了。
- 有一部分人会直接跳过初级,这一部分要么自学能力强,掌握各种知识点都很快,要么去培训了,不论怎样,自己都要下点功夫才能到中级。(点功夫,倒不是太多的功夫哦)
中级
- 工作经验
- 3-5年工作经验
- 语言基础
- 熟练掌握
HTML
,CSS
,JS
- 熟悉
HTML
常用API
- 熟悉
CSS3
特性 - 熟悉
JS
基础语法 - 熟悉
ES6
,ES7+
- 了解
TS
- 熟练掌握
- 综合
- 算法及数据结构,占比一般会比初级少(大厂必备)
- 熟练使用常用
UI
库 - 熟练使用一种前端框架
- 熟悉宿主环境(浏览器)
- 加分项
- 了解前端性能指标及性能优化方案
- 具备设计模式思维
- 具有组件封装复用的能力
- 熟练使用打包工具
- 总结
- 中级在整体水平上肯定是要高于初级,知识点的深度要明显加强。
- 关于简历:之前面试过一些外包,水平需要定位在中级,简历这一块就不说了,每个面试官看简历的眼光都不一样,但是有的简历排版错乱,甚至于还有错字,看完第一眼就不想再往下看了,我们的简历写完一定要检查三遍以上,而且还要给同学或者朋友一起审查一下最好了。
- 关于技术:面试官评分往往是从多个维度来了,比如
css
、html
、js
、框架、工具等多个维度,最终看综合分数来进行对比,所以面试的时候一个两个答不上来不要紧张,也不要说不会,紧张不可怕,我面试之前也紧张,直说没什么的,直接就说 有点紧张,这一下突然想不起来了,但之前搞过这个,圆滑的把不会的过渡一下,面试官一般也都理解的,后面如果答的精彩,不会的这两个就不会影响大局了。 - 关于话术:初级可能不需要什么话术,但中级以上就要思考一下讲话的艺术了,面试中的禁忌就是等着面试官追问,一定要会自己拓展,经常我问一个 知道
Map
和Set
吗?人家回答一个 知道,没了,知道继续说他俩都是干嘛的吖,等着我问是干嘛的,其次就是口头禅,有的人喜欢 嗯, 啊 这种还算能接受,有的是这个吗,我觉得,几乎每次回答问题都会来一下,俺头都炸了,最后就是总是让面试官重复,我说完一个问题,他回一个: 啊你问的是这个吗,然后自己再把问题重复一遍,我说是,他再回答问题,oh my god
。 - 关于表现:这里我说的表现多指外在表现,我们公司远程面试也规定要开启摄像头,不论是线上还是线下,眼神都不要飘忽不定,衣着打扮干净整洁,特别是线上,还遇到过手机开摄像头,电脑找答案的,一是能听到敲键盘的声音,而是看眼神方向也看的出来前面还有块屏幕,小聪明可以耍,但是耍的不灵活可就是愚笨了。
高级
- 工作经验
- 5年以上工作经验
- 语言基础
- 熟练掌握
HTML
,CSS
,JS
,达到精通的会优先考虑 - 熟悉
HTML
常用API
- 熟悉
CSS3
特性 - 熟悉
JS
基础语法 - 熟悉
ES6
,ES7+
- 熟悉
TS
- 熟练掌握
- 综合
- 算法及数据结构,占比一般会中级少(涉及算法的企业或岗位除外)
- 熟练使用常用
UI
库 - 熟练使用前端主流框架,并精通一种
- 熟悉宿主环境(浏览器)
- 熟悉前端性能指标及性能优化方案
- 具备设计模式思维
- 具有组件封装复用的能力
- 熟练使用打包工具
- 熟悉
node.js
- 加分项
- 具备环境部署能力
- 微前端
- 大前端
- 掌握一门后端语言
- 测试用例
- 可视化
- 总结
- 高级前端,相比较于中级,不论是知识广度还是知识深度,都需要更加扎实。
- 关于技术:作为高级,技术上需要学会自己突破瓶颈,在面试的时候尽量能够体现出来自己的自主能动性,解决问题能力以及自学的能力,不同的公司有时候会基于自己公司的业务 问一些不同的问题,比如有的公司有可视化业务,那就会问
echarts
,antv
等,有的公司项目使用微前端框架,那肯定会问微前端,有的公司前端需要些测试用例,那就会问测试,这些对于前端程序员来讲,不是必备项,但是会 和不会 肯定是有区别的,如何花时间,充实到自己哪个方面,都需要大家自己去衡量。 - 简历、话术、表现这些在中级的时候都已经点出来了,在这里就不复述了,很明显,高级对于这些的考量会更加严格,所以大家要知道,我们需要提升的不仅仅是技术。
- 关于综合素质: 这一点每个面试官可能都会从不同的维度来提问,不过大部分出发点都是场景题开始,比如通过什么样的方式提升自己,遇到棘手的问题怎么处理,和产品打交道遇到哪些问题哪些场景怎么处理等等,这些大部分人的回答都是普通的回答,那么多求职者,如果你和别人的技术差不多,这种场景题回答的又体现不出来自己的特别,那别人为什么选你呢?想知道这种问题如何回答,那请期待我后面的面试经吧嘿嘿~
终极
- 前端的终极是什么呢?
- 在有的公司,高级前端上面会还有职级,如 专家,专家相比较于高级那肯定是 精通前端各语言的,及上面高级提到的加分项,肯定是都要知晓的,后端语言基本也是必备,但这是技术专家。
- 技术专家以外,另一条线就是
leader
了,管理能力不是人人都有的,有的人技术可能到达了高级之后会遇到瓶颈,很难在提升,但是其沟通能力,逻辑思维,管理能力都是很强的,那么就可以考虑往这方面发展。 - 再有一条就是其他业务了,比如 产品经理、项目经理、后端、全栈、等,转型的人毕竟只是少数,这里暂不深究,每个人根据自身情况来考量就可以。
- 在技术上可以比技术专家更高的,那就是架构师了,但对前端架构师有需求的公司并不多,市场上后端架构师的需求要明显高于前端架构师,中小型公司的技术团队规模也不足以支撑一个架构团队,而大公司对学历及背景的要求都比较高,前端架构师是整个前端行业的凤毛麟角~,看好自己的方向,爱好更重要,喜欢哪个搞哪个就行了~
写在最后
不论是什么样子的前端程序员,找工作都逃不开面试,我们大家肯定也会经常在网上查阅面试资料,但资料千千万,我们不可能全部熟记于心,而且背下来的面试题在下一次面试中人家也不一定问,除非是大厂的指定面试题或某些前辈给探了路,但我想说,从你选择做程序员的那一刻起,就注定是要持续学习的,我也有间断的时候,可以间断,可以休闲,但不能无休止的间断和休闲,生于忧患死于安乐,想要未来的路更好走,就只能自己努力,要么从广度,要么从深度。 之前写过一篇 Promise 常见面试题,后面有机会我会出一篇面试经,综合分享面试重点哦~