字节前端实习一面+二面+三面面经(已OC)

一面(2021-11-29)

  1. 自我介绍
  2. 是大三吗?相关的专业课学了啥?
  3. 有学操作系统吗?编译原理学了吗?
  4. 讲一下 var let const 的区别?
  5. 块级作用域是一个什么概念?
  6. 对于引用类型的理解?
    a. string是个基本类型,但是它的string.length是怎么实现的?(包装类)
  7. JS 引擎是单线程还是多线程?
  8. 作为一个单线程,是怎么实现并发请求的?(异步,任务队列)
  9. 任务队列了解吗?
  10. Promise 了解吗?
  11. Promise 存在哪些状态?
  12. async await 用法用过吗?
  13. 说到回调地狱了,问一个简单的问题?
  14. es6:你是怎么学的这一块?
  15. 操作系统没太好好学是吧,计算机网络还行?
  16. 操作系统巴拉巴拉?(面试官:算了算了不问了 我:我太菜了)
  17. TCP 和 UDP 的区别?
  18. TCP 的拥塞控制,网络拥塞会有一个变慢的行为,详细说说?
    a. 你这是自己学的?
  19. 扩展题:同样大小的数据包,一个通过TCP,一个通过UDP,哪个更快?哪些因素
    会影响?
  20. 项目,vue 的单向数据流?
  21. 改写成async await的形式
    pro1().then(
    pro2().then(
      pro3().then(
         pro4().then(
             pro5().then()
         )
       )
    )
    )
  22. vuex 如何实现状态管理的?
  23. 了解 VDOM 吗?讲讲
  24. vue-router 单页多页应用的区别?
  25. 单页相对于多页有什么优势?有什么缺点?
  26. 首屏加载优化?单页的优化?
  27. vue 用啥学的?看的啥视频啊?
  28. 路由懒加载,一点点相关的问题?
  29. 代码题!判断对象里的依赖有没有循环引用?
    a. 树的结构,某一个节点可能被上几层的节点引用、
    (有点像 将树的每一条路线比作链表 判断是否有环 递归)
    type FileType{
    name: String,
    path; String,
    importFileList: FileType[](这个数组中存放的就是这个对象引用的对象)
    }

二面(2021-11-29)

一面和二面是同一天面完的

  1. 挑一个项目讲讲,都说也行

  2. 网易云音乐的登陆注册是怎么做的?

    Q: 下个星期再来的时候状态还在吗?
    A: 还在,返回一个token,设置一个有效时间,token在的话就可以
    Q: 保存在本地是保存在哪?
    A: vuex 和 localstorage 结合
    Q:. 有没有想过这个过程会不会存在什么问题?
    A: 每次请求都要添加到请求头里,麻烦
    Q: cookie 不安全,是什么意思?
    A: document.cookie进行修改,造成CSRF攻击。和后台的交互,会存在跨域。
    Q:后端接口的数据是怎么获取的?
    A:通过axios请求获取
    Q:都会跨域,所以跨域就不是cookie的问题,为什么不用相同的域名呢,token保存在本地,怎么保证不会被本地修改?cookie没有加密吗?是明文传输吗?
    Q:页面往localstorage里面存一些东西怎么操作?
    A:setItem,getItem

  3. localstorage,sessionstorage,cookie有什么差异?

  4. cookie 里 标记为http-only,secure,有什么影响?

  5. 标记了http-only的话还能使用document.cookie修改cookie吗?(不能了,这里当时确实没有考虑到)

  6. 所以在这种情况下cookie也是一个相对安全的东西呀

  7. 手机号邮箱登录的问题,写正则匹配邮箱?可以写一下吗?

  8. 官网权限限制怎么做的?
    a. 状态码,标志位

  9. 所以一共有多少种划分?
    a. 两种

  10. 我想对内部成员进行细化划分,怎么实现?
    a. 继续添加状态位

  11. css 样式自己写的多一点还是第三方组件用的多?

  12. 盒模型能说一下吗

  13. 回流和重绘

  14. ES6 的东西,就你了解的,哪些可以拿来讨论一下?你理解的深一点有哪些?

  15. 打印输出题

    console.log(1);
    setTimeout(() => {console.log(2)}, 1000)
    async function fn() {
    console.log(3);
    setTimeout(() => {console.log(4)}, 20)
    return Promise.reject();
    }
    async function run() {
    console.log(5);
    await fn();
    console.log(6);
    }
    run()
    //for循环执行约150ms
    for(let i = 0; i<90000000; i++) {}
    setTimeout(() => {
    console.log(7);
    new Promise(resolve => {
    console.log(8);
    resolve();
    }).then(() => {
    console.log(9);
    })
    }, 0)
    console.log(10)
  16. vue2 和 vue3的差异?

  17. defineProperty 拦截的示例

    Object.defineProperty(obj, 'userName', {
    get(){
      console.log('qwerq')
    },
    
    set(){
     console.log(234)
    }
    });
  18. 实现一个2^n

    function power(n)
    {
    let sum = 1
    for(let i = 0; i < n; i ++){
         sum *= 2   
    }
    return sum
    }

    a. 还可以使用位运算来实现:
    https://blog.csdn.net/m0_38036750/article/details/91353071

三面(2021-12-03)

  1. 自己有没有哪方面是比较欠缺的?
    a. 自己在框架的学习上还有些不足,不够多不够透彻
  2. 项目遇到的难点或者印象比较深的?
    a. @import 样式污染
    b. 官网评论,
  3. 题目:
    // 输入50a6we8y20x
    // 输出50个a,6个we,8个y,20个x
    function getStr(str) {
    let res = [];
    for(let i = 0; i < str.length; i++) {
    if(str[i] >= '0' && str[i] <= '9') {
    res.push(str[i])
    }
    else {
    let count = '';
    while( res.length !== 0) {
    count += res.shift();
    }
    count = Number(count);
    while(count--) {
    console.log(str[i])
    }
    }
    }
    }
    getStr('50a6we8y20x')
  4. css 画一个三角形并解释
    三面还还聊了一些别的东西,然后三轮面试就顺利结束了,面试官们人都很好,很耐心
    因为我三面在周五,所以大概在下一个周的周一的时候才接到的hr的电话,hr小姐姐人超级好
#前端##字节跳动##面试题目#
全部评论
请问是哪个部门呀
1
送花
回复
分享
发布于 2021-12-09 08:21
这些题目楼主大概答出了多少?
点赞
送花
回复
分享
发布于 2021-12-09 14:52
滴滴
校招火热招聘中
官网直投
回掉地狱那里问了什么呀
点赞
送花
回复
分享
发布于 2021-12-14 15:49
一般来说,登录注册的主流还是cookie哈,如何实现多点登录的关键也是cookie,localStorage的操作方式比较费内存
点赞
送花
回复
分享
发布于 2021-12-19 02:00

相关推荐

6 51 评论
分享
牛客网
牛客企业服务