百度前端一面面经

时间:3.26

1、讲一下你认为的什么是优美的代码,有哪些实践,项目紧急时,舍弃哪一个(健壮,复用性,优美)

eslint 这里我嘴贱说舍弃复用性,面试官说我没经历过大量项目需求的压力,不能舍弃复用性

2、设计模式

讲了下发布订阅模式,他没细问

3、闭包,原理,常用场景

当时有点紧张,乱说一通,,,

4、手撕代码,实现call,

function b(){}
function.prototype.call1 = function (that, ...pars){
   this.bind(that)(...pars)
}

我总觉得有问题

4.2 手写 son 继承 father

var son = function (name) {
    this.name = name
}
son.prototype = new father()
son.prototype.constractor = father

5、手撕代码,前序遍历二叉树

前面强行写的,代码可读性不好,而且有点冗余,解释了好久 后面他要求用递归

6、手撕代码,手写快排

他说我应该没问题(???你很了解我吗?) 还好以前写过

6.1、两边固定宽度,中间自适应

先用flex, 他说不能用flex 后面用position 然后他笑了,直接让我用float 我说我不会,尴尬

7、讲一下https

这个问题我研究了好久还跟同事分享过,一被问到就大脑空白,太悲催了 最后他问一句我答一句,整个过程拼拼凑凑

8、express中间件

简单过了一点中间件

9、会写小程序吗?

我:写过 》讲一下xxx 我:不知道

10、讲一下函数作用域和块级作用域

这个讲了下 var 和 let 的区别,var声明提前,初始化提前,let 声明提前,初始化未提前

11、js事件流,

这里我讲的浏览器的微任务,宏任务,node 我主动说的不知道,淦

12、项目中使用插件的时候有没有对比其他插件,引用别人的代码有没有看别人怎么实现的?

点赞是对小编最大的鼓励~

各位小哥哥小姐姐帮小编点一下广告,这对小编最大的鼓励哟,笔芯~

友情链接