字节跳动2017笔试题(1)---- 解析

前面的话

这套题考点不是很难,包括简单的HTML、CSS、JS考点;计网、数据结构、操作系统考点也是比较基础的;还包括一道概率论的题;算法题必考。下面分析一下这套题,同时也帮助自己复习。(题目来源牛客网)

解析
(1) 下面哪些是HTML5 新增的表单元素?
A: 	datalist
B: 	optgroup
C:  output
D:  legend

HTML5新增的表单元素就3个: datalist、output、keygen

  • datalist: 定义输入框的选项列表,该元素与input元素结合使用。
  • output: 用于不同类型的输出,该元素必须写在表单元素form里面
    其value值一般由js来控制。
  • keygen: 用于表单的密钥生成字段,作用是提供一种验证用户的可靠方法。

具体操作:HTML5新增表单元素

(2) 在HTML中,( )可以在网页上通过链接直接打开邮件客户端发送邮件。
A: <a href=”telnet:ming.zhou@nowcoder.com”>发送邮件</a>
B: <a href=”mail:ming.zhou@nowcoder.com”>发送邮件</a>
C: <a href=”mailto:ming.zhou@nowcoder.com”>发送邮件</a>
D: <a href=”ftp:ming.zhou@nowcoder.com”>发送邮件</a>

超级链接可以扩展网页的功能,比较常用的有发电子邮件,FTP,以及Telnet远程连接,完成以上功能,只需修改href的值。

  • 发电子邮件:<a href = "mailto:邮件地址">给我发email</a>
  • FTP连接:<a href = "ftp://服务器IP地址或域名">链接的文字</a>
  • Telnet连接:<a href = "telnet://服务器IP地址或域名">链接的文字</a>
(3) 请选出所有的置换元素()
A: img
B: input
C: textarea
D: select

常见的置换元素:<img> <input> <textarea> <select> <object>

(4) 下面哪条声明能固定背景图片()
A: background-attachment:fixed;
B: background-attachment:scroll;
C: background-origin: initial;
D: background-clip: initial;
  • background-attachment 有三个属性值:scroll是默认值,背景图像会随着页面其余部分的滚动而移动; fixed当页面的其余部分滚动时,背景图像不会移动。inherit规定应该从父元素继承。
  • background-origin:该属性规定 background-position 属性相对于什么位置来定位。语法: background-origin: padding-box|border-box|content-box;
  • background-clip: 规定背景的绘制区域。语法: background-clip: border-box|padding-box|content-box;
(5) 下列说法正确的是()
A: display: none;不为被隐藏的对象保留其物理空间;
B:visibility:hidden;所占据的空间位置仍然存在,仅为视觉上的完全透明;
C: visibility:hidden;产生reflow和repaint(回流与重绘);
D:visibility:hidden;与display: none;两者没有本质上的区别;
  • display:none : 不为隐藏的对象保留位置,产生回流与重绘
  • visibility: hidden : 为隐藏的对象保留位置,只产生重绘。
(6) 以下关于盒子模型描述正确的是:
A:标准盒子模型中:盒子的总宽度 = 左右margin + 左右border + 左右padding + width
B:  IE盒子模型中:盒子总宽度 = 左右margin + 左右border + width
C:标准盒子模型中:盒子的总宽度 = 左右margin + 左右border + width
D: IE盒子模型中:盒子总宽度 = width
  • IE模型: width = 左右border + 左右padding + content
    总宽度 = 左右margin + width
    在这里插入图片描述
  • 标准盒模型: width = content
    总宽度 = 左右margin + 左右border + 左右padding + width
    在这里插入图片描述
(7) 下面哪个属性不会让 div 脱离文档流(normal flow)?
A:position: absolute;
B: position: fixed;
C:position: relative;
D: float: left;
  • position: absolute : 完全脱离
  • position: fixed: 完全脱离
  • position:relative: 不脱离
  • float: left: 脱离
(8) 运行以下程序,y和z的最终结果为:
<script> 
    var m= 1, j = k = 0; 
    function add(n) { 
        return n = n+1; 
  } 
    y = add(m); 
    function add(n) { 
        return n = n + 3; 
    } 
z = add(m); 
</script> 

当声明了多个同名函数时, 后面的函数会覆盖前面的函数 ,所以在题目中,事实上只有后面的add(n)起了作用,因此,两个结果都为4

(11) 输出结果是什么?
(function() {
      var a = b = 5;
  })();   
console.log(b);
console.log(a);
  • var a = b = 5;相当于var a = b; b = 5; 由于b没有使用var声明,将其看做全局变量,相当于下面这段代码

    var b = 5;
    (function() {
          var a = b;
      })();   
    console.log(b);
    console.log(a);
    

    所以console.log(b) 返回 5;

  • 由于function是一个立即执行函数,全局访问不了局部的变量,所以console.log(a)返回不了局部声明的a,外部又没有声明a,所以会报错。

