备战青训营笔试——前端选择题(下)

634 阅读5分钟

下半部分来了~

DAY 6

  1. 在 css 选择器当中,优先级排序正确的是?
    A. id选择器>标签选择器>类选择器
    B. 标签选择器>类选择器>id选择器
    C. 类选择器>标签选择器>id选择器
    D. id选择器>类选择器>标签选择器

  2. 如以下代码所示,给 body 绑定两个事件后,调用 document.body.click() 输出的结果是?

    document.body.addEventListener('click', () => {
    Promise.resolve().then(() => console.log(1))
    console.log(2);
    }, false);
    document.body.addEventListener('click', () => {
    Promise.resolve().then(() => console.log(3))
    console.log(4);
    }, false);
    

    A. 2, 4, 1, 3
    B. 2, 1, 4, 3
    C. 1, 2, 3, 4
    D. 1, 3, 2, 4

第一题,先上概念:

CSS选择器优先级是指在给CSS元素设置样式的时候,如果同时有多个CSS选择器同时指向一个元素,那么优先级高的选择器的元素样式会最终应用到这个元素上。

在实际开发的时候,我们给全部div设定为红色,对其中某个id的div设为蓝色,那么最终这个div为蓝色,这就是因为id选择器的优先级>标签选择器。id选择器和类选择器谁的谁的优先级更大呢?上链接:

juejin.cn/post/699458…

所以这题选D。

第二题考的异步编程,在JS的执行机制中

  • 1、遇到同步代码​直接执行
  • 2、遇到异步代码​先放一边,并且将他回调函数​存起来,存的地方叫事件队列
  • 3、等所有同步代码​都执行完,再从事件队列​中把存起来的所有异步回调函数​拿出来按顺序执行

参考:juejin.cn/post/701629…

所以第二题选A。

DAY 7

  1. 浮动会导致页面的非正常显示,以下几种清除浮动的方法,哪个是不推荐使用的?
    A. 在浮动元素末尾添加一个空的标签例如 <div style=”clear:both”>
    B. 通过设置父元素overflow值为hidden;
    C. 给父元素添加clearfix类
    D. 父元素也设置浮动

  2. 以下代码的运行结果是?

    var f = function () { console.log('1'); }//原本这里少了个换行
    function f() { console.log('2'); }
    f()
    

    A. undefined
    B. 报错
    C. 2
    D. 1

第一题,显然是选D。ABC都是常用的方法,如果父元素设置浮动,那么爷爷级元素又会受到高度坍塌​等影响,这种方法是不推荐的。更多知识:

juejin.cn/post/684490…

juejin.cn/post/698217…

第二题,函数的两种定义方式

  • 函数表达式var f = function () { console.log('1'); }
  • 函数声明式function f() { console.log('2'); }

当解析器读取js代码时,会先读取函数的声明(函数提升),var声明的变量也存在着变量提升,函数提升优于变量提升。所以f()​最开始是'2',后来被'1'覆盖了。这题选D。

相关内容:

DAY 8

  1. 下列说法正确的有哪些?
    A. visibility:hidden 表示所占据的空间位置仍然存在,仅为视觉上的完全透明
    B. display:none 不为被隐藏的对象保留其物理空间
    C. visibility:hidden 与display:none 两者没有本质上的区别
    D. visibility:hidden 回流与重绘
  2. 若主机甲与主机已已建立一条 TCP 链接,最大段长(MSS)为 1KB,往返时间(RTT)为 2 ms,则在不出现拥塞的前提下,拥塞窗口从 8KB 增长到 32KB 所需的最长时间是?
    A. 4ms
    B. 8ms
    C. 24ms
    D. 48ms

总结几种元素消失的属性:

  • display:none​不会渲染该元素,元素消失,不占位,会造成浏览器的回流与重绘
  • visibility:hidden​元素消失,占位,会造成浏览器的重绘
  • opacity: 0​透明度为0,元素看不见,占位,不会引发回流,一般情况下也会引发重绘

回流与重绘:

回流:当我们修改元素的几何位置属性,如宽度、高度时,浏览器会重新布局,这个过程就叫回流

重绘:当我们修改元素的绘制属性,如背景色、颜色等,浏览器不会重新布局,但是需要重新进入绘制阶段,这个过程就是重绘。

回流一定会触发重绘,重绘不一定会触发回流

第一题答案为AB。

更多知识:

juejin.cn/post/709714…

juejin.cn/post/709162…

第二题考察的是计算机网络,寄,根本没学过!!!

百度了一下,大概就是拥塞窗口增大的量乘以往返时间:

(32-8)*2ms=48ms

D

DAY 9

  1. 以下对HTML标签的使用,哪些是符合语义的?
    A. 使用 table 展示表格数据
    B. 使用 span 表示按钮
    C. 使用 article 展示文章内容
    D. 使用 p 标签展示文章标题
  2. 包过滤防火墙对数据包的过滤依据不包括哪些?
    A. 源IP地址
    B. 源端口号
    C. MAC 地址
    D. 目的 IP 地址

第一题,简简单单,表格是table,按钮是button,文章是article ,标题是title。选AC。

第二题,又是计算机网络!根据百度百科可知:

数据包过滤是通过对数据包的IP头和TCP头或UDP头的检查来实现的,主要信息有:

  • IP源地址

  • IP目标地址

  • 协议(TCP包、UDP包和ICMP包)

  • TCP或UDP包的源端口

  • TCP或UDP包的目标端口

  • ICMP消息类型

  • TCP包头中的ACK位

  • 数据包到达的端口

  • 数据包出去的端口

这题选C