百度前端一面

  1. 自我介绍, 说一下vdom
  2. 你说一下闭包,闭包的应用场景以及缺陷,当时没答上来缺陷,后面查了一下
常驻内存,增加内存使用量。
使用不当会很容易造成内存泄露。
  1. 说一下函数柯里化,以及应用场景,答的马马虎虎吧
// 木易杨
const add = (...args) => args.reduce((a, b) => a + b);

// 简化写法
function currying(func) {
    const args = [];
    return function result(...rest) {
        if (rest.length === 0) {
          return func(...args);
        } else {
          args.push(...rest);
        	return result;
        }
    }
}

const sum = currying(add);

sum(1,2)(3); // 未真正求值
sum(4);  // 未真正求值
sum();  // 输出 10

  1. 你用webpack吗?我说不用,我用vite,对webpack不怎么了解,面试官问:你说一下vite的优化 我说了esbuild预构建,以及缓存LRU,以及相比于webpack的bundless优势

  2. commonjs与esm的区别,然后又问我真不知道tree shaking,说一下它的原理

  3. http2比http1.1好在哪里

  4. 你知道深拷贝和浅拷贝吗?说一下怎么实现深拷贝

  5. vuex和localStorage的区别,以及如何实现一个响应式的localStorage

  6. 手写快排,手写一维数组中出现次数最多的数字

  7. 说一下Map和WeakMap的区别,以及key有什么不同?

  8. 说一下vue响应式原理以及vue怎么知道我更新了一个响应式数据后就会进行rerender呢?

我说因为渲染器是这样设计的,render返回一个对象,对象内的响应式变量发生变化触发effect收集activeEffectFn,然后execute它再进行两次diff比较

effect(() => render())

面试官:那他是怎么更新到页面的呢? 我说diff完后vue会拿到当前的组件实例下有个$el属性,通过这个属性去更新dom,我不知道他有没有听明白,就一直在问这一点

全部评论
什么部门呀
1 回复 分享
发布于 2023-01-06 12:46 广东
刚在官网投了这个实习
点赞 回复 分享
发布于 2023-01-29 21:19 浙江
投了两天还没啥动静一直简历初筛
点赞 回复 分享
发布于 2023-01-29 21:21 浙江
过了吗
点赞 回复 分享
发布于 2023-03-01 19:18 北京
再投携程试试,岗位还有很多
点赞 回复 分享
发布于 2023-03-02 12:25 重庆

相关推荐

想润的芹菜人狠话不多:把其中一个老总放中间都会得罪另一个
点赞 评论 收藏
分享
无情咸鱼王的秋招日记之薛定谔的Offer:好拒信,偷了,希望有机会用到
点赞 评论 收藏
分享
13 67 评论
分享
牛客网
牛客企业服务