字节跳动一面

字节跳动一面问题,后续学习地更深入之后一点一点补充

菜鸟一枚,还有很多东西没学,抱着学习的心态投的简历
面试官很和善(偷偷说一句长得像万万没想到里的白客,不过摄像头很高,一直都没有看到嘴巴,emmm…),一直都在“嗯嗯”,感觉我都觉得自信了不少哈哈,最后可能自己都把自己无奈到了,居然越面心态越轻松
因为我自我介绍的时候奠定了个基础,说还有很多东西没学,然后就问我都学了些啥。所以我的问题对于你们来说都不难,毕竟我好多都不会,没办法深入问。。。
记忆中的问题:
1、position都有哪些值
absolute和relative的区别和认识(我只知道这两个。。。)
定位 = 定位方式(position)+ 边偏移(left/top/right/bottom)
其中,position设置的是定位方式,默认static(标准流),没有边偏移;
relative相对定位:是相对自身进行偏移,原来在标准流中占有的位置继续占有,即不脱标;
absolute绝对定位:相对于最近一级的有定位的祖先元素进行偏移,有定位指的是position不是默认的static即可。若没有祖先元素或者祖先元素没有定位,则相对于浏览器进行偏移,绝对定位不再占有原来的位置,即脱标;
fixed固定定位:元素固定于浏览器可视窗口的位置,跟父元素没有任何关系,不随滚动条而滚动,不再占有原来的位置;
sticky粘性定位:以浏览器可视窗口为参照,占有原来的位置,必须至少添加边偏移(left/top/right/bottom)中的一个才有效。但兼容性差,使用较少。

2、display都有哪些值
(1)元素显示模式的转换:block、inline、inline-block
块级元素block:包括h1~h6、div、p、ul、ol、li等,块级元素会独占一行,可以设置width、height、margin、padding;块级元素添加absolute/fixed,若不给宽高,默认大小是其内容的大小,不再独占一行,直接脱标,且会压住后面的盒子里的内容
行内元素inline:包括a、span、em、i、strong等,一行上可显示多个行内元素,行内元素的宽高直接设置是无效的;行内元素添加absolute/fixed,可直接设置宽高
行内块元素inline-block:包括img、input、td、form等;一行可显示多个,但每个之间会有空白缝隙,本身宽度为其内容宽度,可以设置width、height、margin、padding;
元素模式转换,即将元素转换为另一个模式,则拥有另一个模式的特性。
(2)元素的隐藏:block、none为成对出现
display:none; 隐藏元素,隐藏后不再占有原来的位置;
display:block; 显示元素/元素转换为块级元素 两种用法。

介绍一下flex布局

3、CSS布局构造一个三角形(这题刚刚看过的,窃喜)
在这里插入图片描述

width: 0;
height: 0;
border: 10px solid transparent;
border-right-color: red;

也可以这样:

width: 0;
height: 0;
border-style: solid;
border-width: 10px 10px 10px 0;
border-color: transparent;
border-right-color: red;

将左边的border设置为0,会减少不必要空间的浪费,也可以通过改变不同的border-width的值构造不同的三角形(如不等边的直角三角形)
如果需要将三角形方向换一下,可以改变border-width的值和那一边color的值,也可以使用transform:rotate(90reg)进行旋转

4、ES6了解哪些
let:
const:
解构赋值:
模板字符串:
箭头函数:
简化对象写法:
三点运算符:

5、使用二分法返回一个数组中某个数的index
6、算法题:数组a和b存储的是数的每一位,写一个函数返回一个数组,是a和b相加后的结果的每一位

let a = [1,2,3,4,5]
let b = [2,7]
return [1,2,3,7,2]

7、原型链
8、http和https的区别,需要更深入了解,不只局限于安全性
9、TCP和UDP的区别,我就说了两条,感觉了解的太浅显
他们都是传输层的协议,
TCP,传输控制协议,他是一个可靠的,面向连接的协议,允许从一台机器发出的字节流正确无误地交付到互联网上的另一台机器。它把输入的字节流分割成离散的报文,并把每个报文传递给互联网层。在目标机器,接收TCP进程把收到的报文重新装配到输出流中。TCP还负责处理流量控制和拥塞控制,以便确保一个快速的发送方不会因为发送太多的报文而淹没掉一个处理能力跟不上的慢速接收方。
UDP,用户数据报协议,它是一个不可靠的、无连接的协议。被广泛应用于那些一次性的基于客户机-服务器类型的“请求-应答”查询应用,以及那些及时交付比精确交付更加重要的应用,比如语音或者视频。

10、网页加载的流程
假设是访问http://www.baidu.com/index.html
(1)浏览器确定URL
(2)浏览器请求DNS查询服务器www.baidu.com的IP地址
(3)DNS返回www.baidu.com的IP地址:(假设是)128.208.3.88
(4)浏览器与IP为128.208.3.88的机器的80端口建立一个TCP连接(80端口是HTTP协议的知名端口)
(5)浏览器发送HTTP报文,请求/index.html页面
(6)www.baidu.com服务器发回页面作为HTTP响应
(7)如果该页面包括需要显示的URL,那么浏览器经过同样的处理过程获取其他URL,包括内嵌图像、内嵌视频等
(8)浏览器显示页面/index.html
(9)如果短期内没有向同一个服务器发出其他请求,那么会释放TCP连接

11、DNS解析
DNS,Domain Namw System,域名系统。
DNS解析:调用方输入一个主机名,调用名为解析器的库程序,解析器向本地DNS服务器发送一个包含该名字的请求报文;本地DNS服务器查询该名字,并返回一个包含该名字对应IP地址的响应报文给解析器,然后解析器再将IP地址返回给调用方。

12、浏览器缓存机制
13、操作系统
14、服务器端通信
15、加载机制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值