今日头条2017秋招前端工程师笔试试卷

 

1、变量a是一个64位有符号的整数,初始值用16进制表示为:0Xf000000000000000;
变量b是一个64位有符号的整数,初始值用16进制表示为:0x7FFFFFFFFFFFFFFF。
则a-b的结果用10进制表示为多少?()
正确答案: C
1
-(2^62+2^61+2^60+1)
2^62+2^61+2^60+1
2^59+(2^55+2^54+…+2^2+2^1+2^0)
解:
0Xf000000000000000补码为1111000000000000000000000000000000000000000000000000000000000000
0x7FFFFFFFFFFFFFFF补码为0111111111111111111111111111111111111111111111111111111111111111
a-b=a+(-b)=
1111000000000000000000000000000000000000000000000000000000000000+
1000000000000000000000000000000000000000000000000000000000000001=
10111000000000000000000000000000000000000000000000000000000000001(高位溢出舍去)
则结果为
0111000000000000000000000000000000000000000000000000000000000001=
2^62+2^61+2^60+1
2、console.log(([])?true:false); 
console.log(([]==false?true:false)); 
console.log(({}==false)?true:false) 
得到的结果分别是什么?()
正确答案: D
false true true
true true true
true false true
true true false
解:Boolean([])//true
Number([])//0
Number(false)//0
Number({})//NaN
3、下列哪些是块级元素()
正确答案: B C D E F
input
ul
hr
li
div
form
注意:hr是块级元素;br是行内元素
4、关于跨域问题下面说法正确的是?()
正确答案: B
可以利用flash的http请求,来处理跨域问题
通过iframe设置document.domain可以实现跨域
一般情况下,m.toutiao.com可以ajax请求www.toutiao.com域名下的接口并获得响应
通过jsonp方式可以发出post请求其他域名下的接口
解:A应该是CORS;C只能跨子域,不可以用ajax;D只能用GET
5、以下符合 ES6 写法的有:()
正确答案: C 
A. class Foo
{
constructor() {return Object.create(null);}
}
Foo()

B. var m=1;
export m;

export var firstName=’Michael’;
在A模块中export{readFile}后,在B模块中import readFile from ‘A’可以获取到readFile
解:A中不能直接Foo(),Foo是类,应该var foo=new Foo();
B中export m的m要加{};
D中import readFile没加{}是default的形式,而export{readFile}却不是default形式
6、可继承的样式属性包括()
正确答案: A C
color
background-color
font-size
border
margin
解:一般与text、字体颜色、font、list相关的属性都可以继承
7、堆的数据结构能够使得堆顶总是维持最大(对于大根堆)或最小(对于小根堆),给定一个数组,对这个数组进行建堆,则平均复杂度是多少?如果只是用堆的 push 操作,则一个大根堆依次输入 3,7,2,4,1,5,8 后,得到的堆的结构示意图是下述图表中的哪个?()

 

A.O(n)

 

B.O(n) 
C.O(logn) 
D.O(n) 
正确答案: D
A
B
C
D
8、http 请求方式 get 和 post 的区别包括()
正确答案: A B 
get和post的可传输内容大小不一样,一个有限制一个没有限制
get和post传输的内容存放的位置不一样,一个放在header,一个放在body
get请求Content-type只能是text/html
get请求可以跨域、post请求不能跨域
9、下面哪些属于JavaScript的typeof运算符的可能结果:()
正确答案: A C F G 
symbol
NaN
boolean
null
array
undefined
string
10、老王有两个孩子,已知至少有一个孩子是在星期二出生的男孩。问:两个孩子都是男孩的概率是多大?
正确答案: A 
13/27
7/9
1/2
1/3
解:神技能方法http://blog.csdn.net/u012662688/article/details/52813387
11、下列说法正确的有:()
正确答案: A B
visibility:hidden;所占据的空间位置仍然存在,仅为视觉上的完全透明;
display:none;不为被隐藏的对象保留其物理空间;
visibility:hidden;与display:none;两者没有本质上的区别;
visibility:hidden;产生reflow和repaint(回流与重绘);
解:display:none产生reflow和repaint(回流与重绘);visibility:hidden只产生重绘
12、TCP断开连接的四次挥手中,第四次挥手发送的包会包含的标记,最正确的描述是?()
正确答案: C 
FIN
FIN,PSH
ACK
FIN,ACK
解:我们假设由client提出关闭,则:
第一次:FIN(client发给server)
第二次:ACK(server发给client)
第三次:FIN(server发给client )
第四次:ACK(client发给server)

