前端基础知识自测2019-10-30

1.请你说一下get和post的区别.
(1)post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中)
(2)post发送的数据更大(get有url长度限制)
(3)post能发送更多的数据类型(get只能发送ASCII字符)
(4)post比get慢
(5)post用于修改和写入数据,get目的是资源的获取,读取数据

2.简述一下你对业务逻辑的认识.
以淘宝购物为例
业务逻辑:搜索“商品”-找到满意商品-下单-结算-付账-收货。
还有登录注册

3.请你谈一下你对vue生命周期的理解.
beforeCreate
此时实例组件刚创建,元素DOM和数据都还没有初始化
created
数据data已经初始化完成,方法也已经可以调用,但是DOM未渲染。在这个周期里面如果进行请求可以改变数据并渲染,由于DOM未挂载,请求过多或者占用时间过长会导致页面线上空白。
beforeMount
DOM未完成挂载,数据也初始化完成,但是数据的双向绑定还是显示{{}},这是因为Vue采用了Virtual DOM(虚拟Dom)技术。先占住了一个坑。
mounted
数据和DOM都完成挂载,在上一个周期占位的数据把值给渲染进去。一般请求会放在这个地方,因为这边请求改变数据之后刚好能渲染。
beforeUpdate
只要是页面数据改变了都会触发,数据更新之前,页面数据还是原来的数据,当你请求赋值一个数据的时候会执行这个周期,如果没有数据改变不执行。
updated
只要是页面数据改变了都会触发,数据更新完毕,页面的数据是更新完成的。beforeUpdate和updated要谨慎使用,因为页面更新数据的时候都会触发,在这里操作数据很影响性能和容易死循环。
beforeDestroy
这个周期是在组件销毁之前执行
Destroyed
跟beforeDestroy是一样的。

4.请你谈一下你对vue和jQuery的认识.
Vue.js是一个开源的前端JavaScript框架,用于构建用户界面。当使用其他JavaScript库时,它还可以用作集成工具.Vue做到了数据和视图完全分离开,它首先把值和js对象进行绑定,然后修改js对象的值,Vue框架就会自动把dom的值就行更新。对数据进行操作不再需要引用相应的dom对象,他们通过Vue对象实现数据和视图的相互绑定。vue侧重数据绑定,数据绑定就是将页面的数据和视图关联起来,当我们的数据变化的时候,视图可以自动更新。可以应用于复杂数据操作的后台页面。如:表单填写页面
jQuery是一个开源的跨平台的JavaScript库。它旨在简化HTML的客户端脚本.jQuery则是要先使用选择器($)来选取dom对象,然后对dom对象进行操作(如赋值、取值、事件绑定等)。jquery侧重样式操作,动画效果等;可以应用于一些html5的动画页面,一些需要js来操作页面样式的页面中。

5.dom是什么.你的理解?
文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口。
在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM。

6.谈谈你会的框架,并介绍一下你对它的认识
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
vue性能好,简单易用,前后端分离,单页面应用用户体验好,但不适于seo优化,而且封装的比较厉害,报错不明显,适合单人开发,适合中小型项目

7.请你讲一下什么是mvvm好吗?
MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自动传递给 View,即所谓的数据双向绑定。

那么什么是双向数据绑定呢?
双向数据绑定, 就是数据层和视图层中的数据同步, 在写入数据时视图层实时的跟着更新

8.你对es6有了解吗,能不能 请你谈一谈es6有什么新特性?那么es5和es6的区别是什么

9.Tcp的三次握手是什么
TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
  (1)第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SEND状态,等待服务器B确认。
  (2)第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=j+1),同时自己也发送一个SYN包(SYN=k),即SYN+ACK包,此时服务器B进入SYN_RECV状态。
  (3)第三次握手:客户端A收到服务器B的SYN+ACK包,向服务器B发送确认包ACK(ACK=k+1),此包发送完毕,客户端A和服务器B进入ESTABLISHED状态,完成三次握手。
   完成三次握手,客户端与服务器开始传送数据

10.Promise是同步还是异步,它的then和catch方法呢
Promise本身是同步的,他的then方法和catch方法是异步的

11.跨域,那么为什么会出现跨域问题呢,如何解决或者实现跨域
当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域.
出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)
jsonp:jsonp会动态的创建

12.你平常项目开发的时候都遇见过什么问题,请问你是怎么解决的呢

