小猿圈web以前端面试题(内含答案)

想要找工做的朋友们,最好作充足的准备,这样才会事半功倍;小猿圈加加最近整理了一套前端的面试题,朋友们能够作一下,而后去迎接大公司的面试。css

一、JSON 的了解?html

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它是基于JavaScript的一个子集。数据格式简单, 易于读写, 占用带宽小。
 格式:采用键值对,例如:{'age':'12', 'name':'back'}

二、new操做符具体干了什么呢?
  (1)建立一个空对象,而且 this 变量引用该对象,同时还继承了该函数的原型。
  (2)属性和方法被加入到 this 引用的对象中。
  (3)新建立的对象由 this 所引用,而且最后隐式的返回 this 。前端

三、HTML5 为何只须要写<!DOCTYPE html> ?
  HTML5不基于 SGML,所以不须要对DTD进行引用,可是须要doctype来规范浏览器的行为(让浏览器按照它们应该的方式来运行)。
  而HTML4.01基于SGML,因此须要对DTD进行引用,才能告知浏览器文档所使用的文档类型。vue

四、经常使用那几种浏览器测试?有哪些内核(Layout Engine)?
  (Q1) 浏览器:IE,Chrome,FireFox,Safari,Opera。
  (Q2) 内核:Trident,Gecko,Presto,Webkit。jquery

五、vue-router有哪几种导航钩子?es6

三种,一种是全局导航钩子:router.beforeEach(to,from,next),做用:跳转前进行判断拦截。第二种:组件内的钩子;第三种:单独路由独享组件

六、怎么定义vue-router的动态路由?怎么获取传过来的动态参数?面试

在router目录下的index.js文件中,对path属性加上/:id。 使用router对象的params.id

七、mint-ui是什么?怎么使用?说出至少三个组件使用方法?vue-router

基于vue的前端组件库。npm安装,而后import样式和js,vue.use(mintUi)全局引入。在单个组件局部引入:import {Toast} from ‘mint-ui’。组件一:Toast(‘登陆成功’);组件二:mint-header;组件三:mint-swiper

八、v-model是什么?怎么使用? vue中标签怎么绑定事件?npm

能够实现双向绑定,指令(v-class、v-for、v-if、v-show、v-on)。vue的model层的data属性。绑定事件:<input @click=doLog() />

九、mvvm框架是什么?它和其它框架(jquery)的区别是什么?哪些场景适合?浏览器

一个model+view+viewModel框架,数据模型model,viewModel链接两个

区别:vue数据驱动,经过数据来显示视图层而不是节点操做。

场景:数据操做比较多的场景,更加便捷

十、XML和JSON的区别?

(1).数据体积方面。

   JSON相对于XML来说,数据的体积小,传递的速度更快些。

  (2).数据交互方面。

   JSON与JavaScript的交互更加方便,更容易解析处理,更好的数据交互。

  (3).数据描述方面。

   JSON对数据的描述性比XML较差。

   (4).传输速度方面。

   JSON的速度要远远快于XML。

十一、TCP和UDP的区别

TCP(Transmission Control Protocol,传输控制协议)是基于链接的协议,也就是说,在正式收发数据前,必须和对方创建可靠的链接。一个TCP链接必需要通过三次“对话”才能创建起来

   UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非链接的协议,它不与对方创建链接,而是直接就把数据包发送过去! 
   UDP适用于一次只传送少许数据、对可靠性要求不高的应用环境。

十二、栈和队列的区别?

栈的插入和删除操做都是在一端进行的,而队列的操做倒是在两端进行的。

   队列先进先出,栈先进后出。

   栈只容许在表尾一端进行插入和删除,而队列只容许在表尾一端进行插入,在表头一端进行删除

1三、vue-loader是什么?使用它的用途有哪些?

解析.vue文件的一个加载器,跟template/js/style转换成js模块。

    用途:js能够写es六、style样式能够scss或less、template能够加jade等

1四、HTTP状态码知道哪些?
  100 Continue 继续,通常在发送post请求时,已发送了http header以后服务端将返回此信息,表示确认,以后发送具体参数信息
  200 OK 正常返回信息
  201 Created 请求成功而且服务器建立了新的资源
  202 Accepted 服务器已接受请求,但还没有处理
  301 Moved Permanently 请求的网页已永久移动到新位置。
  302 Found 临时性重定向。
  303 See Other 临时性重定向,且老是使用 GET 请求新的 URI。
  304 Not Modified 自从上次请求后,请求的网页未修改过。
  400 Bad Request 服务器没法理解请求的格式,客户端不该当尝试再次使用相同的内容发起请求。
  401 Unauthorized 请求未受权。
  403 Forbidden 禁止访问。
  404 Not Found 找不到如何与 URI 相匹配的资源。
  500 Internal Server Error 最多见的服务器端错误。
  503 Service Unavailable 服务器端暂时没法处理请求(多是过载或维护)。

1五、编写一个方法 求一个字符串的字节长度

假设:一个英文字符占用一个字节,一个中文字符占用两个字节


      function GetBytes(str){

        var len = str.length;

        var bytes = len;

        for(var i=0; i<len; i++){

            if (str.charCodeAt(i) > 255) bytes++;

        }

        return bytes;

    }

alert(GetBytes("远方,as"));

以上是小编在网上整理出来的面试题,感受这几道题挺重要的,朋友们能够作一下,有问题能够给小编留言哦,咱们能够一块儿讨论一下,小猿圈加加告诉你们一个面试技巧,在面试的过程当中,遇到本身的弱项,不要沉默,这样给面试官留一个很差的印象,能够大大方方回答面试官:抱歉哈,这个问题我不太了解,可是我对xxx有所研究,把面试官带到本身强项的地方,最后,祝各位朋友面试成功!

相关文章
相关标签/搜索