2022届字节校招前端面经(电商业务,已OC)

非常感谢牛客网上各路大神的面经分享, 现面试结束, 也把自己的面经放出来和大家分享下,有需要内推的童鞋也可以私信我, 或者邮箱联系我 1442704671@qq.com

一面

  1. 项目介绍

  2. DNS

  3. 递归查询和迭代查询

  4. CSS 选择器优先级

  5. cookie session 区别

  6. Content-Type 有哪些

  7. 事件流 event.target 和 event.currenttarget

  8. 同源,跨域,解决方法?

  9. 复杂请求返回的状态码是什么? 如果复杂请求被拒绝后,再次发送会怎么样?

  10. 从ES6往后了解哪些新特性?

  11. 箭头函数有什么特性? 能对箭头函数使用 new 吗? 为什么?

  12. Map Set 区别? Map 和 WeakMap 区别 ?

  13. 垃圾回收机制 ?

  14. var let const 区别

  15. 作用域有哪些?

  16. Symbol 有什么特性?

  17. 可迭代接口怎么实现的?

  18. ES6往后,除了可迭代接口还出现了什么新的接口?

  19. CSS 阅读题

    <!DOCTYPE html>
    <html>
    <head>
    <style>
     .box {
       width: 10px;
       height: 10px;
       border: 1px solid red;
       margin: 2px;
       padding: 2px;
       background: blue;
     }
    
     #borderBox {
       box-sizing: border-box;
     }
    
     #contentBox {
       box-sizing: content-box;
     }
    </style>
    </head>
    <body>
    <div>请问下面两个 div 元素,蓝***域的宽高各是多少像素?</div>
    <div id="borderBox" class="box"></div>
    <div id="contentBox" class="box"></div>
    </body>
    </html>
  20. 代码阅读

    new Promise((resolve, reject) => {
    reject(1);
    })
    .catch((err) => {
    console.log(err);
    })
    .then(
    (v) => {
     console.log(v);
    },
    (k) => {
     console.log(k);
    }
    );
    // 结果:
    // 1
    // undefined
  21. 将函数改写为Promise的形式, 其中 request(id) 的返回值是一个 Promise 对象

    async function renderPage(id) {
    try {
      const data = await request(id);
      if (data.code === 0) {
          renderUI(data);
      } else {
          uploadError(data);
          toast(‘服务器错误’);
      }
    } catch (err) {
      uploadError(err);
      toast(‘渲染错误’);
    }
    }
  22. 算法
    a) 路径总和
    b) 最长不含重复字符的子字符串

二面

  1. 网络
    1. 输入url之后的过程 ?
    2. 你说 HTTPS 连接, HTTPS 是一种连接吗 ?
    3. 网络有哪几层 ?
    4. HTTP 是哪一层的 ?
    5. 建立的连接是什么连接 ?
    6. 短时间多次建立 TCP 连接每次都需要协商 TLS 秘钥吗?
    7. 为什么需要 DNS 解析 ?
    8. 地址栏直接用 IP 可以吗?
    9. 可以的话那为什么需要域名?
    10. 那像小程序这种不需要记忆的为什么要用域名, 而不是直接用 IP ?
    11. 怎么进行域名和 IP 的换绑 ?
    12. 那如果我就是不用换 IP, 前后端就都是固定的, 也有这种应用场景, 为什么还是需要域名 ?
  2. CSS
    1. div 在不知道宽高情况下水平垂直居中有哪些方法?
      1. flex
      2. absolute
        1. transform
        2. margin: auto
      3. 又问, 还有呢?
  3. 字体的颜色是什么 ? 这个 blue 是写在最后的, 没有影响吗?
<style>
.blue {
    color: blue;
}
.green {
    color: green;
}
.orange {
    color: orange; 
}
.red {
    color: red;
}
</style>
<div style="orange red green blue">text</div>
  1. 页面解析

    1. 在 HTML, CSS 解析的过程中有哪些优化的地方 ?
    2. 在 CSSOM 建立的过程中,有没有一些全局的 API 是暴露出来可供调用的 ?
  2. 跨域发送 cookie

    1. 怎么做 ?
    2. 本地能读取到另一个网站的 cookie 吗 ?
  3. 输出题
    a) 箭头函数

    let A = () => {
    console.log(1);
    }
    new A() // error

    b) 作用域

    var a = 0;
    function A() {
    this.a = 1;
    return this;
    }
    A.a = 2;
    A.prototype = {
    a: 3,
    setA(value) {
    this.a = value;
    return this;
    },
    };
    console.log(new A().a); // 1
    console.log(A().a); // 1
    console.log(a); // 1
    console.log(new A().setA(10).a); // 10
    console.log(A().setA(10).a); // error
  4. 算法

    已知数组 a=[1,[2,[3,[4,null]]]]
    实现数组 b=[4,[3,[2,[1,null]]]]
    考虑n级嵌套的情况


 /* 法一:遍历取出来,再拼接 */
 function reverse(array) {
    let tmp = [];
    let arr = array;
    while( Array.isArray(arr[1]) ) {
        tmp.push(arr[0])
        arr = arr[1];
        if (arr[1] === null){
            tmp.push(arr[0])
            break;
        }
    }
    let ans = [tmp[0], null];
    for (let i=1; i<tmp.length; i++) {
        ans = [tmp[i], ans]
    }
    return ans;
}
/* 法二:原地翻转,记录每个数组在堆中的位置 */
function reverse(arr) {
  let tmp = [];
  let t = arr;
  while (t !== null) {
    tmp.push(t);
    t = t[1];
  }
  let i = 0,
    j = tmp.length - 1;
  while (i < j) {
    [tmp[i][0], tmp[j][0]] = [tmp[j][0], tmp[i][0]];
    i++;
    j--;
  }
  return arr;
}
--------- 测试 ---------
let a = [1,[2,[3,[4,[5, null]]]]]
print(JSON.stringify(reverse(a)))

