前端面试准备
涂鸦智能面试准备
对公司的了解程度
- 我所了解到的,贵公司是一个从事物联网、智能应用开发的一家公司,作为一个全球云开发平台,是业界比较在头部的一家公司
两边固定中间自适应怎么实现
-
left :float:left;right:float:right;中间自适应
-
position:absolute left: 0 position:absolute right:0 中间自适应
-
display:flex left、right有宽度,中间:flex: 1
-
display:table ;left、right:display:table-cell
js的数据类型
number string boolean undefined null object symbol bigint
object:Array、Object、Date、regexp、function
判断数据类型
- typeof
- instanceof
- Object.prototype.toString.call()
对原型链的了解
以我的理解,原型链是对象创建过程的记录,当访问对象的某个属性时,会先对对象本身属性进行查找,如果找不到,会对其__proto__隐式原型进行查找,再对其prototype的对象进行查找,一层一层往上查找形成一条链式结构
原型链的作用
实现js对象的继承,将对象的公共属性放在一个共享空间,避免重复声明,节约内存;原型链顶端是null
原型和原型链
prototype是函数的属性,每个函数都有该属性。用于指向一个对象。是显式修改对象的原型的属性
__proto__是对象的内置属性,是用于寻找原型链的属性
new操作
首先创建一个空对象,然后将空对象的原型的内存地址指向函数的原型对象,利用函数的call方法,将指向Windows的this指向该对象,然后再返回该对象
对JS构造函数的理解
我的理解是使用new关键字来调用的函数被认为为构造函数。当使用new关键字创建对象时,this指向的是新创建的那个对象。如果被创建的对象没有return 则会隐式的返回this对象。
浅谈对MVVM的了解
- MVVM是model-view-viewmodel的缩写,即模型-视图-视图模型
- 模型:存放各种数据,一些是固定的,大部分是通过api从后端获取的数据
- 视图:显示的界面,即DOM
- 视图模型:是连接模型、视图的桥梁,当数据变化时,viewmodel可监听到变化,并自动更新视图;而当用户操作视图时,viewmodel也可以监听到用户操作,从而对数据进行改动,实现数据的双向绑定
![img]()
计算机网络相关
-
OSI协议
- 应用层 表示层 会话层 运输层 网络层 数据链路层 物理层
-
TCP/IP协议
- 应用层 运输层 网际层 网络接口层
-
五层协议
- 应用层 运输层 网络层 数据链路层 物理层
-
数据链路层
- 封装成帧---------将网络层的分组添加首部和尾部,形成帧
- 透明传输---------在内容中和首部和尾部相同的内容添加转义字符
- 差错检测---------使用CRC检测
-
TCP三次握手(A:客户端;B:服务端)
- A向B发送请求报文,SYN=1,ACK=0,seq选择一个初始的序号x
- B收到A发送的请求报文后,如果同意连接,则向A发送确认报文,SYN=1,ACK=1,确认号为x+1,同时seq选择一个初始的序号y
- A收到B发送的确认报文后,再向B发出确认,ACK=1,确认号为y+1,序号为x+1
- B收到A的报文后,连接确立
-
TCP四次挥手
- A向B发送释放报文,FIN=1,seq 选择一个序号u
- B收到A发出的报文后,则向A发出确认报文,ACK=1, seq选择一个序号v,确认号为u+1,此时B属于半关闭状态,B可以向A发送数据但是A不能像B发送
- 当B确定不再需要连接时,B向A发送释放报文,FIN=1,ACK=1,seq选择一个序号w,确认号为u+1
- 当A收到确认后,向B发送报文,ACK=1,seq为u+1,确认号为w+1,A再进入time-wait状态,之后自行关闭
- B收到A的报文后关闭连接


浙公网安备 33010602011771号