(附完整流程)字节跳动 前端 一二三面 + HR面(已意向)

三面汇总

1.输出题目 考察函数原型链的题目
function Animal(type, age) {
  this.type = type;
  this.age = age;
}
const cat1 = new Animal('cat', '2m');
Animal.getAllInfo = function () {
  return `${this.type} ${this.age}`;
};
console.log(cat1.getAllInfo())



2.输出题目 考察闭包和作用域的题目
for(var i = 0; i < 5; i++) {
    let out = i;
    setTimeout(function()  {
        console.log(out);
    }, 2000)
}

for(var i = 0; i < 5; i++) {
    setTimeout(function(){
        console.log(i);
    }, 2000)
}

for(let i = 0; i < 5; i++) {
    setTimeout(function(){
        console.log(i);
    }, 2000)
}

3.问了ES6相关的问题(Promise、Map、Set、Symbol、Bigint、let、const、async await之类的)

4.有关于Eventloop相关的问题

5.实现双飞翼布局和圣杯布局

6. 编程题 54. 螺旋矩阵
var spiralOrder = function (matrix) {
    let rows = matrix.length, cols = matrix[0].length;
    let top = 0, left = 0, right = cols - 1, bottom = rows - 1;
    let order = [];
    while(left <= right && top <= bottom) {
        // 先去遍历top left -> top right;
        for(let col = left; col <= right; col++) {
            order.push(matrix[top][col]);
        }
        // 再去遍历top + 1 right -> bottom right
        for(let row = top + 1; row <= bottom; row++) {
            order.push(matrix[row][right]);
        }

        if (left < right && top < bottom) {
            // 再去遍历bottom right - 1 -> bottom left
            for(let col = right - 1; col > left; col--) {
                order.push(matrix[bottom][col]);
            }

            // 再去遍历bottom left -> top + 1 left
            for(let row = bottom; row > top; row--) {
                order.push(matrix[row][left]);
            }
        }

        // 最后分别改变l、r、t、b
        [left, right, top, bottom] = [left + 1, right - 1, top + 1, bottom - 1];
    }
    return order;
};



7. 编程题 42. 接雨水
/**
 * @param {number[]} height
 * @return {number}
 */
var trap = function(height) {
    // 先从左到右
    let maxLeft = new Array().fill(0);
    maxLeft[0] = height[0];
    for(let i = 1; i < height.length; i++) {
        maxLeft[i] = Math.max(maxLeft[i - 1], height[i]);
    }

    // 从右到左
    let maxRight = new Array().fill(0);
    maxRight[height.length - 1] = height[height.length - 1];
    for(let i = height.length - 2; i >= 0; i--) {
        maxRight[i] = Math.max(maxRight[i + 1], height[i]);
    }

    // 然后做取最小
    let area = 0;
    for(let i = 0; i < height.length; i++) {
        area += Math.min(maxLeft[i], maxRight[i]) - height[i];
    }
    return area;
};

8. React相关的问题(hooks相关)

9. 性能优化系列(CDN、gzip、http2.0)

10. 前端工程化(Webpack相关)

11. Cookie相关(设置、更新、删除的方式、http only)和Session的区别

12. 编程题 200. 岛屿数量
/**
 * @param {character[][]} grid
 * @return {number}
 */
var numIslands = function (grid) {
    if(!grid) {
        return 0;
    }
    let rows = grid.length, cols = grid[0].length;
    let ret = 0;
    for (let i = 0; i < rows; i++) {
        for (let j = 0; j < cols; j++) {
            if (grid[i][j] === '1') {
                ret++;
                dfs(grid, i, j);
            }
        }
    }
    return ret;
};

var dfs = function (grid, i, j) {
    if(i < 0 || j < 0 || i >= grid.length || j >= grid[0].length) {
        return;
    }
    if (grid[i][j] === '0') {
        return;
    }
    grid[i][j] = '0';
    dfs(grid, i + 1, j);
    dfs(grid, i - 1, j);
    dfs(grid, i, j + 1);
    dfs(grid, i, j - 1);
}

