小猿圈web之前端面试题(内含答案)
想要找工作的朋友们,最好做充足的准备,这样才会事半功倍;小猿圈web前端讲师最近整理了一套前端的面试题,朋友们可以做一下,然后去迎接大公司的面试。
1、JSON 的了解?
JSON(JavaScript Object Notation) 是一种轻量级的资料交换格式。它是基于JavaScript的一个子集。资料格式简单, 易于读写, 占用带宽小。
格式:采用键值对,例如:{\'age\':\'12\', \'name\':\'back\'}
2、new操作符具体干了什么呢?
(1)建立一个空物件,并且 this 变数引用该物件,同时还继承了该函式的原型。
(2)属性和方法被加入到 this 引用的物件中。
(3)新建立的物件由 this 所引用,并且最后隐式的返回 this 。
3、HTML5 为什么只需要写 ?
HTML5不基于 SGML,因此不需要对DTD进行引用,但是需要doctype来规范浏览器的行为(让浏览器按照它们应该的方式来执行)。
而HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文件所使用的文件型别。
4、常用那几种浏览器测试?有哪些核心(Layout Engine)?
(Q1) 浏览器:IE,Chrome,FireFox,Safari,Opera。
(Q2) 核心:Trident,Gecko,Presto,Webkit。
5、vue-router有哪几种导航钩子?
三种,一种是全域性导航钩子:router.beforeEach(to,from,next),作用:跳转前进行判断拦截。第二种:元件内的钩子;第三种:单独路由独享元件
6、怎么定义vue-router的动态路由?怎么获取传过来的动态引数?
在router目录下的index.js档案中,对path属性加上/:id。 使用router物件的params.id
7、mint-ui是什么?怎么使用?说出至少三个元件使用方法?
基于vue的前端元件库。npm安装,然后import样式和js,vue.use(mintUi)全域性引入。在单个元件区域性引入:import {Toast} from ‘mint-ui’。元件一:Toast(‘登入成功’);元件二:mint-header;元件三:mint-swiper
8、v-model是什么?怎么使用? vue中标签怎么系结事件?
可以实现双向系结,指令(v-class、v-for、v-if、v-show、v-on)。vue的model层的data属性。系结事件:
9、mvvm框架是什么?它和其它框架(jquery)的区别是什么?哪些场景适合?
一个model+view+viewModel框架,资料模型model,viewModel连线两个
区别:vue资料驱动,通过资料来显示检视层而不是节点操作。
场景:资料操作比较多的场景,更加便捷
10、XML和JSON的区别?
(1).资料体积方面。
JSON相对于XML来讲,资料的体积小,传递的速度更快些。
(2).资料互动方面。
JSON与JavaScript的互动更加方便,更容易解析处理,更好的资料互动。
(3).资料描述方面。
JSON对资料的描述性比XML较差。
(4).传输速度方面。
JSON的速度要远远快于XML。
11、TCP和UDP的区别
TCP(Transmission Control Protocol,传输控制协议)是基于连线的协议,也就是说,在正式收发资料前,必须和对方建立可靠的连线。一个TCP连线必须要经过三次“对话”才能建立起来
UDP(User Data Protocol,使用者资料报协议)是与TCP相对应的协议。它是面向非连线的协议,它不与对方建立连线,而是直接就把资料包传送过去!
UDP适用于一次只传送少量资料、对可靠性要求不高的应用环境。
12、栈和伫列的区别?
栈的插入和删除操作都是在一端进行的,而伫列的操作却是在两端进行的。
伫列先进先出,栈先进后出。
栈只允许在表尾一端进行插入和删除,而伫列只允许在表尾一端进行插入,在表头一端进行删除
13、vue-loader是什么?使用它的用途有哪些?
解析.vue档案的一个载入器,跟template/js/style转换成js模组。
用途:js可以写es6、style样式可以scss或less、template可以加jade等
14、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 服务器端暂时无法处理请求(可能是过载或维护)。
15、编写一个方法 求一个字串的字节长度
假设:一个英文字元占用一个字节,一个中文字元占用两个字节
function GetBytes(str){
var len = str.length;
var bytes = len;
for(var i=0; i if (str.charCodeAt(i) > 255) bytes++;
}
return bytes;
}
alert(GetBytes("远方,as"));
以上是小编在网上整理出来的面试题,感觉这几道题挺重要的,朋友们可以做一下,有问题可以给小编留言哦,我们可以一起讨论一下,小猿圈web前端告诉大家一个面试技巧web前端自学②群:738735873,在面试的过程中,遇到自己的弱项,不要沉默,这样给面试官留一个不好的印象,可以大大方方回答面试官:抱歉哈,这个问题我不太了解,但是我对xxx有所研究,把面试官带到自己强项的地方,最后,祝各位朋友面试成功!