快手创新业务暑期实习一二三面(已排序)
部门:效率工程轻雀团队创新业务一组—暑期实习
一面:
面试官看了我的博客,大概了解我的水平
面试官人特别好!!!能力也很强!!
CSS水平垂直居中✅
原型链✅
判断数据类型的方法✅
object的tostring和构造器的tostring的区别✅
this指向问题✅
箭头函数和普通函数的区别✅
Vue2和Vue3的区别(答了四点,除了diff的递增子序列都深入问了)✅
用自定义hook来实现一个useDrag实现拖动✅❌
Suspence支持顶层await❌
proxy和defineReactive的优缺点✅
vue2里面computed和watch源码上的区别 ✅
了解vue的mixin和extend嘛 ✅
了解directive嘛(使用和生命周期) ✅
算法:组织架构的遍历把treedata转成一个数组(递归+形参存储) ✅
聊一聊工程化
对vite的理解
vite实现原理
模块加载怎么实现的
开发模式怎么加载的
服务器和浏览端如何通信的
如何进行判断依赖 内容的变更❌
对vite插件的了解
自己写的插件是做什么的
用插件做了哪些工作 有没有处理过其他的
在引入模块的时候对模块进行更改
roll up如何打包异步模块❌
对于没有标注es module的如何引入,转化cjs模块
用没用过esbuild
esbuild的主要功能
cjs和esm的区别
esm是异步的,为什么 cjs引入是异步的吗
实现一个模块在需要的时候再去引入怎么实现的
esm加载引用在什么时候进行的❌
反问:
部门偏向业务or工程化or基建? 业务+工程
技术栈:Vue2、3+服务端渲染
介意我是大一吗:大一大二大三都没关系,看能力
二面:
说说项目
对工程化的理解
手写深拷贝(不考虑循环引用和正则es6结构)✅
算法:
给定一个promise数组[p1,p2,p3...]
1.返回物理上第一个成功的promise的结果
2.若全部为失败,则返回物理上最后一个promise的结果
思路:使用promise.allSettled✅
若附加一个3.效率最大呢✅❌(思路正确)
聊生活
生活中最自豪的一件事
对业务类算法题的看法
(到这里我以为我凉了,结果我说我大一,面试官说:阿?没注意到你是大一)
然后凭借堪比鸣人的嘴遁,OC了
HR面:正常HR面
————————
最后被排序养鱼了大概半个多月,不想等了,联系hr结束流程了
#前端##实习##面经##前端工程师#