【Web前端】笔试题含解析

本文精选了一系列涵盖HTML、CSS、JavaScript及算法等领域的面试题目,帮助读者全面掌握前端开发及算法基础知识。

更多最新面试题可以到我的小程序 航筱北同学 上搜索查看。
在这里插入图片描述

  1. 下面标签嵌套正确的是
    在这里插入图片描述
    A.ul只能紧挨着li
    B.a中不能再嵌套a
    C.dl dt
    D.ol li是有序排列
  2. 下面哪些是HTML5 新增的表单元素?
    在这里插入图片描述
    在这里插入图片描述
  3. 在HTML中,( )可以在网页上通过链接直接打开邮件客户端发送邮件。
    在这里插入图片描述
    mailto 后面加发送邮件地址
  4. 请选出所有的置换元素()
    在这里插入图片描述
    a) 置换元素:浏览器根据元素的标签和属性,来决定元素的具体显示内容。
    例如:浏览器会根据标签的src属性的 值来读取图片信息并显示出来,而如果查看(x)html代码,则看不到图片的实际内容;标签的type属性来决定是显示输入 框,还是单选按钮等。 (x)html中 的、、、、 都是置换元素。这些元素往往没有实际的内容,即是一个空元素。
    置换元素在其显示中生成了框,这也就是有的内联元素能够设置宽高的原因。
    b) 不可替换元素:(x)html 的大多数元素是不可替换元素,即其内容直接表现给用户端(如浏览器)。
    例如: 标签
  5. 下面哪条声明能固定背景图片()
    在这里插入图片描述
    在这里插入图片描述
  6. 下列说法正确的是()
    在这里插入图片描述
    在这里插入图片描述
  7. 以下关于盒子模型描述正确的是:
    在这里插入图片描述
  8. 下面哪个属性不会让 div 脱离文档流(normal flow)?
    在这里插入图片描述
    在这里插入图片描述
  9. 英文字母全部转为大写正确的是()
    在这里插入图片描述
    在这里插入图片描述
  10. 假设在今日头条里面,有很多工作人员检查新闻是不是属于虚假新闻,所有新闻真实率到达了98%,工作人员在检验一个真实的新闻把它检验为一个虚假的新闻的概率为2%,而一个虚假的新闻被检验为真实的新闻的概率为5%.那么,一个被检验为真实的新闻确实是真实的新闻的概率是多大?

在这里插入图片描述
在这里插入图片描述

  1. 现在有两堆石子,小今与小条玩游戏,2个人都足够聪明,两个人规定:每次每人只能从其中一堆中取走1个或2个或3个石子,后将石子全部取完的人胜利。现在两堆石子的个数为8和9,请问如何安排才能让小今必胜?
    在这里插入图片描述
    在这里插入图片描述
  2. 以下描述正确的:

在这里插入图片描述
在这里插入图片描述
13. 表toutiao_tb
在这里插入图片描述

查询title中包含cv且type是1的记录
在这里插入图片描述
在这里插入图片描述

  1. 下列关于操作系统进程与线程的区别正确的是:
    在这里插入图片描述
  2. 下面那个页面调度算法,当进程分配到的页面数增加时,缺页中断的次数可能增加也可能减少
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  3. 下列排序算法不稳定的有?

在这里插入图片描述
不稳定:快选堆希
稳 定:插冒归基

  1. 运行以下程序
    在这里插入图片描述
    y和z的最终结果为:
    在这里插入图片描述
    在这里插入图片描述
  2. 这段代码运行后的输出是:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  3. 页面有一个id为 button1的按钮,如何通过原生的js禁用?(IE 考虑IE 8.0以上版本)
    在这里插入图片描述
    在这里插入图片描述
  4. 页面有一个id为 button1的按钮,通过原生的js设置背景色为红色?
    在这里插入图片描述
    在这里插入图片描述
  5. 现在有一个字符串,你要对这个字符串进行 n 次操作,每次操作给出两个数字:(p, l) 表示当前字符串中从下标为 p 的字符开始的长度为 l 的一个子串。你要将这个子串左右翻转后插在这个子串原来位置的正后方,求最后得到的字符串是什么。字符串的下标是从 0 开始的,你可以从样例中得到更多信息。

	var line = readline();

	var n = readline();

	for(var i=0;i<n;i++){
   
   

	    var line2 = readline().split(' ');

	    var start = parseInt(line2[0]);

	    var len = parseInt(line2[1]);

	    var temp = line.substr(start,len).split('').reverse().join('');

	    line = line.slice(0,start+len) + temp + line.slice(start+len);

	}

	print(line);


  1. 你作为一名出道的歌手终于要出自己的第一份专辑了,你计划收录 n 首歌而且每首歌的长度都是 s 秒,每首歌必须完整地收录于一张 CD 当中。每张 CD 的容量长度都是 L 秒,而且你至少得保证同一张 CD 内相邻两首歌中间至少要隔 1 秒。为了辟邪,你决定任意一张 CD 内的歌数不能被 13 这个数字整除,那么请问你出这张专辑至少需要多少张 CD ?
import java.util.*;

public class Main{
   
   
    
