前端暑期实习_字节基础架构(三面凉经)
3.8 _ 一面 (40分钟)
三个题:
1. 给一个字符串,左移两位,多种方法
2. 用 css 写一个 loading( 1/4 个圆弧旋转 )
3. 处理高并发, 100 条数据,带宽为 10, 跑满带宽
// 模拟一百条数据 const message = new Array(100).fill(''); for (let i = 0; i < 100; i++) { message[i] = '第' + i + '条数据'; } // 模拟请求一千条数据 function axiosGet(idx) { return new Promise((resolve, reject) => { setTimeout(() => { resolve(message[idx]); }, 1000 * Math.random()); }) } // async + promise 解决方案 async function asyncProcess(max = 10) { const task = []; const ans = []; for (let i = 0; i < 100; i++) { const p = axiosGet(i).then(res => { console.log(res, task.length); ans.push(res); task.splice(task.indexOf(p), 1); }); task.push(p); if (task.length === max) { await Promise.race(task); } } await Promise.allSettled(task); return ans; } asyncProcess().then(res=>{ console.log(res);反问: 部门是做什么的,能够得到什么样的技术增长
总结:面试官人很好,做题过程一直告诉我这个没做出来也没关系,不要求一定写出来哈哈哈哈
3.11 _ 二面 (35分钟)
五个题:1. 给了一个 img 标签,写 css 隐藏它,多种
2. 写一下常用的 浏览器存储
3. 给了一个标签,实现: 点击一次标签,元素在 300 ms 向右移动 100px (可连续点击实现叠加)
4. 给了四个 img 标签, js 模拟一下 图片 懒加载
5. 还是高并发 -- 然后手写了 Promise.allSettled
写题过程中问到的 八股:
1. 强缓存 和 协商缓存
2. 我看你 b 站做了一个 课堂授权库的 h5 , 讲一下 rem
3. 对 css 的 em 属性有了解吗
反问 :
1. 部门做什么 -- react +node
2. 工程化学习路线/ node 学习路线 -- node 前期可以看书,实际上还是需要 实践
总结:
小哥人挺帅的,不过有时候在发呆哈哈哈
3.15 _ 三面
三面问了 阿里训练营 做的那个 win11 的项目,那个项目其实没啥难点,
本来说 面试完 加微信后续沟通,
结果过两天 挂了 -- 可能是有更好的候选人吧,
不过能学到东西整体也是值得的 =)
总结:
其实我对 rem 那一块的知识可能有误解了,平常写移动端一直以为 rem 是百分比计算来着,
只能说自己能力欠缺加上一定的运气不好吧嘿嘿
#字节跳动暑期实习##实习##前端##字节跳动#