美团前端二面面经

发面经,攒人品。。(二面面试官很有耐心,引导的很好。。点赞)

1. 二叉树的中序遍历实现

// Way1. 栈结构实现
function inOrder(root) {
    var res = [];
    var stack = [];
    var p = root;
    while (p || stack.length > 0) {
        while (p) {
            stack.push(p);
            p = p.left;
        }
        p = stack.pop();
        res.push(p.node);
        p = p.right
    }
    return res
}

// Way2. 递归实现
function inOrderCore(root, res) {
    if (!root) {
        return 
    }
    inOrderCore(root.left, res);
    res.push(root.node);
    inOrderCore(root.right, res);
}

function inOrder2(root) {
    var res = [];
    inOrderCore(root, res);
    return res;
}

2. 分析递归算法的时间复杂度

3. 二叉树的节点为N,那么二叉树的深度为多少,怎么推导的。。(logN)

4. 算法实现二叉树深度

function dfs(root) {
    if (!root) {
        return 0
    }else {
        var leftDepth = dfs(root.left);
        var rightDepth = dfs(root.right);
        var childDepth = leftDepth > rightDepth ? leftDepth : rightDepth;
        return childDepth + 1
    }
}

5. 闭包和JS垃圾回收机制

6. 利用闭包实现按列升降序排序函数(0表示升序,1表示降序)

function listSort(testArr, str) {
    return function (sortWay) {
        // 比较
        if (sortWay) {
            testArr.sort((a, b) => {return b[str] - a[str]})
        }else {
            testArr.sort((a, b) => {return a[str] - b[str]})
        }
        return testArr
    }
}

var testArray = [{name: 1,age: 18,mobile: 123},{name: 2,age: 19,mobile: 234},{name: 3,age: 20,mobile: 456}];

console.log(listSort(testArray, "name")(1));

7. ES6了解哪些

8. Generator的\*表示什么意思,如果在yield后加\*号表示什么

9. 介绍一下BFC

#美团##秋招##面经##前端工程师#
全部评论
收到三面通知了吗
点赞
送花
回复
分享
发布于 2019-08-29 12:32
一面面完什么时候会有下一面呀
点赞
送花
回复
分享
发布于 2019-08-29 12:41
秋招专场
校招火热招聘中
官网直投
中序遍历不需要先封装一个树?会当场让你测试一下嘛?
点赞
送花
回复
分享
发布于 2019-08-29 12:43
是现场面还是视频啊?投的哪里?
点赞
送花
回复
分享
发布于 2019-09-01 22:25
请问楼主二面问项目吗
点赞
送花
回复
分享
发布于 2019-09-10 12:05
所以楼主那个时间复杂度是多少呢
点赞
送花
回复
分享
发布于 2019-09-10 16:24

相关推荐

#简历#先说一说我自己的想法,很多人都很排斥苍穹外卖,认为没什么技术点和含金量,但实际上我觉得恰恰相反,苍穹外卖虽然代码本身并不是你自身能力的证明,但是是作为一个新人学习时很好的跳板和原始框架,在这个框架上进行的改进可以很好的辐射到你自己的个人成果上,并作为你和面试官聊天的筹码大多数人的苍穹外卖只写增删改查,千篇一律,吸引不了面试官,所以这才让大家误以为只要是苍穹外卖就不要写进简历里这种误区,但实际上如果你在原有的层面上进行改进,并作为你的项目亮点和面试官介绍,告诉他你的苍穹外卖和别人的有什么不同,增加了哪些技术难点,这才显得你是完全自己理解了这个项目,并且有自己动手实践项目的能力,而不是就看了个课程就以为自己会了,就当成自己的了,如此一来,这反而成为你的加分项苍穹外卖为什么看的人最多,说明它好啊,如果它不好,为什么看的人还这么多,想清楚这个逻辑,我觉得要做的最重要的事,就是如何在原有框架上进行改进提效,比起听其他人的话重新搞一个项目性价比高得多,而且我亲测项目并没有成为我找到工作的阻碍,我投的大厂一大半都给我面试了,而且很多不止一个部门,退一万步说,当你手头没有其他项目的时候,有苍穹外卖总比什么都没有的好很多,不需要因为苍穹外卖有任何心理负担关于简历的任何部分都欢迎大家提意见,十分感谢大家,祝大家找实习+秋招顺利上岸,offer拿到手软#简历中的项目经历要怎么写##我的上岸简历长这样##最后再改一次简历##简历##简历被挂麻了,求建议#
点赞 评论 收藏
转发
3 56 评论
分享
牛客网
牛客企业服务