创新奇智
一面
1、请说说关于你所做过的项目以及相关细节;
2、手动实现 parseInt
二面
就写了一些笔试题,问了一些问题
三面
1、tcp/ip 网络层。
(1)网络层是为传输层提供服务的,传送的协议数据单元称为数据包或分组。该层的主要作用是解决如何使数据包通过各结点传送的问题,即通过路径选择算法(路由)将数据包送到目的地。另外,为避免通信子网中出现过多的数据包而造成网络阻塞,需要对流入的数据包数量进行控制(拥塞控制)。当数据包要跨越多个通信子网才能到达目的地时,还要解决网际互连的问题。
(2)网络层的主要协议:IP,ARP、RARP;IP 协议位于网络层,它是 TCP/IP 协议族中最为核心的协议,所有的 TCP、UDP、ICMP 及 IGMP 数据都以 IP 数据报格式传输。IP 协议提供的是 不可靠 、 无连接的数据报传送服务;
(3)当主机通过数据链路发送数据的时候,IP 数据报会先被封装为一个数据帧 ,而 MAC 地址 会被添加到数据帧的报头。ARP 便是在这个过程中通过目标主机的 IP 地址,查询目标主机的 MAC 地址;
(4)RARP 与 ARP 是相反的关系,用于将 MAC 地址转换为 IP 地址。对应于 ARP,RARP 请求以广播方式传送,而 RARP 应答一般是单播传送的。某些设备,比如无盘机在启动时可能不知道自己的 IP 地址,它们可以将自己的 MAC 地址使用 RARP 请求广播出去,RARP 服务器就会响应并回复无盘机的 IP 地址。
2、三次握手;
3、为什么不能两次握手?
(1)TCP是一个双向通信协议,通信双方都有能力发送信息,并接收响应。如果只是两次握手, 至多只有连接发起方的起始序列号能被确认, 另一方选择的序列号则得不到确认。
(2)这主要是为了防止已失效的请求连接报文忽然又传送到了,从而产生错误。
4、vue 原理
(1)vue的数据驱动主要实现建立在三个对象上Dep、Watcher、Compiler,
(2)Dep 主要负责依赖的收集
(3)Watcher 主要负责Dep和Compiler之间的联系
(4)Compiler 可以理解为 virtual dom + patch 也就是负责视图层的渲染
5、手写一道算法题
猿辅导
1、总共就一面,期间一些实现方式和面试官有争议,然后交流了一下。
2、手写 vue 的 mixin 方法
3、手写 promise 的 all 方法
4、现场出了一个移动端的小需求
全部评论
(0) 回帖