站点工具

用户工具


字节前端六面了,不知道会不会给,祈祷hr面,秋招也太难了!

提前批投的抖音电商,三面有点压力面的味道,面的很不好挂了。

一面:

  1. 自我介绍
  2. 接触前端多久
  3. css盒模型介绍一下
  4. BFC,什么是BFC,有什么作用,应用场景
  5. 重绘和重排
  6. 显示一个0.5像素的元素 怎么写
  7. 输出内容,时序,块级作用域是什么,改成每一秒输出一个数字,为什么这么写
    for (var i = 0; i < 10; i++) {   
      setInterval(() => {   
     console.log(i)  
      }, 1000) 
    }
  8. 输出什么
    window.name = 'ByteDance';          
    function A() {             
      this.name = 123;         
    }         
    A.prototype.getA = function() {             
      console.log(this.name)             
      return this.name + 1         
    }         
    let a = new A();         
    let funcA = a.getA         
    funcA()
  9. 看输出,微任务宏任务
    setTimeout(() => {             
      console.log(1)         
    }, 0);         
    new Promise((res)=>{
      console.log(2);res()
    }).then(()=>{
      console.log(4)
    })         
    console.log(3)
  10. 跨域(是什么,怎么解决)
  11. http和https,为什么http会被劫持,怎么劫持
  12. 对称加密和非对称加密有什么区别,应用场景
  13. 非对称加密在哪些方面更安全,原理说一下
  14. 括号合理算法题(leetcode20)

二面:

  1. 自我介绍
  2. 介绍一下Vue (MVVM,单页面开发,数据双向绑定,组件化,组件通信)
  3. 组件通信如何实现
  4. vue虚拟DOM树
  5. CSS的position有哪些(sticky没答出名字),分别定位是怎么定位
  6. 哪些定位方式是脱离文档流
  7. 脱离文档流是一种什么现象
  8. sticky在ie是没有的,如何通过js实现
  9. 监听滚动的性能优化(防抖/节流)选择哪一个,如何尽可能好的效果
  10. 写一下防抖/节流(let的变量提升)
  11. http各种请求有什么不同,OPTIONS了解吗
  12. 如果传输的是二进制文件,是怎么传输的
  13. http各版本区别
  14. Xss,CSRF原理
  15. 都窃取到cookie吗,能拿到用户信息吗
  16. 分别怎么防范(token)
  17. token如何使用
  18. token如何存储(sessionStorage,localStorage)
  19. sessionStorage,localStorage有什么区别
  20. 代码输出什么
    const a = () => {     
      new Promise((resolve) => {         
    resolve(1)         
    console.log('a')     
      }).then(() => {         
    console.log('b')     
      }) 
    } 
    a() 
    console.log('c')
  21. 代码题
    //versions是一个项目的版本号列表, 因多人维护, 不规则 
    var versions = ['1.45.0', '1.5', '6', '3.3.3.3.3.3.3'] 
    //要求从小到大排序 
    var sorted = ['1.5', '1.45.0', '3.3.3.3.3.3.3', '6']

三面:

0. js有什么特点

  1. 数组去重,写
  2. js变成数组的方法
  3. promise 输出顺序

    new Promise((resolve, reject) => {     
      reject(1) 
    }).catch(() => {     
      console.log(2); 
    }).then(() => {     
      console.log(3) 
    }, (v) => { 
      console.log(v) 
    }) 
    console.log(4)
  4. this指针

    function O(age) {     
      this.age = age 
    } 
    var o = new O(1) 
    var age = 3 
    O.prototype.age = 2 
    setTimeout(function() {     
      age = 4     
      O(5)     
      console.log(o.age, age) 
    }, 1000)
  5. dispaly有什么属性
  6. inline-block和block有什么区别
  7. Flex怎么设置居中
  8. get和post的区别
  9. TCP四次挥手
  10. http和tcp的关系
  11. 在web场景中,udp用在哪里
  12. 线程和进程 底层
  13. 1234->1243

