第十七天Web前端面试题

1,怎样添加、移除、复制、创建、查找节点

添加:appendChild(),insertBefore() 。

移除:insertBefore()

删除:removeChild()

创建:createTextNode

复制:cloneNode()

查找:1.根据元素的id来查找  document.getElementById(elementId);

2.根据元素的class属性 document.getElementsByClassName(className);

3.根据元素(即标签)的标签名 document.getElementsByTagName(tagName);

4. 根据选择器secletor,(这个与标签名有些类似)

      document.querySelector("");  是在DOM树下找到的第一个与之匹配的元素节点

      document.querySelectorAll(""); 是在DOM树下全部与之匹配的元素节点

添加

appendChild() : 向节点的子节点列表的末尾添加新的子节点。添加节点

insertBefore() : 在指定的子节点之前添加一个节点。插入节点。它也可以插入/移除 已存在的元素。

插入节点

移除节点


createTextNode:创建一个节点

复制 cloneNode() 复制节点并返回复制的节点 


2,在JavaScript中什么是伪数组?如何将伪数组转化为标准数组

首先,伪数组不是一个数组,它是对象类型,下面是鉴定方法,伪数组就类似于下面的 lis

如何辨别别伪数组

1,具有length属性

2,按索引方式存储数据

3,不具有数组的push,pop等方法

怎样将伪数组转换成真数组

1、Array.from() 方法

为true

2、sArr.slice() 当参数为空时将把整个数组(或者伪数组)中的内容作为一个新数组返回。

3、Array.prototype.slice.call( 数据 )

4、 声明一个空数组,通过遍历伪数组把它们重新添加到新的数组中

3,jQuery的事件委托on、live、delegate之间有什么区别

事件委派(委托)

事件委托就是利用冒泡的原理,把事件加到父元素或祖先元素上,触发执行效果。

事件委托优点 

提高JavaScript性能。事件委托可以显著的提高事件的处理速度,减少内存的占用。

时间委派写法

$(父元素).on('click','子元素选择器',function(){

    //代码块

});

区别在哪里?

live 把事件委托交给了document(根节点),document 向下去寻找符合条件的元素(), 不用等待document加载结束也可以生效。

delegate可指定事件委托对象,相比于live性能更优,直接锁定指定选择器;

on事件委托对象选填,如果不填,即给对象自身注册事件,填了作用和delegate一致。

band只能给调用它的时候已经存在的元素绑定事件,不能给未来新增的元素绑定事件,存在局限性。

4,描述一次完整的http请求过程(输入url敲回车发生了什么)

1.当开始在浏览器输入网址时,浏览器就已经开始通过历史记录或者书签,找到已经输入的字符串对应的url了,然后智能提示,补全url

2。浏览器查找域名的 IP 地址。请求一旦发起,浏览器首先要做的事情就是解析这个域名,一般来说,浏览器会首先查看本地硬盘的 hosts 文件,看看其中有没有和这个域名对应的规则,如果有的话就直接使用 hosts 文件里面的 ip 地址。如果在本地的 hosts 文件没有能够找到对应的 ip 地址,浏览器会发出一个 DNS本地DNS服务器一般都是你的网络接入服务器商提供,比如中国电信,中国移动。查询你输入的网址的DNS请求到达本地DNS服务器之后,本地DNS服务器会首先查询它的缓存记录,如果缓存中有此条记录,就可以直接返回结果,此过程是递归的方式进行查询。如果没有,本地DNS服务器还要向DNS根服务器进行查询。本地DNS服务器继续向域服务器发出请求,在这个例子中,请求的对象是.com域服务器。.com域服务器收到请求之后,也不会直接返回域名和IP地址的对应关系,而是告诉本地DNS服务器,你的域名的解析服务器的地址。最后,本地DNS服务器向域名的解析服务器发出请求,这时就能收到一个域名和IP地址对应关系,本地DNS服务器不仅要把IP地址返回给用户电脑,还要把这个对应关系保存在缓存中,以备下次别的用户查询时,可以直接返回结果,加快网络访问。

3、浏览器向 web 服务器发送一个 HTTP 请求。在通过DNS域名解析后,获取到了服务器的IP地址,在获取到IP地址后,便会开始建立一次连接,这是由TCP协议完成的,主要通过三次握手进行连接:

第一次握手: 建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;

第二次握手: 服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手: 客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

4、浏览器向服务器发送HTTP请求

5、服务器返回一个 HTTP 响应,浏览器接收响应

服务器在收到浏览器发送的HTTP请求之后,会将收到的HTTP报文封装成HTTP的Request对象,并通过不同的Web服务器进行处理,处理完的结果以HTTP的Response对象返回,主要包括状态码,响应头,响应报文三个部分。

状态码主要包括以下部分

  1xx:指示信息–表示请求已接收,继续处理。

  2xx:成功–表示请求已被成功接收、理解、接受。

  3xx:重定向–要完成请求必须进行更进一步的操作。

  4xx:客户端错误–请求有语法错误或请求无法实现。

  5xx:服务器端错误–服务器未能实现合法的请求。

  响应头主要由Cache-Control、 Connection、Date、Pragma等组成。

  响应体为服务器返回给浏览器的信息,主要由HTML,css,js,图片文件组成。

6、页面渲染。如果说响应的内容是HTML文档的话,就需要浏览器进行解析渲染呈现给用户。整个过程涉及两个方面:解析和渲染。在渲染页面之前,需要构建DOM树和CSSOM树。

5,http状态码有哪些

1**(信息类):表示接收到请求并且继续处理

100  Continue  继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息


2**(响应成功):表示动作被成功接收、理解和接受

200  OK        正常返回信息

201  Created    请求成功并且服务器创建了新的资源

202  Accepted  服务器已接受请求,但尚未处理


3**(重定向类):为了完成指定的动作,必须接受进一步处理

301  Moved Permanently  请求的网页已永久移动到新位置。

302  Found      临时性重定向。

303  See Other  临时性重定向,且总是使用 GET 请求新的 URI。

304  Not Modified 自从上次请求后,请求的网页未修改过。


4**(客户端错误类):请求包含错误语法或不能正确执行

400  Bad Request  服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。

401  Unauthorized 请求未授权。

403  Forbidden  禁止访问。

404  Not Found  找不到如何与 URI 相匹配的资源。


5**(服务端错误类):服务器不能正确执行一个正确的请求

500  Internal Server Error  最常见的服务器端错误。

503  Service Unavailable 服务器端暂时无法处理请求(可能是过载或维护)。

6,自我介绍

7,项目介绍

8,后台管理系统权限你是如何实现的?

1.定义静态路由表(无需权限的使用)

2.定义权限路由表(和后台返回的权限进行匹配用)

开始登录判断登录是否成功,(成功后将返回的登录token值存储到本地里,用导航守卫进行判断本地是否存在返回的这个token值)没有成功继续登录,

成功的话判断是否已经获取了用户的权限列表,没有获取重新获取权限列表,

获取到了将权限数据存储到vuex中,

(vuex中的数据是公共数据,我们在写组件时任何一个地方都可能用到这个数据,所以将这个权限数据存储到vuex中,方便使用),

然后将vuex中的权限数据和定义好的需要访问权限的路由表进行对比,

(在设置路由的组件中设置name和获取的权限列表中的路由一样),

生成当前账户对应的权限路由表,

通过addRoutes方法动态添加路由规则,

就可以生成可访问的侧边栏菜单

9,为什么要离职?

10,你要求15k,我们公司给不了你那么多,你该怎么答?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容