百度面试题

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。
上一篇下一篇

猜你喜欢

热点阅读