百度面试题
2019-10-22 本文已影响0人
lixingyang
1、请分析以下代码执行结果
['1', '3', '10'].map(parseInt);
2、请分析以下代码执行结果
var number = 10;
function fn() {
console.log(this.number);
}
var obj = {
number: 2,
show: function(fn) {
this.number = 3;
fn();
arguments[0]();
}
};
obj.show(fn);
3、请写出 inner 的实际高度。
<style>
.outer {
width: 200px;
height: 100px;
}
.inner {
width: 60px;
height: 60px;
padding-top: 20%;
}
</style>
<div class="outer"><div class="inner"></div></div>
4、手写一个深拷贝函数。
5、HTTP 状态码 301 302 304 403。
6、手写发布订阅模式 EventEmitter。
7、手写一个多表查询的 sql 语句。
当时用的是 left join 实现。
8、react 高阶函数的写法,通常有哪几种。
第一种是通过工厂模式直接 wrapper,第二种是通过组件反向继承的方式。
// 反向继承方式写法如下
class A extends B{
render() {
return (
<div>component1 start</div>
super.render()
<div>component1 end</div>
)
}
}
9、delete 数组的 item,数组的 length 是否会 -1。
不会。
10、mongoDB 中的 BSON 是什么?
B 代表二进制。
11、关系型数据库和 nosql 查询效率谁高?
关系型是 B+ tree 查询效率相对较高。
12、使用 node app.js 开启服务,如何让它在后台运行。
开启守护进程,在命令后加上 & 符号,表示开启守护进程来执行。
node app.js &
13、尽可能写出更多的数组副作用方法。
splice、push、pop、shift、unshift。
sort、fill、reverse。