腾讯云智前端开发一面面经
- 八股文问题面试官首先问了一些基础的八股文问题,这些问题都比较简单,只要平时有准备过基本的面试题目,回答起来不会有太大难度。
- 手写代码题
- rem核心代码面试官让我解释并手写rem的核心代码。我提到了flexible.js用于屏幕适配的实现原理,并进一步讨论了逻辑像素和各种长度单位的区别。面试官还要求我封装一个可以在浏览器中运行的rem.js。这个题目的核心在于将屏幕分成若干份并赋值给fontSize。虽然代码量不大,但为了兼容性,我在编写时做了一些边界处理,最终效果符合预期。
- 寄生组合式继承这是一个常见的手写题,主要考察使用Object.create来使新创建的对象保持指向父类原型对象的能力。只要系统学习过继承的相关知识,这个题目并不难。
- 其他问题 面试官还问了一些关于flexible.js的不足及改进方法、rem适配与vw、vh的区别、1px问题及解决方法、长列表渲染及其使用场景、对ES6的理解、Vue2和Vue3的区别、响应式原理、diff算法、Vue2和Vue3在diff算法上的区别、Vue Hook和React Hook的区别、readonly和as const的区别、type和typeof的区别、输入一个URL会发生什么、HTTP1.1与HTTP2.0的区别、TCP四次挥手的第二次和第三次为什么不能合并、为什么会有2MSL、对继承的理解等问题。
面试结果
这次面试属于实习面试,整体难度不大,三天后约了二三面