2019年web前端就业岗位需求


  近期小编根据多年丰富的面试经历和岗位分析,对前端面试的技术栈,各大公司面试特色,进行了简要的分析 ,随着个人秀发愈来愈少能够说咱们积累的经验愈来愈多,在此给你们进行一个简要的分享。javascript

  先说前端必备的技能,html,css,JavaScript, jQuery(源码部分) , nodejs , vue , react ,设计模式, 这些技术栈仍是要具有的。css

e6bba2789a1c4c7f9e140779d7bfcbdd.jpeg

  如今大公司的要求绝大多数以原生JavaScript为根本,例如腾讯,阿里等互联网头部企业,在面试前端时对原生的要求很是之高,并且以腾讯为表明的一系列公司很是喜欢让你在面试过程之中手写代码,因此若是准备面试腾讯的小兄弟们,必定要提早作好准备。html

  列举咱们最熟悉的腾讯吧,咱们先看一下qq音乐前端工程师招聘的要求:前端

  至少三年以上从事JavaScript开发的经历;vue

  扎实的 javascript 基础知识;java

  可以熟练运用 HTML、CSS、JavaScript 开发高性能的web应用程序;node

  熟悉Web性能优化, 有性能优化实践经验;react

  具备良好的代码风格、接口设计与程序架构意识;git

  具备良好的沟通能力和团队合做精神;github

  思路清晰,优秀的分析问题和解决问题的能力;

  加分项:计算机专业或软件工程等相关专业;

  掌握服务器端编程语言并有实践经验;

  持续坚持写技术博客1年以上;

  对开源项目有贡献;

  github我的原创项目有50个星以上;

  在著名业界技术大会有过度享

  良好的借力意识(站在巨人的肩膀上);

  良好的软件工程意识;

  对技术有持续的热忱和激情;

  热爱音乐。

  咱们能够根据需求分析出哪些东西?

  首先聊一下腾讯的背景, 腾讯前端是以原生JavaScript为主,因此对JavaScript的要求必定会很高, 那么这个高要求和高标准大概有多高呢?

  面试官一般会以丰富的经验给你各类各样的组合拳, 这一套又一套的组合拳着实打的新手摸不着头脑 ? 咱们先来分析一套原生组合拳 :

  原生 javaScript组合拳

  问 : 基本类型和引用类型的区别。

  答 : 基本类型是存储在栈之中的值,引用类型是存储在堆中数据的地址。

  问 : 能够举例说明一下JavaScript之中的引用类型有哪些么?

  答 : Object , function , Array , Set , Map

  固然了,面试JavaScript 确定离不开原型链和做用域链,那么什么是做用域链那 ?这个实际上是说来话长的一个话题,由于在这里给你们阐述下我我的的一些理解 :

  函数在执行的过程之中会产生一个临时存储数据的对象, 这个对象咱们称之为activeObject, 简称AO , 每一个函数在执行时都会在栈里面存上这么一个东西,以便于储存期中的局部变量。可是js有全局变量的概念,也就是在局部中能够访问全局的数据,怎么访问那? 固然是由内自外的冒泡访问,可是如何由内自外,这个以包含关系决定访问顺序就是传说中的做用域链。

  接着来讲原型链, 这个是实例对象访问方法和共用数据的一个顺序,也是由内自外的。

  接着会顺着继续向下问一些关于闭包,内存泄漏的问题。

  闭包问题, 其实就是两个函数嵌套,产生了两个嵌套的活动对象,子活动对象存储了父级活动对象的属性,从而致使外部函数的局部变量被子活动对象保存的一种JavaScript特性。

  用代码表示一下:

  function outer(){

  var freeVar = “hello”

  }

  这是一个外部函数会产生一个 AO , 这个AO是由于outer 函数执行而建立出来的,因此咱们暂时命名为 AO(outer).

  闭包天然少不了函数的嵌套 :

  function outer(){

  var freeVar = “hello”;

  function inner(){

  console.log(freeVar);

  }

  return inner;

  }

  但凡是在AO(outer)内部建立的函数引用了外部的变量那么妥了,闭包就产生了。

  收起你的黑人问号脸,来看一下个人解释 :

  Inner函数执行时固然也会产生AO ,那么这个AO咱们取名叫作AO(inner), ok 在这个ao中咱们干了些啥? 是否是引用了外部函数的变量 freeVar ?

  对啊,确定用了,可是你只是用了freeVar 这么简单么 ? no,no,no , 其实在内部函数之中咱们引用的是 AO(outer).freeVar。

  好了咱们这个时候来看一下,AO是个啥 ? 是个对象啊, 既然是对象那这货是否是一个引用类型,引用类型存在于内存之中不? 存在,那么恭喜你,这个AO.freeVar 不会想普通的局部变量在函数结尾被删除了, 而是被保留在了内存之中。 这,就是闭包。

  基本上这一套下来,你对JavaScript的理解,对JavaScript原理和机制的理解面试官也就了解的比较透彻了 , 接下来会考察一些知识的广度,固然这些问题都是比较简单随意也是比较容易获得答案的,因此在后面的部分我就只列举问题。

  布局和页面性能 :

  这个就是考察基本功的时候了, 布局能够说是一个前端最经常使用的技能,因此会根据各类需求提问,固然一样重要的还有一些优化细节,好比:

  重绘和回流分别都是什么 , 哪一个性能消耗的多? 应该如何去提升性能 ?

  各类居中。

  命名空间和命名方式。

  移动端rem布局,百分比布局,响应式布局。

  HTML标签的语义化

  JavaScript多线程。

  http请求优化

  算法设计模式

  基本排序算法的理解,好比快排,冒泡等排序算法总要知道一个吧 , 这种东西提早准备老是没坏处 。

  设计模式这种东西就是一个没啥卵用的大框框, 可是有写设计模式确实颇有借鉴的意义,好比观察者模式,策略模式,可让代码更加优(zhuang)雅(bi)清晰。

  Ok , 今天的面试分析暂时就进行到这里,其实在面试过程当中问到项目业务的状况也很是多见,由于前端面试的多样性,每次大公司的面试其实都是对咱们技术栈和学习能力的一次挑战,在不断的进步和学习之中,完善自我,持续进步,丰富本身的经验,愿世界和平,秀发长存。

相关文章
相关标签/搜索