13. 编程题 手写深拷贝、访问对象的 a.b.c.d.e那道递归题

其他的忘记了 没有记录

流程:
1. 面试(技术面一共三轮,其中最后一面为ld面)(2天完成)
2. HR面试(有的部门可能没有)(1天)
3. HR通知面试通过,offer在审批阶段(1天)
4. offer审批通过,hr发放意向书(1天)
5. 9~11月份谈薪资(等待)

字节效率不得不说是真的快,中间一点拖拉都没有。


#字节跳动2021校招研发提前批开始啦##字节跳动##校招##前端工程师#
全部评论
楼主投的什么地方的啊?
1 回复 分享
发布于 2021-07-22 15:35
另外有问题的同学也可以私信我
点赞 回复 分享
发布于 2021-07-22 11:04
lz啥部门?
点赞 回复 分享
发布于 2021-07-22 12:03
lz,三面主要问的什么啊?
点赞 回复 分享
发布于 2021-07-22 14:05
lz参加的是校招提前批吗 哪个部门啊
点赞 回复 分享
发布于 2021-07-22 14:49
楼主没有项目吗?算法是每次都会面吗
点赞 回复 分享
发布于 2021-07-22 15:46
楼主都正确率大概是多少呢
点赞 回复 分享
发布于 2021-07-22 16:17
太牛了。。这么快。。
点赞 回复 分享
发布于 2021-07-24 18:42
请问楼主,三面的性能优化是需要展开到什么程度?
点赞 回复 分享
发布于 2021-07-26 16:18
好家伙,全是手写的
点赞 回复 分享
发布于 2021-07-30 13:16
膜拜
点赞 回复 分享
发布于 2021-08-01 18:29
沾沾楼主喜气
点赞 回复 分享
发布于 2021-08-02 00:07
沾沾喜气
点赞 回复 分享
发布于 2021-08-10 17:57
沾喜气!
点赞 回复 分享
发布于 2021-08-19 09:32
请问楼主,三面主要问的啥呀
点赞 回复 分享
发布于 2021-08-30 23:34

相关推荐

不愿透露姓名的神秘牛友
2024-12-18 15:35
程序员牛肉:完全是在胡写简历。 我很好奇你干嘛要在教育经历里面写你是软件二班的班长?你写它的目的是什么?我觉得真的就是很突兀。给我第一感觉就是:你真的是一个心智健全的成年人吗? 另外我也很好奇你是怎么做到参加了这么多所谓的计算机比赛,完事儿一个拿得出手的项目都没有。 自己的项目经历还是图书馆管理系统这种垃圾东西……我的的建议是你都不如大幅度删减一下自己的水奖项,看着真的给人一种又水又学傻了的感觉。 计算机不看奖项,看院校和个人能力。 计算机是强工科,你要投后端的你就应该明白,人家招你进去是指望你干活儿的。那你觉得你这份简历有展示出你的后端水平吗? 你动动你的脑子想一想,人家面试官要想通过你的简历看出你的项目开发能力,最重要的板块就是两个,第一个是你的实习,第二个是你的项目。你没有实习,是不是就应该在项目上好好琢磨琢磨? 你自己看看你项目写的什么描述,你作为一个要后端岗位的应届生,你对你自己项目的描述还仅仅停留在使用mySQL,使用JAVA,使用spring boot框架。给人一眼感觉就感觉完全就是你做的玩具。可能就是你哪一个学期做的课设。 对于应届生来讲,在项目板块要尽量突出自己的技术能力,因为谈业务你肯定也不懂。简单来讲,你的项目要清晰准确的表达:你用哪种技术解决了现有的哪种技术问题,带来了多少的效益提升? 所有关于项目的描述都围绕我说的这种表达方式去写。不要自己自嗨式的写一堆垃圾上去 你既没有实习项目,又没有一个比较好一点的项目,而且院校也比较差,所以找工作会异常的难找。
点赞 评论 收藏
分享
评论
8
69
分享

创作者周榜

更多
牛客网
牛客企业服务