(10) 以下描述正确的:
A: Http协议所使用的运输层协议是UDP
B:Https的端口号是443
C: TCP注重数据可靠性,UDP注重数据传输快
D:传输层提供端到端的可靠报文传递和错误恢复
  • HTTP协议所使用的运输层协议是tcp
  • HTTP的端口是80,HTTPS的端口是443
  • TCP提供可靠传输,UDP是不可靠的
  • TCP 具有拥塞控制机制,可以实现快速恢复
(11) 页面有一个按钮button id为 button1,通过原生的js如何禁用?(IE 考虑IE 8.0以上版本)
A:document.getElementById("button1").readolny= true;
B: document.getElementById("button1").setAttribute(“readolny”,”true”);
C:document.getElementById("button1").disabled = true;
D: document.getElementById("button1").setAttribute(“disabled”,”true”);

有这么两种方法:

  • document.getElementById(“button1”).disabled = true;
  • document.getElementById(“button1”).setAttribute(“disabled”,“true”);

readonly字段表示只读,不能修改。
readonly对button是不起作用的,对input有效

(12) 假设在今日头条里面,有很多工作人员检查新闻是不是属于虚假新闻,所有新闻真实率到达了98%,工作人员在检验一个真实的新闻把它检验为一个虚假的新闻的概率为2%,而一个虚假的新闻被检验为真实的新闻的概率为5%.那么,一个被检验为真实的新闻确实是真实的新闻的概率是多大?
A: 0.9991
B: 0.9989
C:0.9855
D: 0.96
  • 分析条件得到:真的新闻:98%,假的新闻:2%;真的->假的:2%,假的->真的:5%

  • 分析要求:被检验为真实的新闻确实是真实的新闻

  • 首先要明确被检验为真实的新闻包括了(本来是真的和本来是假的)所以分母扩大为(真->真+假->真)

  • 结果为:(真->真)/(真->真+假->真) = (98%(1-2%))/(98%(1-2%)+2%*5%) = 0.9604/0.9614 = 0.9989…

(13) 现在有两堆石子,小今与小条玩游戏,2个人都足够聪明,两个人规定:每次每人只能从其中一堆中取走1个或2个或3个石子,最后将石子全部取完的人胜利.现在两堆石子的个数为8和9,请问如何安排才能让小今必胜?
  • 首先要明白一点,只要是去取得时候正好的4的倍数,取得那个人就输了,比如4,不管取走几个,剩下的都可以直接拿走;再比如8,不管取走几个,另一个人拿的时候都可以给对方留下4个,所以只要给对方留下4的倍数,对方就输了

  • 所以,小今先去取9个的那一堆拿走一个,接下来小条去哪堆取,小今也去哪堆取,根据小今取得个数,给小条留下4的倍数(实际问题是4个)就行了

(14) 下列关于操作系统进程与线程的区别正确的是:
A: 进程是资源分配的基本单位
B: 线程是资源分配的基本单位
C: 进程是资源调度的基本单位
D: 线程是资源调度的基本单位
  • 进程是资源分配的最小单位,线程是CPU的调度的最小单位
(15) 下面那个页面调度算法,当进程分配到的页面数增加时,缺页中断的次数可能增加也可能减少
A: FIFO算法
B: LRU算法
C: Clock算法
D: LFU算法

Belady现象: 当进程分配到的页面数增加时,缺页中断的次数可能增加也可能减少。
只有FIFO算法才会产生Belady现象,其他算法不会产生。

参考:页面置换算法

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
字节跳动是一家中国的科技公司,总部位于北京,成立于2012年。它是一家以智能内容推荐算法为核心的技术公司,旗下拥有多个知名的移动应用,如抖音、今日头条等。 字节跳动的Java笔试题主要考察对Java编程语言的理解和应用能力。具体题目可能会涵盖Java基础知识、面向对象编程、多线程、集合框架等方面。 对于这样的笔试题,可以尝试以下思路进行回答: 1. 首先,对题目进行仔细阅读和理解。确保对题目要求有清晰的认识,明确自己需要实现的目标。 2. 根据题目要求,分析需要使用哪些Java的特性和知识来解决问题。例如,如果题目要求涉及到集合操作,可以选择合适的集合类和方法;如果题目涉及到多线程,可以使用线程类和相关同步机制。 3. 根据自己对问题的理解,进行算法设计和编码。可以使用IDE等开发工具进行编码和调试。 4. 在编码过程中,注意代码的规范性、可读性和可维护性,注重代码的复用和优化。 5. 完成编码后,进行测试和调试。使用不同的测试用例验证代码正确性,并修复可能出现的bug。可以使用调试工具帮助定位和解决问题。 6. 完成代码的编写和测试后,可以进行代码的优化和改进。例如,可以考虑使用更高效的算法、减少内存和时间消耗等。 最后,可以将自己的解决方案进行整理和总结,提炼出解题的关键思路和方法。这样能够进一步加深对Java编程语言的理解和应用能力。同时,也可以在面试过程中展示自己的编程能力和解决问题的思维模式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值