2020-11-10 前端面试基础部分(一)

关于找工作面试

第一次写个人记录,简单介绍一下找工作以及面试.:

        ①技术面----基础;

        ②技术面----算法、数据结构;

        ③技术面----项目;

        ④Hr面----综合;



基础知识部分

        基础知识部分是最重要的,看了好多面经,自己查答案,总结记录在此。希望能给同路小白们一个参考的地方。推荐一篇面经:《2018大厂高级前端面试题汇总》。由于是2018年的了,所以大家只需要关注一下总体方向和基础部分就可以了。

HTTP


2020-11-10 前端面试基础部分(一)_第1张图片

1、介绍HTTP,优点和存在的问题?(必考)

        HTTP优点有简单,灵活,易于扩展,应用广泛,环境成熟,无状态;  HTTP缺点有明文不安全,因为无状态,因此无法做连续多个步骤的操作,“请求 - 应答”模式则加剧了HTTP的性能问题。

2、HTTP报文的请求和返回会有几个部分?每部分具体都有什么?

 (1)请求报文(请求行/请求头/请求数据/空行)

        ①请求行

            请求方法字段、URL字段和HTTP协议版本

            例如:GET /index.html HTTP/1.1

                get方法将数据拼接在url后面,传递参数受限

            请求方法:

                GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT

       ② 请求头(key value形式)

            User-Agent:产生请求的浏览器类型。

            Accept:客户端可识别的内容类型列表。

            Host:主机地址

        ③请求数据

            post方法中,会把数据以key value形式发送请求

        ④空行

            发送回车符和换行符,通知服务器以下不再有请求头

   (2)响应报文(状态行、消息报头、响应正文)

        状态行

        消息报头

        响应正文

3、GET与POST请求方式的区别有哪些?

(1)GET和POST是HTTP请求的两种基本方法,GET产生一个TCP数据包,POST产生两个   TCP数据包。

(2)GET在浏览器回退时是无害的,而POST会再次提交请求。

(3)GET产生的URL地址可以被Bookmark,而POST不可以。

(4)GET请求会被浏览器主动cache,而POST不会,除非手动设置。

(5)GET请求只能进行url编码,而POST支持多种编码方式。

(6)GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

(7)GET请求在URL中传送的参数是有长度限制的,而POST没有。

(8)对参数的数据类型,GET只接受ASCII字符,而POST没有限制。

(9)GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

(10)GET参数通过URL传递,POST放在Request body中。

4、输入url到页面加载全过程(必考)

       (1)浏览器的地址栏输入URL并按下回车。

  (2)浏览器查找当前URL是否存在缓存,并比较缓存是否过期。

  (3)DNS解析URL对应的IP。

  (4)根据IP建立TCP连接(三次握手)。

  (5)HTTP发起请求。

  (6)服务器处理请求,浏览器接收HTTP响应。

  (7)渲染页面,构建DOM树。

  (8)关闭TCP连接(四次挥手)。

5、介绍HTTPS;HTTP和HTTPS的区别(必考)

HTTP与HTTPS介绍:

        超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

        为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL/TLS协议,SSL/TLS依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

        HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全

        HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

HTTP和HTTPS的区别:

1)https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。

2)http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl/tls加密传输协议。

3)http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4)http的连接很简单,是无状态的;HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

你可能感兴趣的:(2020-11-10 前端面试基础部分(一))