创新奇智、猿辅导前端工程师社招面试经历

创新奇智

一面

1、请说说关于你所做过的项目以及相关细节;

2、手动实现 parseInt


二面

就写了一些笔试题,问了一些问题


三面

1、tcp/ip 网络层。

1)网络层是为传输层提供服务的,传送的协议数据单元称为数据包或分组。该层的主要作用是解决如何使数据包通过各结点传送的问题,即通过路径选择算法(路由)将数据包送到目的地。另外,为避免通信子网中出现过多的数据包而造成网络阻塞,需要对流入的数据包数量进行控制(拥塞控制)。当数据包要跨越多个通信子网才能到达目的地时,还要解决网际互连的问题。

2)网络层的主要协议:IP,ARPRARPIP 协议位于网络层,它是 TCP/IP 协议族中最为核心的协议,所有的 TCPUDPICMP IGMP 数据都以 IP 数据报格式传输。IP 协议提供的是 不可靠 、 无连接的数据报传送服务;

3)当主机通过数据链路发送数据的时候,IP 数据报会先被封装为一个数据帧 ,而 MAC 地址 会被添加到数据帧的报头。ARP 便是在这个过程中通过目标主机的 IP 地址,查询目标主机的 MAC 地址;

4RARP ARP 是相反的关系,用于将 MAC 地址转换为 IP 地址。对应于 ARPRARP 请求以广播方式传送,而 RARP 应答一般是单播传送的。某些设备,比如无盘机在启动时可能不知道自己的 IP 地址,它们可以将自己的 MAC 地址使用 RARP 请求广播出去,RARP 服务器就会响应并回复无盘机的 IP 地址。


2、三次握手;

3、为什么不能两次握手?

1TCP是一个双向通信协议,通信双方都有能力发送信息,并接收响应。如果只是两次握手, 至多只有连接发起方的起始序列号能被确认, 另一方选择的序列号则得不到确认。

2)这主要是为了防止已失效的请求连接报文忽然又传送到了,从而产生错误。


4、vue 原理

1vue的数据驱动主要实现建立在三个对象上DepWatcherCompiler,

2Dep 主要负责依赖的收集

3Watcher 主要负责DepCompiler之间的联系

4Compiler 可以理解为 virtual dom + patch 也就是负责视图层的渲染


5、手写一道算法题


猿辅导

1、总共就一面,期间一些实现方式和面试官有争议,然后交流了一下。

2、手写 vue mixin 方法

3、手写 promise all 方法

4、现场出了一个移动端的小需求

#面经##社招##猿辅导##创新奇智##前端工程师#
全部评论

相关推荐

2 21 评论
分享
牛客网
牛客企业服务