金三银四面试总结

176 阅读3分钟

一、广州简知科技

1.问frefetch和preload区别, 

答:preload 和 prefetch 有个核心的区别,preload 用于预取当前页面的渲染要用到的资源,prefetch 用于将来页面渲染要用到资源,所以 preload 优先级高,资源会立即请求,而 prefetch 优先级低,资源在空闲时请求 

 2.cors原理 

答:服务端设置允许源 

 3.vue的那些资源是用了preload,哪些是prefetch 

答:前面说了 prefetch 用于将来的页面渲染需要用到的资源,preload 用于当前页面渲染需要用到的资源,那么很显然,异步路由页相关资源是 prefetch 的,其它是 preload 的 

 4.插件开发了怎么给团队的人用,除了git有没有更好的工具更智能的,还有插件怎么发布到npm上 

 5.xss和xsrf的原理 

答:xss 是来自用户侧的攻击,xsrf 是来自网络中间人的攻击。对于 xss,防御的思想在于永不信任用户输入的内容。xsrf 则是要抗请求重放 

 6.xss输入检测怎么转换的,标签都转换成什么 (小于号) ‘&lt’;(html实体) (大于号) ‘&lt’;(htlm实体) 

 7.vue起服务server有几种服务 

8.ssr从开发到发布是怎么实现的 

9.动画

二、广东视源

面试官很有耐心 

1.说一下对webpack的了解,webpack从入口构建的依赖关系图 

2.vue2响应式原理和vue3原理 

3.讲一下https 7次握手 

4.BFC 

5.vue-router原理 

6.继承 

7.flex /* 使用伪元素辅助左对齐 */ .container::after { content: ""; flex: auto; /* 或者flex: 1 */ } 8.http和https区别,了解https加密过程吗 

9.讲一下原型原型链,问了一个原型链查找过程 

10.浏览器缓存机制 

11.实现2列布局 

12.webpack的插件是怎么运行的 

13.node的eventloop和浏览器的eventloop 

14.垃圾回收机制,引用计数为什么会混乱 

15.前端有10000个数据要展示出来怎么优化,并且保证他的索引不混乱 

 先将要渲染的数据传入虚拟列表组件,再指定可视窗口的高度,并人为定义一个滚动条的高度,在滚动条滚动的过程中,实时获取 scrollTop的高度,根据this.start = Math.floor(scrollTop / this.size),size为每个元素的高度,获取当前应该从第几个开始渲染, 根据this.end = this.start + this.remain;remain为窗口展示几个元素获取 当前应该从第几个停止渲染,再根据绝对定位this.start * this.size获取offset下偏移量。并根据this.items.slice(start, end)获取要渲染的数据。相当于是在一个窗口内,一边滚动,根据滚动算出滚动的距离,根据此距离算出从第几个元素渲染,第几个结束,再获取偏移量,然后绝对定位。

三、涂鸦智能

一面:

1.说一下回流和重绘

2.说一下用户从输入地址到页面完全显示发生了什么

3.说一下evetloop

4.vue的路由原理

5.前端性能优化

二面:

1.先聊聊项目,你觉得哪个项目你写的最好,讲一下

2.你在你们项目组担任什么角色

3.说一下mvvm

4.xss有哪几种类型

5.data为啥是一个对象

5.虚拟dom是啥

6.diff对数组做了啥优化吗

7.常规diff算法复杂度是多少,vue diff复杂度是多少

8.vue是如何将模板编译的

三面:

hr面

四广州果肉网校

1.大文件上传组件

引发出的问题

a.大文件上传,切片上传切成的buff存在哪里,浏览器要是刷新了会咋样

b.如果单个切片上传过程中断网了,也就是只上传了一部分

c.怎么保证文件上传到服务器的唯一性