第二轮是抖音火山版捞的我,base杭州,昨天面完三面,感觉秋招面试难度又增加了。

一面:

  1. js基本数据类型
  2. 判断数据类型的方法? 如果判断数据还有呢?
  3. Vue2.0响应式原理
  4. Vue3.0怎么修改
  5. MVVM是什么
  6. ['1', '2', '3'].map(parseInt)打印结果 map里面有三个参数(item,index,array) parseInt有两个参数(num,进制)
  7. 防抖和节流区别,应用场景
  8. 写一下防抖,添加立即执行功能
  9. CSS实现三角形 transparent透明 inherit继承父元素颜色
  10. 读代码:
    async function async1() {
    console.log('async1 start');
    await async2();
    console.log('async1 end');
    }
    async function async2() {
    console.log('async2');
    }
    console.log('script start');
    setTimeout(function() {
    console.log('setTimeout');
    }, 0)
    async1();
    new Promise(function(resolve) {
    console.log('promise1');
    resolve();
    }).then(function() {
    console.log('promise2');
    });
    console.log('script end');
  11. http1.0,1.1,2.0, 3 区别
  12. http1.1 缓存有哪些header更新
  13. cookie 和 session的区别
  14. 如何鉴别身份 JWT
  15. 204 301 302 304 302会有什么问题
  16. 重绘和重排
  17. 剑指offer34 判断有无符合路径和 -> 打印所有路径

二面:

  1. http和https的区别
  2. 中间人攻击
  3. 如何防范中间人攻击
  4. 常见的浏览器缓存方式
  5. 什么是CDN
  6. DNS是什么
  7. CDN的缓存穿透和回源
  8. 原型链是什么
  9. 对象上查找一个属性是一个什么过程
  10. 原型链实现继承,写一下
    function obj1() {
      this.value = 1
    }
    function obj2(name) {
      this.name = name
    }
    obj2.prototype = new obj1()
    let obj = new obj2('mike')
    console.log(obj.value)
  11. obj2的原型的构造函数指向哪个
  12. 引用数据和非引用数据区别
  13. 访问的对象地址在哪里
  14. 深浅拷贝 手写
  15. 如果有环如何实现
    const obj = { a: 1, b: 2, c: { ca: 1, cb: 2 } };
    obj['c']['cc'] = obj;
  16. 盒模型介绍一下
  17. Vue修改data到DOM更新是同步还是异步,这么设计的缘故是什么
  18. 在哪个任务去执行更新,宏任务还是微任务,具体是哪个任务
  19. 宏任务和微任务
  20. 微任务嵌套宏任务是什么时候执行
  21. 宏任务嵌套宏任务是什么时候执行
  22. 事件循环机制
  23. DOM事件 捕获和冒泡分别适用于什么场景
  24. event.target和event.currentarget
  25. Vue列表渲染使用key
  26. 虚拟dom树是怎么做的,是怎么做优化的
  27. 算法,版本排序
  28. 怎么学前端

三面:

  1. 为什么选前端
  2. 进程线程
  3. cookie和sessionStorage和localStorage
  4. 科研项目
  5. 检测回文字符串
  6. 10+6+5-3*5/5 输入String输出Number答案
  7. linux path ../../a/b/c (../ ./ /../ => ../) (/./ => /)
    getPath("/a/b/../c") => /a/c
  8. TimeFormat(timestamp, patterm)
    pattern => "YYY-MM-DD hh:mm:ss" => 2021-09-08 15:45:00
    格式有可能是 YYYY/MM/DD MM/DD
  9. 100000 => 100,000

三面面试官很好,我678没思路就给我换题目了,终究还是自己太菜了,没有实习经历也是硬伤。祈祷hr面吧!

若愚 · 2021/12/10 17:53 · 前端面经_字节47.txt