B站T2前端实习一面(50min)
1. 自我介绍
2. 你熟悉es6嘛?let,const,var的区别?
在重复声明方面:var可以重复声明,const和let不能重复声明在变量提升方面:var支持变量提升,const和let不支持变量提升,会形成暂时性死区在赋值方面:var和let可以多次赋值,而const一但初始化就不能赋值,不然会报错。在作用域方面:var没有块级作用域但是有函数作用域,const和let块级作用域和函数作用域
3. 在变量声明方面,为什么要用let取代var?
因为var没有块级作用域,容易造成变量的污染。经典的例子:for循环用var i,外面也访问的到i.
4. const和let那个声明变量更耗性能
看了一些文章没有找到一个明确的答案,但一点毋庸置疑的用const更规范,且es6转es5更简单
5. 堆和栈的区别
1. 栈由系统分配,而堆是自己申请开辟2. 栈获得的空间较小,堆获得的空间较大3. 栈是由系统自动分配,速度比较快,而堆比较慢4. 栈是连续的空间,堆是不连续的空间
6. C语言中怎么开辟内存
用开辟内存函数malloc开辟
7. 普通function实例的指向?Function类new出来的实例指向?
function关键字声明的函数时函数对象本身指向Function类,但用它new出来实例是一个对象,它的__proto__指向Object的prototype;Function类的实例就是它作为构造函数生成的,使用实例的__proto__指向Function的prototype。
8. 聊下class
9. nodejs的V8和浏览器的V8的区别
10. 图片文字是怎么渲染的?
1. GPU获取获取图片的坐标2. 将坐标交给顶点着色器(顶点计算)3. 将图片光栅化(获取图片对应屏幕上的像素点)4. 片元着色器计算(计算每个像素点的最终显示的颜色值)5. 从帧缓存区中渲染到屏幕上
11. http1.1到http2.0的有哪些改进?那http3.0呢?
12. http的请求方法有哪些?
head、put、post、get、delete、options
13. options请求什么用的?
探测请求,一般用于跨域的预检测
14. 预检测是干嘛的?什么是cors复杂请求?
15. 上传大文件的进度是怎么获得的?
16. 浏览器有哪些缓存?
本地缓存和http缓存
17. vue2的响应式原理
思路:Object.defineproperty加观察者模式
18. vue3的响应式原理
proxy加观察者模式
19. Vue3.0中对象添加不存在的属性proxy是否能监听?
能,proxy是监听整个对象
20. 虚拟dom的好处?
速度快,减少页面渲染过程的次数
21. 你了解的移动端适配方案?
媒体查询rem布局pxtovwflex布局grid布局
22. git一些操作及你在开发过程中遇到的一些问题
反问:T2实习前端部门用的技术栈是Vue还是react?面试官:vue
#哔哩哔哩前端工程师面经##春招##实习##面经##前端#