13、页面有一个按钮button id为button1,通过原生的js如何禁用?()
正确答案: B D
document.getElementById(“button1”).setAttribute(“Readolny”,true);
document.getElementById(“button1”).setAttribute(“disabled”,”true”);
document.getElementById(“button1”).Readolny=true;
document.getElementById(“button1”).disabled=true;
14、关于下列CSS选择器:ID选择器、类选择器、伪类选择器、标签名称选择器,排序正确的是:()
正确答案: D
ID选择器>Class选择器>伪类=标签名称选择器
ID选择器>伪类>Class选择器>标签名称选择器
ID选择器>Class选择器>伪类>标签名称选择器
ID选择器>Class选择器=伪类>标签名称选择器
解:类选择器和伪类的优先级相同
15、假设 a 是一个由线程 1 和线程 2 共享的初始值为 0 的全局变量,则线程 1 和线程 2 同时执行下面的代码,最终 a 的结果不可能是()
boolean isOdd = false;
for(int i=1;i<=2;++i)
{
if(i%2==1)isOdd = true;
else isOdd = false;
a+=i*(isOdd?1:-1);
}
正确答案: D
-1
-2
0
1

 

解:

 

16、使用HTML+CSS实现如图布局,border-width:5px,格子大小是50px*50px,hover时
边框变成红色,需要考虑语义化。

解:弹性盒子布局
<div id="flexBox">
<div id="item">1</div>
<div id="item">2</div>
<div id="item">3</div>
<div id="item">4</div>
<div id="item">5</div>
<div id="item">6</div>
<div id="item">7</div>
<div id="item">8</div>
<div id="item">9</div>
</div>
#flexBox{
width:180px;
height:180px;
display:flex;
flex-wrap:wrap;
justify-content:space-around;
}
#item{
width:50px;
height:50px;
border:5px solid blue;
text-align: center;
line-height: 50px;
background-color:#fff;
}
#item:hover{
border-color:#f00;
cursor: pointer;
}
17、给出一个上传文件时不用刷新页面的方案,要求写出关键部分的js代码。【掌握】
解:
<input id="upload" type="file" />
<button id="btn">upload<button>

 

window.onload=function(){
	var btn=document.getElementById("btn");	
	btn.onclick=function(){
		var input = document.getElementById('upload');
	    var file = input.files[0];
	    var formData = new FormData();
	    formData.append('file',file);
	 	fetch({
		    url:'/upload',//此处写要传的地址
		    mothod:'POST',
		    body:formData
	    }).then((d)=>{
		    console.log('result is',d);
		    alert('上传完毕');
	    })
	}
}

18、给定整数n和m, 将1到n的这n个整数按字典序排列之后, 求其中的第m个数。
对于n=11, m=4, 按字典序排列依次为1, 10, 11, 2, 3, 4, 5, 6, 7, 8, 9, 因此第4个数是2. 
对于n=200, m=25, 按字典序排列依次为1 10 100 101 102 103 104 105 106 107 108 109 11 110 111 112 113 114 115 116 117 118 119 12 120 121 122 123 124 125 126 127 128 129 13 130 131 132 133 134 135 136 137 138 139 14 140 141 142 143 144 145 146 147 148 149 15 150 151 152 153 154 155 156 157 158 159 16 160 161 162 163 164 165 166 167 168 169 17 170 171 172 173 174 175 176 177 178 179 18 180 181 182 183 184 185 186 187 188 189 19 190 191 192 193 194 195 196 197 198 199 2 20 200 21 22 23 24 25 26 27 28 29 3 30 31 32 33 34 35 36 37 38 39 4 40 41 42 43 44 45 46 47 48 49 5 50 51 52 53 54 55 56 57 58 59 6 60 61 62 63 64 65 66 67 68 69 7 70 71 72 73 74 75 76 77 78 79 8 80 81 82 83 84 85 86 87 88 89 9 90 91 92 93 94 95 96 97 98 99 因此第25个数是120…
解:

var readline = require('readline')
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
})
rl.on('line', function(line) {
    //line表示读取输入数据的每一行
    //此处写你的代码,输出数据用console.log()
    var temp=line.trim().split(' ');
    var n=parseInt(temp[0]);
    var m=parseInt(temp[1]);
    var arr=[];
    for(var i=1;i<=n;i++){
        arr.push(i);
    }
    arr.sort();
    console.log(arr[m-1]);
});

缺点:这种方法很容易导致数组越界,,怎么办!!苦苦思索中..........

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明致成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值