    public static void main(String[] args){
   
   
        Scanner in = new Scanner(System.in);
        while(in.hasNext()){
   
   
            int n = in.nextInt();
            int s = in.nextInt();
            int l = in.nextInt();
            int count = (l+1)/(s+1);
            count = Math.min(n, count);
            if(count%13==0){
   
   
                count--;
            }
            int sum = n/count;
            int yu = n%count;
			if(yu!=0){
   
   
            	sum++;
            	if(yu%13==0&&(count-yu)==1){
   
   //查看最后最后一张专辑的情况
            		sum++;
            	}
            }
            System.out.println(sum);
        }
    }
}
  1. 变量a是一个64位有符号的整数,初始值用16进制表示为:0Xf000000000000000; 变量b是一个64位有符号的整数,初始值用16进制表示为:0x7FFFFFFFFFFFFFFF。 则a-b的结果用10进制表示为多少?()
    在这里插入图片描述
    在这里插入图片描述
  2. 这段代码运行后得到的结果分别是什么?
console.log(([])?true:false); 
console.log(([]==false?true:false)); 
console.log(({
   
   }==false)?true:false) 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 下列哪些是块级元素()
    在这里插入图片描述
    input是行内替换元素
  2. 下面关于跨域问题的说法正确的是?
    在这里插入图片描述
    在这里插入图片描述
  3. 以下符合 ES6 写法的有:()
    在这里插入图片描述
    在这里插入图片描述
  4. 可继承的样式属性包括()
    在这里插入图片描述
    在这里插入图片描述
  5. 堆的数据结构能够使得堆顶总是维持最大(对于大根堆)或最小(对于小根堆),给定一个数组,对这个数组进行建堆,则平均复杂度是多少?如果只是用堆的 push 操作,则一个大根堆依次输入 3,7,2,4,1,5,8 后,得到的堆的结构示意图是下述图表中的哪个?()
    在这里插入图片描述
    答案是:D
    初始建堆操作复杂度是 O(n)的.
    建堆时,由于只采取Push的操作,所以每次将新的数字Push到堆的最后一位,然后按照插入到原则,进行堆的由下至上调整.
    最终得出D为答案.
  6. http 请求方式 get 和 post 的区别包括()
    在这里插入图片描述
    在这里插入图片描述
  7. 下面哪些属于JavaScript的typeof运算符的可能结果:()
    在这里插入图片描述
    在这里插入图片描述
  8. 老王有两个孩子,已知至少有一个孩子是在星期二出生的男孩。问:两个孩子都是男孩的概率是多大?
    在这里插入图片描述
    在这里插入图片描述
    老王有两个孩子,已知至少有一个孩子是在星期二出生的男孩。问:两个孩子都是男孩的概率是多大?
  9. 下列说法正确的有:()
    在这里插入图片描述
    AB, display:none指的是元素完全不陈列出来,不占据空间,涉及到了DOM结构,故产生reflow与repaint
    visibility:hidden指的是元素不可见但存在,保留空间,不影响结构,故只产生repaint
  10. TCP断开连接的四次挥手中,第四次挥手发送的包会包含的标记,最正确的描述是?()
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  11. 页面有一个按钮button id为button1,通过原生的js如何禁用?()
    在这里插入图片描述
    上面是一段按钮的html代码 如果要用原生的js来禁用这个按钮 可以用这样: document.getElementByIdx_x_x(“btnShow”).disabled=true;(这样就把按钮禁用了) 如果要重新开启按钮,则可以让disabled=false;即可 那么在jquery下面要如何设置呢?其实也很简单 利用jquery的attr的方法即可 $(“#btnShow”).attr({“disabled”:“disabled”}); 如要让按钮恢复可用,可以采用removeAttr方法把disabled属性删除即可。 $(“#btnShow”).removeAttr(“disabled”);
  12. 关于下列 CSS 选择器:ID 选择器、类选择器、伪类选择器、标签名称选择器,排序正确的是:()
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  13. 假设 a 是一个由线程 1 和线程 2 共享的初始值为 0 的全局变量,则线程 1 和线程 2 同时执行下面的代码,最终 a 的结果不可能是()
    在这里插入图片描述
    在这里插入图片描述
    不管怎样线程对a的操作就是+1后-2
    1.线程1执行完再线程2执行,1-2+1-2=-2
    2.线程1和2同时+1,再-2不同时,1-2-2=-3
    3.线程1和2不同时+1,同时-2,1+1-2=0
    4.线程1和2既同时+1又同时-2,1-2=-1
    没有结果为1的情况
  14. 使用HTML+CSS实现如图布局,border-width:5px,格子大小是50px*50px,hover时边框变成红色,需要考虑语义化。
    在这里插入图片描述
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        table{
     
     
        /* border-collapse:separate;*/
        border: none;
        border-spacing: 0;
        }
        td{
     
     
        position: relative;
        width: 50px;
        height: 50px;
        border: 5px solid blue;
        background: #fff;
        color: green;
        text-align: center;
        line-height: 50px;
        display: inline-block;
        }
        tr:not(:first-child) td{
     
     
        margin-top: -5px;
        }
        tr td:not(:last-child){
     
     
        margin-right: -5px;
        }
        td:hover{
     
     
        border-color: red;
        cursor: pointer;
        z-index: 2;
        }
    </style>
</head>

<body>
    <table>
        <tr>
            <td>1</td>
            <td>2</td>
            <td>3</td>
        </tr>
        <tr>
            <td>4</td>
            <td>5</td>
            <td>6</td>
        </tr>
        <tr>
            <td>7</td>
            <td>8</td>
            <td>9</td>
        </tr>
    </table>
</body>

</html>
  1. 给出一个上传文件时不用刷新页面的方案,要求写出关键部分的js代码。
<input id="upload" type="file" />
<button id="upload-btn"> upload </button>
document.getElementById('upload-btn').onclick = function(){
   
   

	

	varinput = document.getElementById('upload');

	varfile 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值