不知不觉的当了2年多的面试官了,写点自己的想法

718 阅读7分钟

都是本人自己的想法,主要整理下自己的是如何面试他人的

本人面试前端的时候,提出的问题,被面试的人不需要全部说上来或说对,就算错了也没问题,态度和心态非常关键,是多个方面综合考虑的,不光硬技能(技术能力)非常重要,软技能(思维,心态和沟通能力)也非常关键。

心态方面

态度积极良好并且会举一返三

回答问题自信点,就算错也要说,同时不要通过扯开话题来回避问题,不懂就不懂,可以反问。

开发需要发散,你能举一返三,说明你愿意去想,很多东西,多想想就可以做出来的,而且现在互联网发展,查找问题和交流非常方便,所以态度和心态非常重要

很多时候,态度决定了一个人的高度,同时也决定了一个人是否愿意去挑战高难度的任务

个人所掌握的知识面

看的其实也是态度,你可能懂的都是片面,但是你既然能了解到这些,表示你经常关注这些,重要的不是知识的广度和深度,而是自己是否愿意去主动了解,技术的更新很快,你不愿意去主动了解,那最后可能很容易就被淘汰掉。

而且有时候项目中遇到问题,可能你了解到的东西就能帮上大忙。

对于工作的认同感和职业感

阅读源码,参与开源项目,深入了解技术背后的理论,或者突破语言和语法的限制,js 的很多语法也是借鉴其他语言的,这些都可以用来表示对自己岗位的强烈认同和职业归属。

是否愿意积极主动的学习和分享

这点不管是个人还是对于团队都非常重要,但需要注意的是分享不是强制的,不应该为了分享而分享。

分享是具有明确目的,特定话题和短暂时间的一种行为,是自愿并且主动发起的。

提问内容

会根据面试人员工作年限和简历来提问,总结起来就是 1~2年问基础和框架(使用方向),3~4年问思维和工程,5~6年问架构(有前端的 ui 分层管理和整体的技术架构中前端的角色定位等)和管理方面的问题

问题范围

  1. 语法基础
  2. 使用的框架
  3. 简历写的技能列表

加分项

  1. 编程思维
  2. 设计模式
  3. 自我驱动
    1. 自我学习
    2. 阅读源码
    3. 参与开源项目
  4. 是否有自己的主观意识,如:
    1. 站在用户的角度思考自己的功能是否满足其需要等等
    2. 站在产品经理的角度思考其中的流程是否可以优化等等
    3. 站在后端的角度思考,数据是否安全等等
    4. 站在 ui 的角度思考,界面,交互,动效是否合适等等
    5. 站在自己的专业角度思考,代码是否合理,中间的逻辑处理是否有更优的写法等
    6. 站在测试的角度,功能是否有缺陷,异常是否有覆盖到等

1~2 年的前端开发

新手开发,基础扎实就行

1. css 基础

  1. 盒模型
  2. css 布局:position, float, flex
  3. 做过移动端的会问下适配方面
  4. css3 动画会提下(不强要求会加分)
  5. 浏览器兼容(不强要求会加分)等

2. js 基础

  1. 基础语法
  2. es5 的常用 api,如 array.map,array.forEach
  3. es6 的 promise 等

3. 框架基础(如 vue,懂其他框架,简历写也问)

  1. 什么是双向数据绑定
  2. 什么是单向数据流
  3. vue 常用的组件选项都有那些
  4. 你是如何设计你的组件 (面的思维)
  5. 你对于 vue 是着么理解的等

4. 学习方面

这阶段有人带对以后的成长真的太重要了,入门容易精通难,但如果入门就有老师傅带着,可以少走不少弯路,而且成长有目标,不会感觉到迷茫。

  1. 学习渠道
  2. 每日学习花费的时间
  3. 个人成长和计划等

5 其他

比较随意前面答的好就问,主要是编程思维方面的。

3~4 年的前端开发

公司主力开发,大部分业务都是这部分人在做

1. 一些编程技巧

如深拷贝和浅拷贝,异步编程(不是异步 api,很多人都把这个等同。。。)等等

2. 框架的核心内容,也可能其他的

如框架的设计模式,原理等方面,主要面的态度,说错也没事,面的是你对于事物是否抱有一种追根到底的态度,3年可以有自己的想法了,问这个主要是看你是不是在积累经验,这时候应该要想想这么深入了。

3. 代码管理

工作习惯和代码管理,至少保证多人合作没问题,比如 每日上班 pull 下代码,下班提交代码,懂 git flow,还会解决冲突

4. 是否有过服务端编程

前后端任务拆解,不会交流会有障碍,前后端分离的项目,数据库不管,但 ui 这块前端才是主导。

5. 目录组织方式和工程搭建与部署会不会

再成长就是独立负责一个项目的人,现在不积累,后面压力会很大的。

5 年以上的前端开发

这时候已经可以决定以后的人生到底是走技术专家,还是技术经理的角色了,小公司里,这部分人已经是一个小的前端负责人了

大公司可能还没到,但是在小公司,5年已经不仅仅作为开发用了,很多时候都可以参与业务的讨论了。

团队招人需要注意的情况

都是个人的一些看法,如果人比较厉害那就另说

1. 项目没有3年以上的开发,不招新人

有3年以上后端开发也行,主要是让新人自己管基本不可能,甚至会打击到他的自信心。

2. 项目急,任务重,绝不招新人

项目急的团队招人,没时间带人,结果和没招人差不多,甚至会分散主力开发的精力。

3. 任务多,时间缓,尽量找刚毕业的

  1. 工作过的人,容易走
  2. 刚毕业的中间努力培养,新人成长快

最后附上我刚工作不久时给自己的规划

推荐去学习下 《okr 工作法》,给自己制订目标,这样的成长会比较快。

简单罗列下,下面的阶段可以同时进行

阶段一:打好基础

什么是基础,对于学生来说,课本就是基础,对于开发来说,api 文档就是课本,一个好的文档能带给人的成长是巨大的,比如 vue 的文档,对于新手来说,真的非常好,那里面的知识对于学习其他框架也是帮助非常大的。

计划

  1. 阅读完 javascript 文档
  2. 阅读完 css 文档
  3. 阅读完 html 文档

检验方式

  1. 常规的 api 可以使用
  2. 不常用的 api 有个印象

阶段二:学框架

计划

  1. 了解什么是路由
  2. 了解什么是组件
  3. 了解什么是生命周期
  4. 等等

检验方式

用一次

阶段三:学工程

计划

  1. 了解目录设计
  2. 了解工具使用
  3. 了解编译后的部署方式

检验方式

用一次

阶段四:学编程思维

计划

  1. 了解高级 api
  2. 了解函数式和响应式等编程模式
  3. 了解设计模式

检验方式

用一次

阶段五:学一门后端语言

计划

  1. 了解后端路由
  2. 了解后端请求处理
  3. 了解后端组织方式
  4. 了解数据库设计
  5. 了解渲染等

检验方式

用一次

本文使用 mdnice 排版

- END -