记录某三年经验前端岗⾯试题(20-30K)
前⼏天帮⼀个两年多前端学长做⾯试复盘,岗位要求三年经验,薪资20-30/⽉,问到的题⽬及追问的⾯试风格给我留下了深刻印象,⾯试时长1h左右。整理了下,⾯试问题及追问问题⼤致如下:
1. Vue的技术栈有哪些?
看具体项⽬:vue+typescript+scss+vue-router
2. UI框架⽤什么?
移动端⽤Vant,PC端⽤Element-UI
⾃⼰封装UI组件,造轮⼦
3. JS基础--防抖和节流
节流,⽤于后台的数据请求,flag控制⽤户请求频率,设置时间,flag初始为true,点击为false,下此true之前请求⽆效,防⽌过于频繁的请求
防抖,送外卖举例
4. 数组常⽤的API
filter、sort排序和⾼阶数组如map、foreach、reduce。
追问:sort有什么缺陷?使⽤需要注意的点?
使⽤时function中传两个值,两个进⾏⽐较。
追问:不传函数,直接传数组会有什么问题?
排序规则问题,优先级
5. 函数的this?
理解,指向。根据调⽤动态决定动态指向。
call、bind、this指向
追问:具体场景中this的指向?
两种情况全局调⽤
new怎么实现它。
追问:如何去实现⼀个new
new的过程中会把this指向函数返回的值(对象)
6. JS继承
es6语法:class定义⼀个⽗类,再class定义⼀个⼦类 extends ⽗类,在⼦类中使⽤关键字super。
追问:super做了⼀个什么事?
super把⽗类中的属性⽅法拷贝过来
追问:constructor是什么东西?
构造器
追问:除了es6继承,还有哪些继承⽅法?
原型继承,es6基于原型继承。
追问:不⽤XX转化实现继承?(没听清,⼤约在20'48'前)
⽅法:类名.prototype.⽅法
属性:
7. JS原型链是什么,代码执⾏时原型链如何执⾏?
8. Vue中常⽤的特性有哪些?
es6新特性面试双向数据绑定,v-model,watch,computed,⽣命周期函数。
追问:⽣命周期函数有哪些?
8种⽣命周期钩⼦,及keep-alive相关的两个⽣命周期钩⼦:active和deactive,⼦组件中发⽣错误进⾏上报的⽣命周期钩⼦catch error。9. Vue中常⽤的⼀些指令。
v-bind、v-clock、v-for、v-model。
追问:v-bind和v-model的语法糖
追问:v-model如何实现语法糖的效果?即v-modle解析时和v-bind有什么区别?如何通过v-bind实现双向绑定?
追问:v-show和v-if区别?
v-show会⽣成DOM节点,但隐藏了
v-if不会⽣成DOM节点
追问:display:none和opacity设置透明度的区别?
10. Button按钮封装是怎么做的,考量的点有哪些?
loading、button-group、样式需求,click事件点击的时候传出去,size参数调节做进去,disabled属性,根据传⼊参数绑定相应CSS。
追问:封装中的input双向绑定如何实现的?
追问:Button弹出如何做的?
弹出框放到body最外层,避免遮挡
追问:什么类型的遮挡问题?
设置index,以及影响⽂档流问题
追问:如何定位及计算button位置?获取坐标注意什么点?
使⽤fixed定位,到按钮元素坐标
追问:滚动条获取位置

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。