前端面经答案整理

计算机网络相关
1.输入一个网址的全过程(输入url的全过程)?
答:(1)客户端浏览器通过DNS 解析出网址的IP 地址,根据解析出来的 IP地址找到客户端到服务器端的路径。客户端浏览器发起一个HTTP 会话到IP地址,然后通过TCP进行封装数据包,输入网络层;
(2)在客户端的传输层建立TCP连接,然后使用 IP层的IP地址查找目的端;
(3)客户端的网络层不用关心应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是路由器来完成的工作。(IP的重要功能就是寻址和路由);
(4)包通过链路层发送到路由器,通过邻居协议查找给定IP地址的 MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包,然后发送IP 数据包到达服务器的地址(IP地址转化为MAC地址)。
速记:(1)DNS解析出IP,浏览器发送HTTP会话到IP,通过TCP封装数据包输入网络层;(2)传输层建立TCP连接,用IP地址查找目的端;(3)网络层通过查找路由表确定到达服务器的路由;(4)将IP地址转化为MAC地址。

2.说一下用户从输入url到显示页面这个过程发生了什么?
答:dns解析、tcp连接、发送http请求、服务器处理请求并返回HTTP报文、浏览器解析渲染页面、连接结束。
3.网络七层协议是什么?
答:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
4.tcp http在哪一层?
答:OSI的7层从上到下分别是 7 应用层(TELNET,HTTP,FTP,NFS,SMTP) 6 表示层 5 会话层 4 传输层 (TCP,UDP)3 网络层 (IP))2 数据链路层 1 物理层;
所以 tcp在传输层,http在应用层。
5.http与tcp之间的关系?
答:tcp是传输协议,主要解决的是如何传输数据,http是应用协议,主要解决的是如何去包装数据。tcp承载着http。举个例子:如果网络是路,那么tcp就是公交车,而http就是车里的人。
6.tcp的三次握手?
答:第一次握手:起初两端都处于closed关闭状态,client将标志位syn置为1,随机产生一个值seq=x,并将该数据包发送server,client进入syn-sent状态,等待server确认;
第二次握手:server收到数据包后由标志位syn=1得知client请求建立连接,server将标志位syn和ack都置为1,ack=x+1,随机产生一个值seq=y,并将该数据包发送给client以确认连接请求,server进入syn-rcvd状态,此时操作系统作为该tcp连接分配tcp缓存和变量;
第三次握手:client收到确认后,检查ack是否为x+1,ack是否为1,如果正确则将标志位ack置为1,ack=y+1,并且此时操作系统为该tcp连接分配tcp缓存和变量,并将该数据包发送给server,server检查ack是否为y+1,ack是否为1,如果正确则连接建立成功,client和server进入estalished(建立)状态,完成三次握手,随后client和server就可以开始传输数据。

操作系统
1.进程和线程的区别?
答:进程,是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。
线程,是进程的一部分,一个没有线程的进程可以被看作是单线程。线程有时又被称为请权进程,也是cpu调度的一个基本单位。
2.线程的哪些资源共享,哪些资源不共享?
答:共享的资源有:堆、全局变量、静态变量、文件等公用资源;独享的资源:栈、寄存器。

数据库
1、Redis和MySQL的区别
答:(1)类型上 不同:从类型上说,MySQL时关系型数据库,Redis是缓存型数据库;(2)作用上不同:mysql用于持久化得存储数据到硬盘,功能强大、但是速度较慢,Redis用于存储使用较为频繁的数据到缓存中,读取速度快;(3)需求上不同:mysql和redis因为需求的不同,一般都是配合使用。

2.localstorage/sessionstorage的异同点?
答:(1)相同点:localstorage和sessionstorage都是用来存储客户端临时信息的对象,而且都只能存储字符串类型的对象;不同的浏览器无法共享他们的信息。
(2)不同点:localstorage的生命周期是永久,意味着除非用户去清除它保存的信息,否则将会永远存在;而sessionstorage的生命周期是当前窗口或者标签页,也就是说如果将窗口或者标签页关闭了,那么通过它所存储的信息就会被清空。
(3)注意:相同浏览器的不同页面可以共享相同的localstorage的信息,但是不能共享sessionstorage的信息(页面仅指的是顶级窗口);如果一个标签页包含多个iframe标签且他们属于同源页面,那么他们之间是可以共享sessionstorage的。

vue相关
1.vue的生命周期是什么?可以分为多少个阶段?
vue生命周期是指vue实例对象从创建之初到销毁的过程,vue所有功能的实现都是围绕其生命周期进行的,在生命周期的不
同阶段调用对应的钩子函数实现组件数据管理和DOM渲染两大重要功能。
vue生命周期可以分为八个阶段,分别是:
beforeCreate(创建前)
created(创建后)
beforeMount(载入前)
mounted(载入后)
beforeUpdate(更新前)
updated(更新后)
beforeDestroy(销毁前)
destroyed(销毁后)

你可能感兴趣的:(面试,面试)