一面:

1.有了解那些数据结构?用js写过链表和二叉树吗?

2.实现左边输入框自适应,右边按钮宽度固定(写代码)

3.写一个 sleep 函数

4.promise 是什么?promise.all的使用方法

8.Vue的响应式原理

追问:用 Object.defineProperty 实现一个功能:将输入框的值展示在div里,实现双向绑定

// es5
let data = {
text: ""
};
search.addEventListener(input, (e) => {
data.text = e.target.value;
})
Object.defineProperty(data, text, {
set(val) {
button.innerText = val;
},
get(key) {

}
})

// es6
let data = {
text: ""
};
let dataProxy = new Proxy(data,{
get(target,key){
if(key === text){
target[key] = _val
}
},
set(target,key,val){
target[key] = val
if(key == text){
button.innerText = target[key]
}
}
})
search.addEventListener(input, (e) => {
dataProxy.text = e.target.value;
})

6.补全代码:

var obj = {
name: byte,
last: dance,
email: [email protected],
id: 1
}
function getParams(obj, kes) {
...
}
var user = getParams(obj, name last email)
// output
// { name: byte, last: dance, email: [email protected] }

当时的回答
function getParams(obj, kes) {
let arr = kes.split(" ");
let o = {};
arr.forEach((item) => {
o[item] = obj[item];
})
return o;
}
追问有了解复杂度吗?

7. arguemnts是数组吗?怎么转为数组?

8. peventDefault干什么的,stopPropagation呢?

9. 有了解那些HTTP状态码?

追问:403,206,405呢?

10. HTTP2.0了解多少?

11. 知道那些Web安全问题,如何防护?

12. cookie sessionStorage localStorage的区别?

13. 如何指定歌曲播放时间(看项目问的)?

答:audio.currentTime

14. es6用过哪些?class了解过吗?继承能写出来吗?

15. rem怎么用?

16. 跨域是什么?如何实现跨域?

答:Jsonp,CORS,postMessage

追问:还有呢

17. Vue父子组件如何通信,兄弟组件呢?

19. 大学有学习过相关计算机课程吗

答:c语言等基础课

二面:

  1. 介绍一下你的项目
  2. 项目有哪些亮点
  3. 项目的reset.css(全局的css)主要做了哪些?
  4. eventHub发布订阅添加 once (只触发一次) 如何实现?
  5. 用 es5 实现数组的 flat 方法
  6. promise.all 怎么用,如果要实现三个请求一起发送,但是不关心结果怎么写?
  7. 有做过资料库方面的吗?(learnCloud 和 七牛加的戏)
  8. 项目遇到哪些问题,怎么解决的?

三面:

  1. 对项目有想过优化吗,怎么优化?
  2. 关于项目你觉得还需要那些改进
  3. 技术上有什么规划,最近在学习些什么(一二三四全都问了)
  4. 选这三个项目有什么用意(自己加的戏)
  5. 平时怎么学习的,有人带吗? 为什么选择材料?为什么想学习前端?(一二三面都问)

四面:加面

  1. 写这些项目有什么背景(介绍一个项目然后提问)
  2. 平时动画用那些技术;如果写一个时针动画,CSS怎么实现?
  3. setInterval有延迟怎么解决(Js写动画加的戏)
  4. svg用过吗,path写过没
  5. rem与em对比
  6. vw的兼容性了解吗?手机端的兼容性是怎么样的?
  7. Vue1.0 和 Vue2.0有哪些改进,在演算法上面?如何对比虚拟DOM?
  8. 微信小程序相对于html5渲染有哪些优势
  9. Vue源码看过没?
  10. Vuex是什么,怎么用?
  11. Vue 和 React对比,React有虚拟DOM吗
  12. 有关注些那些前端的知识呢,最近有那些新技术?hybird,flutter 桌面程序有了解吗?

总结:

一面以基础为准,二面写代码,问项目,三面以项目为准,为什么写,怎么写,遇到什么难题,怎么解决的,有什么收获,怎么优化,四面深入问,考察学习深度与广度,考察是否真的感兴趣,平时是否有关注技术热点。

最大的收获其实就是在面试的过程中所作的准备和思考,有些问题平常可能不容易发现的,但是面试官问了就知道自己缺在哪里了,然后下来查资料补补,多复习形成长期记忆,四面的回答感觉并不好,本来就像是一场梦,心里还是要有点B数的,所以静等结果,调整心态;应当是有愈挫愈勇的心态,继续投简历,继续反思,继续学习,打怪升级,让暴风雨来得更猛烈些吧。

So,Keep calm and carry on!


仅做记录,不代表我就会

2019-3-13 已凉


推荐阅读:
相关文章