携程前端二面
前边问小程序,我属于基本上只会用的程度,答得稀碎。
全程大概50分钟。记录一下能记住的问题
项目,水波纹是怎么实现的,循环调用的话是怎么做到不卡死页面的
requestAnimationFrame执行频率,能保证按这个频率执行吗
*canvas如何实现一个中间镂空的矩形
*小程序是怎么实现渲染的,更新的数据渲染视图上怎么知道要修改的
那VUE中是怎么实现的,答了watch和proxy
输入url到渲染的问题
浏览器怎么知道请求到的资源是一个可执行,或说可渲染的文件
状态码有哪些
各种方法的请求有什么区别
问get和post的区别
用this和在原型链上定义的属性有什么不同
垂直居中怎么实现
实现一个缓存类的get和set方法
// 使用object实现一个缓存 DataCache 类,要求包含 get(key) => value 和 set(key, value, ttl)
// 方法key 为 string,value 为任意值,ttl 为缓存时长
// 超过10分钟失效
function DataCache() {
this.data={}
this.get = function(key){
let cur = new Date(), dur
if(this.data[key]){
dur = cur - data[key]
if(dur<this.data[key].ttl && dur <= 10){
return data[key].value;
}
}
}
this.set = function(key, value, ttl){
this.data[key]={}
this.data[key].value = value
this.data[key].ttl = ttl
}
}
