校招 未知部门 / 前端 / 二面
[面试日期] 2024-06-03 [面试时长] 未知
[学校背景] 未知 | 未知 [学历背景] 未知
[发布人] 面试之星官方收录
<h2>携程前端二面</h2>
<p>前边问小程序,我属于基本上只会用的程度,答得稀碎<img src="https://uploadfiles.nowcoder.com/images/20220815/318889480_1660553763930/8B36D115CE5468E380708713273FEF43"><img src="https://uploadfiles.nowcoder.com/images/20220815/318889480_1660553763930/8B36D115CE5468E380708713273FEF43">。</p><p>全程大概50分钟。记录一下能记住的问题</p><p>项目,水波纹是怎么实现的,循环调用的话是怎么做到不卡死页面的</p><p>requestAnimationFrame执行频率,能保证按这个频率执行吗</p><p>*canvas如何实现一个中间镂空的矩形</p><p>*小程序是怎么实现渲染的,更新的数据渲染视图上怎么知道要修改的</p><p>那VUE中是怎么实现的,答了watch和proxy</p><p>输入url到渲染的问题</p><p>浏览器怎么知道请求到的资源是一个可执行,或说可渲染的文件</p><p>状态码有哪些</p><p>各种方法的请求有什么区别</p><p>问get和post的区别</p><p>用this和在原型链上定义的属性有什么不同</p><p>垂直居中怎么实现</p><p>实现一个缓存类的get和set方法</p><pre>
// 使用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
}
}
</pre>
AI 推荐面试题
