好未来面试记录
一面
1、自我介绍
2、学习前端路径
看视频、看书、看官方文档
3、对堆和栈的理解
栈是一种先进后出的数据结构,内存分配速度和释放速度很快,且可以自动释放内存,内存大小较小,存储基本类型数据;
堆是动态内存分配,由程序员手动管理分配和释放内存,效率较低但是空间较大,存储引用类型数据;
4、为什么基本类型数据存在栈里,引用类型存在堆里?
(1)基本类型数据占用内存较小且大小固定;引用类型数据大小不确定且可以动态添删属性;
(2)基本类型数据的生命周期与所在作用域相同,自动释放更合适,引用类型作用域的生命周期可能超出其创建的作用域,适合手动释放;
5、TCP和UDP的区别
UDP全称为用户数据协议,是面向数据报的通信协议,即对应用层交下来的报文,在其上面加上首部就交给下面的网络层’
TCP全称为传输控制协议,是面向字节流的、可靠的通信协议,把上面应用层交下来的数据看成无结构的字节流来发送;
两者区别有:
(1)面向连接:TCP面向连接,3次握手建立连接,4次挥手断开连接;UDP是面向无连接的,数据传输前后不建立连接,发送端只负责将数据发送到网络,接收端从消息队列中读取;
(2)是否可靠:TCP提供可靠的服务,传输过程中采用流量控制、编号确认、计算器等手段确保数据无差错,不丢失;UDP则尽可能传输数据,而不保证传递交付给对方;
(3)TCP面向字节流,将应用层报文看成一串无结构的字节流,分解成多个TCP报文段传输后,在目的站重新装配;UDP面向报文,不拆分应用层报文,只保留报文的边界,一次发送一个报文,接收方去除报文首部后,原封不动将报文交给上层应用;
(4)连接对象个数:TCP只能点对点全双工通信,UDP支持一对一,一对多,多对多的交互通信;
(5)TCP适用于要求效率相对低,对准确性要求相对高的场景;UDP适用于要求效率相对高,对准确性相对低的场景;
6、抖音直播是用TCP比较好还是UDP比较好?
直播采用UDP比较好,因为直播需要保证实时性,以及可以容忍少量的
7、为什么TCP需要三次握手?
确保双方都有发送数据和接收数据的能力
8、那为什么TCP需要四次挥手?
需要双方都确定完成数据发送,并能独立关闭和接收通道。
当主机A发送 FIN 报文段时,它只表示主机A完成了数据发送,此时不可以再发送数据,但仍可以接收数据。主机B确认接收后,还可以继续发送数据,直到主机B也发送 FIN 报文段,表示完成数据发送。
9、标准盒模型和怪异盒模型的区别
标准盒模型:content-box,其width和height的范围只包括了content
怪异盒模型:border-box,其width和height的范围包含了border/padding/content
10、上下两个元素的margin都是20,那他们的间距是多少?
两个相邻元素的上下margin相遇会取最大值
11、左右两个元素的margin都是20,那他们的间距是多少?
左右margin不合并,只发生在上下方向。
12、如何拖动浏览器窗口大小,但是宽高比例不变
13、css垂直水平居中方法
14、flex:1代表什么
flex:1实际代表的是三个属性的简写:flex-grow:1,flex-shrink:1;flex-basis:0%
flex-grow:用来增大盒子的,比如,当父盒子的宽度大于子盒子的宽度,父盒子的剩余空间可以利用flex-grow来设置子盒子增大的占比
flex-shrink:用来设置子盒子超过父盒子的宽度后,超出部分进行缩小的取值比例
flex-basis:用来设置盒子的基准宽度,并且basis和width同时存在basis会把width干掉
、事件循环机制
、算法:爬楼梯——动态规划
先去面试了,回来再补充T-T
面试记录及复盘