牛客网大厂前端试题

记录一下做牛客网试题
题卷都是学长推荐的,关于前端的

—————————————————
“那些优秀的程序员没有一个是靠老师教出来的,都是靠自己“

字节跳动2017校招

(2021.1.18共22道题,前面是知识点(干货的感觉,得知道,得会用),最后是读程序和编程题)
嵌套
搭配使用:
ul和li无序列表
ol和li有序列表
HTML5新增的表单元素
datalist,keygen,output
在HTML中,在网页上通过链接直接打开邮件客户端发送邮件
mailto后为收件人地址; tel最常用js一键拨号;(结合a标签使用)
在这里插入图片描述
置换元素
html中的img,input,textarea,select,object都是置换元素,这些置换元素往往没有实际内容,即是一个空元素。
ps置换元素是指:浏览器根据元素的标签和属性,来决定元素的具体显示内容。
例如:浏览器根据标签的src属性显示图片。根据标签的type属性决定显示输入框还是按钮。
ps非置换元素
浏览器中的大多数元素都是不可置换元素,即其内容直接展示给浏览器。
例如

标签里的内容会被浏览器直接显示给用户。
背景图片的
background-attachment :定义背景图片随滚动轴的移动方式
取值: scroll | fixed | inherit
scroll: 随着页面的滚动轴背景图片将移动
fixed: 随着页面的滚动轴背景图片不会移动
inherit:规定应该从父元素继承 background-attachment 属性的设置。
psbackground-origin
属性规定 background-position 属性相对于什么位置来定位。
background-clip
属性规定背景的绘制区域。
某些表现形式
display:none可以理解为看不见摸不着
visibility:hidden可以理解为看不见摸得着
display: none和visibility:hidden的区别就是visibility:hidden会保留元素的空间
repaint(重绘) ,repaint发生更改时,元素的外观被改变,且在没有改变布局的情况下发生,如改变outline,visibility,background color,不会影响到dom结构渲染。
reflow(渲染),与repaint区别就是他会影响到dom的结构渲染,同时他会触发repaint,他会改变他本身与所有父辈元素(祖先),这种开销是非常昂贵的,导致性能下降是必然的,页面元素越多效果越明显。
所以display:none才会产生reflow
visibility:hidden只会出发repaint

盒子模型
标准盒子模型 = margin + border + padding + content (content = width | height)
IE盒子模型 = margin + content (content = border + padding + width | height)

脱离文档流
一个元素脱离文档流后,其他的元素在定位时候回当做没看见他,两者位置重叠都是可以的。 2、脱离文档流不是从dom树中脱离,用浏览器的审查元素可以看到脱离文档流的元素,依然会出现在dom树里 3、实质: 脱离文档流,也就是将元素从普通的布局排版中拿走,其他盒子在定位的时候,会当做脱离文档流的元素不存在而进行定位。需要注意的是,使用float脱离文档流时,其他盒子会无视这个元素,但其他盒子内的文本依然会为这个元素让出位置,环绕在周围。而对于使用absolute positioning脱离文档流的元素,其他盒子与其他盒子内的文本都会无视它。
position: absolute;生成绝对定位的元素,相对于static 定位以外的第一个父元素进行定位;都绝对定位了,肯定脱离了文档流。。
position: fixed;生成绝对定位的元素,相对于浏览器窗口进行定位;相对于浏览器了,也和正常顺序排下来没什么关系。。
position: relative;生成相对定位的元素,相对于其正常位置进行定位。生成相对定位,也就是说还在原本的上下左右之间,上下左右的元素都不变,所以这个没有能脱离文档流
float: left;都浮动出去了,还上哪保持原位置去

某些书写形式
text-transform:capitalize是首字母大写
text-transfrom:lowercase是全部字母为小写
text-transfrom:uppercase是全部字母为大写
font-weight: bold;字体为粗体,

网络技术的一些
HTTP的端口号是80,https的端口号是443
网络模型

OSI七层模型
7 应用层:允许访问网络资源。 通信单位:报文(指的是TCP/IP协议里广义的应用层 )
6 表示层:数据的转换,加密,压缩
5 会话层:建立,管理,终止会话
4 运输层:提供可靠的进程到进程的交付和差错恢复。
3 网络层:从源到终点传送分组,提供网络互联。通信单位 数据报
2 数据链路层:将比特组织成帧结构,提供逐跳交付。通信单位 帧
1 物理层:经过媒体传送比特
2.TCP与UDP
UDP( User Datagram Protocal, 用户数据报协议 )
面向数据报的不可靠的 传输层通信协议
UDP不能保证可靠传输,也就更不能保证所发送的数据的到达顺序,它所实现的是尽最大的努力交付。
UDP是面向数据报文的、无连接的协议,因此它的开销低并且发送器前的时延小(因为不用建立连接啊),面向报文也使得IP层在传输UDP协议的报文时既不会拆分也不会合并。
UDP可以支持一对一、一对多、多对一、多对多的通信。
UDP没有拥塞控制功能,它的发送速率不会随着网络出现的拥塞而降低,所以它的实时性较好。这也是许多视频聊天应用采用它的原因。

TCP( Transmission Control Protocol, 传输控制协议 )
面向连接的、可靠的、基于字节流的传输层通信协议
TCP协议保证可靠传输,也就是说发送的数据是什么样,接收的数据也是什么样。
TCP协议是有连接的、面向数据流的协议。有连接是说数据传送前通信双方需要建立连接、通信完毕后需要断开连接,不过这里所提到的连接都是逻辑上的连接。面向数据流的意思是说发送方应用程序发送的数据是什么顺序,接收方应用读取的接收到的数据也是什么顺序。
TCP协议提供的是端到端的通信,也就是说一条TCP连接只能提供一对一的通信。不过,一个应用可以同时建立多条TCP连接来实现与多个目标的通信。
TCP协议提供拥塞控制功能,会在网络状况良好的情况下适当提高发送/接收速率,反之则适当降低发送/接收速率。这样,将会提高对网络的利用率。

知识
在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位

算法
LRU全称是Least Recently Used,即最近最久未使用的意思。LRU算法的设计原则是:如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小。也就是说,当限定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。

FIFO(First in First out),先进先出。在FIFO Cache设计中,核心原则就是: 如果一个数据最先进入缓存中,则应该最早淘汰掉 。也就是说,当缓存满的时候,应当把最先进入缓存的数据给淘汰掉。

LFU(Least Frequently Used)最近最少使用算法。它是基于“如果一个数据在最近一段时间内使用次数很少,那么在将来一段时间内被使用的可能性也很小”的思路。

注意LFU和LRU算法的不同之处,LRU的淘汰规则是基于访问时间,而LFU是基于访问次数的。

排序
稳定排序有:插入排序、冒泡排序、归并排序
不稳定排序:希尔排序、快速排序、选择排序、堆排序

操作
bgcolor是标签属性,只有body和table tr td 元素有该属性,可以设置背景颜色,其他标签使用bgcolor没有效果

使用js改变bgcolor 的语句为
document.body.bgColor=“red”; 或
document.getElementById(“table tr td 元素的id”).bgColor=“red”;

以上为牛客网试题下的解析,有的也是网上摘抄的,我自己能看懂的,还有编程题部分没有列出来

  1. List item

字节跳动2017秋招

(2021.1.20。共18道题)
这是简书上的试题解答https://www.jianshu.com/p/d3df6ae95d08
https://www.jianshu.com/p/d3df6ae95d08
做完后感觉好难
感觉要学习的还有很多啊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值