三面

  1. 自我介绍
  2. 项目介绍
  3. 为啥找前端?
  4. 我看你们实验室是复杂建模与仿真,你的研究方向和前端可视化有关吗?
  5. 讲下原型链
  6. 事件循环
  7. HTTP状态码
  8. 设计模式
    1. 熟悉哪些?
    2. 工厂模式的应用场景?
    3. 发布订阅者模式和观察者模式的区别?
  9. JS 能表示的最大安全整数是多少?
    1. 为什么?
    2. 浮点数在计算机内部是怎么表示的?
  10. 框架
    1. 熟悉什么前端框架
    2. 讲一下对 Vue 的理解
    3. React 了解吗?
  11. 实习过吗?
  12. 算法
    1. 最长回文子串
      1. 时间复杂度是多少?
      2. 还有其他方法吗?讲了dp
  13. 如果通过了的话,能来实习吗, 能实习多久?
  14. 手里有其他 offer 吗?
  15. 反问
    1. 每年两次绩效考核,和调薪以及升职挂钩
    2. 新人有导师带领,为期 4 个月左右
#字节跳动2021秋招开始了##面经##校招##字节跳动#
全部评论
我面电商的时候三面和你70%的题一样,包括算法题
1 回复 分享
发布于 2022-02-08 22:42
请问楼主是面的抖音电商吗?
点赞 回复 分享
发布于 2022-02-11 18:43
楼主参加了笔试吗?
点赞 回复 分享
发布于 2022-01-27 13:26
请问一下,"那如果我就是不用换 IP, 前后端就都是固定的, 也有这种应用场景, 为什么还是需要域名 ?",这个问题的答案是什么啊。
点赞 回复 分享
发布于 2021-10-20 14:35
是国际化电商部门吗
点赞 回复 分享
发布于 2021-10-13 20:17
请问楼主没有hr面吗
点赞 回复 分享
发布于 2021-10-11 20:55
楼主可以分享下项目吗
点赞 回复 分享
发布于 2021-09-29 18:23
请问楼主三面完多久收到通过的消息啊
点赞 回复 分享
发布于 2021-09-29 10:55
楼主。几号三面的呀
点赞 回复 分享
发布于 2021-09-28 13:04
点赞 回复 分享
发布于 2021-09-27 18:51

相关推荐

投递京东等公司10个岗位
点赞 评论 收藏
分享
06-13 17:33
门头沟学院 Java
顺序不记了,大致顺序是这样的,有的相同知识点写分开了1.基本数据类型2.基本数据类型和包装类型的区别3.==和equals区别4.ArrayList与LinkedList区别5.hashmap底层原理,put操作时会发生什么6.说出几种树型数据结构7.B树和B+树区别8.jvm加载类机制9.线程池核心参数10.创建线程池的几种方式11.callable与runnable区别12.线程池怎么回收线程13.redis三剑客14.布隆过滤器原理,不要背八股,说说真正使用时遇到了问题没有(我说没有,不知道该怎么回答了)15.堆的内存结构16.自己在写项目时有没有遇见过oom,如何处理,不要背八股,根据真实经验,我说不会17.redis死锁怎么办,watchdog机制如何发现是否锁过期18.如何避免redis红锁19.一个表性别与年龄如何加索引20.自己的项目的QPS怎么测的,有没有真正遇到大数量表21.说一说泛型22.springboot自动装配原理23.springmvc与springboot区别24.aop使用过嘛?动态代理与静态代理区别25.spring循环依赖怎么解决26.你说用过es,es如何分片,怎么存的数据,1000万条数据怎么写入库中27.你说用limit,那么在数据量大之后,如何优化28.rabbitmq如何批次发送,批量读取,答了延迟队列和线程池,都不对29.计网知不知道smtp协议,不知道写了对不对,完全听懵了30.springcloud知道嘛?只是了解反问1.做什么的?短信服务,信息量能到千万级2.对我的建议,基础不错,但是不要只背八股,多去实际开发中理解。面试官人不错,虽然没露脸,但是中间会引导我回答问题,不会的也只是说对我要求没那么高。面完问我在济宁生活有没有困难,最快什么时候到,让人事给我聊薪资了。下午人事打电话,问我27届的会不会跑路,还在想办法如何使我不跑路,不想扣我薪资等。之后我再联系吧,还挺想去的😭,我真不跑路哥😢附一张河科大幽默大专图,科大就是大专罢了
查看30道真题和解析
点赞 评论 收藏
分享
陆续:不可思议 竟然没那就话 那就我来吧 :你是我在牛客见到的最美的女孩
点赞 评论 收藏
分享
评论
6
78
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务