还愿,回馈牛客,字节跳动一二面
一面过
- 自我介绍
- 项目难点,怎么解决
- url输入会发生什么,我说了dns http tcp 和dom cssom render树
- css会阻塞dom树加载吗。
- dns的两种解析方式
- js阻塞解析,怎么解决,async和defer,问区别,问defer是在什么时机执行
- http常见的状态码, 301,302,303,307的区别
- 来了一道事件循环的题
console.log('script start') async function asy1() { await asy2(); console.log('async1 end') } async function asy2() { console.log('async2') } asy1(); setTimeout(function(){ console.log('setTimeout') }, 0) new Promise(function(resolve) { console.log('promise1') resolve(); }).then(function() { console.log('promise2') }).then(function() { console.log('promise3') }) console.log('script end') // 我答了上面的就先加了这两行 requestAnimationFrame(function() { console.log('requestAnimationFrame') }) // 浏览器渲染任务的执行答对了,他就说加这两行 requestIdleCallback(function() { console.log('requestIdleCallback') })
- 很多数据类型转换的东西, == ===的区别, 0 == ‘’, [] == [],NaN == NaN
- 问有几种判断数组是数组的方法,我只说出四种
- 一道算法题 leetcode 1. 两数之和,写了第一种暴力法,面试官叫我优化,用哈希集写了第二种。还能用双指针写。
-60min
二面凉
头条一面
- 自我介绍(面试官看我很紧张就开始热场子)
- 兴趣爱好
- 期望的工作氛围是怎么样的
- 想在第一份实习中学到什么
- 说下dns域名解析协议
- 说一下protobuf
- 数据库中的Left join、 right join、inner join的区别
- 数据库的drop、delete与truncate的区别
- 说下XSS攻击
- 说下CSRF攻击
- leetcode 113 跟这道题不完全相同,这道题要求起点根节点,终点叶子节点,头条面试官要求起点和终点不做限制。
- leetcode 1254 但不完全相同
-60min
#字节跳动春招##字节跳动##前端工程师##实习##面经#