13.常用的网络协议有哪些
常用的网络协议有TCP/IP协议、HTTP协议、FTP协议、Telnet协议、FTP协议、SMTP协议、NFS协议、UDP协议等。

14.常见得404的含义,你还知道哪些状态码
2XX 成功

· 200 OK,表示从客户端发来的请求在服务器端被正确处理*

· 204 No content,表示请求成功,但响应报文不含实体的主体部分

· 206 Partial Content,进行范围请求

3XX 重定向

· 301 moved permanently,永久性重定向,表示资源已被分配了新的 URL

· 302 found,临时性重定向,表示资源临时被分配了新的 URL

· 303 see other,表示资源存在着另一个 URL,应使用 GET 方法丁香获取资源

· 304 not modified,表示服务器允许访问资源,但因发生请求未满足条件的情况(服务端已经执行了GET,但文件未变化。)*

· 307 temporary redirect,临时重定向,和302含义相同

4XX 客户端错误

· 400 bad request,请求报文存在语法错误

· 401 unauthorized,表示发送的请求需要有通过 HTTP 认证的认证信息

· 403 forbidden,表示对请求资源的访问被服务器拒绝

· 404 not found,表示在服务器上没有找到请求的资源*

5XX 服务器错误

· 500 internal sever error,表示服务器端在执行请求时发生了错误*

· 503 service unavailable,表明服务器暂时处于超负载或正在停机维护,无法处理请求

15.闭包

16.css的预处理器

17.元素的隐藏与显示

18.事件代理

19.HTML5新特性

20.原型链

21.Ajax流程

22.行内元素垂直居中,水平居中

23.,css3新特性

24.http通信过程
建立TCP连接->WEB浏览器向WEB服务器发送请求命令->WEB浏览器发送请求头信息
->WEB服务器应答->WEB服务发送应答头信息->WEB服务器向浏览器发送数据->WEB服务器关闭TCP连接

25.__proto__和prototype的区别和关系?用代码说明

26.cookie有哪些属性,大小?

27.cookie和session的原理和区别

28.websocket与ajax的区别
1.本质不同
Ajax,即异步JavaScript和XML,是一种创建交互式网页应用的网页开发技术;
WebSocket是HTML5一种新的协议,实现了浏览器与服务器全双工通信。
其本质是先通过HTTP/HTTPS协议进行握手后创建一个用于交换数据的TCP连接,服务端与客户端通过此TCP连接进行实时通信。
2.生命周期不同。
websocket建立的是长连接,在一个会话中一直保持连接;而ajax是短连接,数据发送和接受完成后就会断开连接。
3.适用范围不同
websocket一般用于前后端实时数据交互,而ajax前后端非实时数据交互。
4.发起人不同
Ajax技术需要客户端发起请求,而WebSocket服务器和客户端可以相互推送信息。
5.用法不同

29.请你讲一下异步加载js的方法有哪几种,它们的适用条件分别是什么?

30.重排和重绘,讲讲看
重绘(repaint或redraw):当盒子的位置、大小以及其他属性,例如颜色、字体大小等都确定下来之后,
浏览器便把这些原色都按照各自的特性绘制一遍,将内容呈现在页面上。是指浏览器按照 W3C 标准解析代码。
重绘是指一个元素外观的改变所触发的浏览器行为,浏览器会根据元素的新属性重新绘制,使元素呈现新的外观。

重排(重构/回流/reflow):当渲染树中的一部分(或全部)因为元素的规模尺寸,布局,隐藏等改变而需要重新构建,
这就称为回流(reflow)。每个页面至少需要一次回流,就是在页面第一次加载的时候。

31.写一个快速排序、冒泡排序、插入排序、


我发现可能只是应聘实习,问的HTML5css3基础问题挺多,基础很重要

1.请你谈下link和import
是外部引入 CSS 的2种方式
烈建议使用link标签,慎用import方式。
这样可以避免考虑import的语法规则和注意事项,避免产生资源文件下载顺序混乱和http请求过多的烦恼

2.请你谈下margin和padding
在这里插入图片描述
padding属性设置一个元素的内边距
margin属性可以为给定元素设置所有四个(上下左右)方向的外边距属性

3.http协议

4.css布局对齐方式
https://blog.csdn.net/qq_26780317/article/details/80899402
这篇很详细

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值