- 自我介绍
- 实习经历,为什么没有转正
- vue2和react的了解,他们有什么不同
vue:数据劫持,观察者模式,数据改变后试图自动更新。子传父通过emit。模板编译。diff算法不同
react:手动驱动试图更新。子传父通过回调函数。jsx写法(万物皆js)。diff算法不同 - vue2数据驱动试图改变具体流程
- data有属性a,template用到属性b。这会有什么影响
- 数组是怎么监听的
- react中useEffect的用法(没有复习react的我把知道的都说出来了)
- 常用的react hooks
- react如何做依赖收集(不会)
- vue父子组件挂载和卸载的生命周期如何执行
- vue中v-for如何实现对数组,对象,数字的遍历
数组:v-for = "(item,index) in/of arr"
对象:v-for = "(value,key,index) in obj"
数字:v-for = "(item,index) in 数字",index从1开始 - js遍历数组有什么方式,这些方式有什么区别
for循环
for in
for of
forEach
Array.entries - v-if和v-show的区别 ,哪一个性能好一点
- 隐藏dom元素的方式,接着继续问这些方法哪些会引起重排重绘
visbility:hidden
opacity:0
scale缩放为0
设置定位偏移出窗口外
宽高设置为0
- 自定义指令有用过吗(没有)
- mixin的优缺点
- mixin场景题目(这里没看过,纯属自己感觉来答,没想到竟然对了)
mixin中data的定义了a为1,组件定义a为2,最后的用到的a是什么
mixin中data属性的值是一个对象,对象属性a为1,组件同样定义了一个对象,里面a为2,b为3,最后的对象是什么(对象合并,以组件的为准,是a:2,b:3) - vue-router的两种模式(hash,history),用了浏览器的什么api实现的
- 有配置过webpack吗,说了一下配置代理
- 跨域问题,浏览器为什么要有跨域限制(为了安全起见)
- 黑客攻击你的网站,跨域能限制黑客吗(把我问懵了,不知道说什么了)
- 浏览器安全攻击有什么(xss,csrf),如何避免
- typescript问题:定义了一个interface,要剔除某个属性怎么做(不会)
- require和import的区别,哪个是同步哪个是异步
import会提升,require不会
import编译时引入,require执行时引入
import的值是一个引用,require的值是一个拷贝
import的值地址无法修改,自动被const修饰
循环引入不同 - http请求的几种类型(GET,POST,OPTIONS,PUT,DELETE)
- GET和POST的区别是什么
get参数在请求地址,post参数放在请求体
get有长度限制,post无
get有缓存
get返回的结果不会变,post结果可能不一样(幂等性) - http缓存的方式(强缓存、协商缓存)
- 浏览器存储的方式(cookie,loaclStorage,sessionStorage),及区别
- 浏览器解析html过程
- script标签如何不阻塞页面加载(async,defer),两个属性的区别
async加载完立即执行
defer加载完等html解析完毕再执行 - transform、translate,transition,animation的区别
- 盒子模型
- es常见的作用域(全局,函数,块级)
- 哪些方***导致块级作用域(大括号)
- Promise.all和Promise.race含义
- 领导给你安排工作,要求一周内完成,但是你觉得工作量一周内完不成,你会怎么做。(先做好主体)
接着问:你一周后跟领导说,只做好了主体,领导发火了你怎么办。(加班?)
加班也做不完呢(直接向领导说明原因)
其实这里我感觉是工作安排之前跟领导评估一下工作量,安排一个足够的时间比较好点 - 反问
hr面(10.11 hr面)
- 自我介绍
- 自学的吗?同学都针对什么岗位投递
- 为什么接触前端
- 实习经历,经历了几轮?
- 实习收获比较大的点
- 介绍项目
- 项目做完有没有一个测试过程
- 项目人员构成,是不是有人合作
- 职业规划
- 工作地点倾向,家里人是否支持
- 手上有没有offer
- 薪资要求
- 毕设做多久?
- 能否去实习
- 会不会担心公司上手项目无法适应
- 实习期间遇到的特别难的困难,遇到的比较困难的事情
- 实习有几个项目
- 工作遇到的特别有意义的事
- 项目沟通多不多
- 反问
过了两天,面试结果通知挂了,这次的hr面没通过让我怀疑自己了