前端面试准备

涂鸦智能面试准备

对公司的了解程度

  • 我所了解到的,贵公司是一个从事物联网、智能应用开发的一家公司,作为一个全球云开发平台,是业界比较在头部的一家公司

两边固定中间自适应怎么实现

  • 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的报文后关闭连接
posted @ 2021-04-08 20:23  ghost12137  阅读(41)  评论(0)    收藏  举报