【20251017】店小秘面经复盘

49 阅读3分钟

笔试(40min)

到前台签到后会给一张A4纸,上面有题目,用笔作答。

10道题,限定时间40分钟完成。因为太久没拿笔写字的缘故,写的手很酸,字也歪歪扭扭的。

题目比较基础,不算难,不过我正则不太行,有道正则的题没答上来...

  1. Object的内置对象有哪些,列举4个

  2. 比较foreachmapreduce区别

  3. 异步输入输出结果

  4. === 输出结果(考察NaN === NaN的输出结果)

  5. 变量输入输出结果(主要考察作用域以及argument.callee.caller的作用)

  6. 如何理解浏览器的事件代理(事件委托)

  7. 正则表达式题目:提取某个url中的id,如: https//aaa.com/xxx/ID123123123/xxx,提取ID123123123,ID固定,后面固定位数,可能有大写英文和数字

  8. 手写代码:手写防抖

  9. 手写代码:手写compose函数

还有一道题忘记了,印象不是很深,应该也是比较基础的题目。

技术面试(约1h)

  1. 自我介绍 + 询问项目概况(团队规模、项目介绍、个人贡献)

  2. JS基础:

    • 原型链、__proto__的取值

    • 作用域链、变量查找过程

    • 定义变量a = 1,使用ESM导入某个文件中的一个函数。函数内部打印a,如果被导入文件中存在a = 2,输入结果是什么

    • 执行上下文执行栈的工作流程,什么时候入栈/出栈

    • eventloop: 宏任务/微任务有哪些,执行过程

    • 对JS单线程的理解,有没有使用过Worker

    • 有没有使用过SetMapObjectMap区别

  3. 网络:

    • 304状态码含义、强缓存/协商缓存对应请求头

    • memory cachedisk cache的区别/使用场景

  4. Vue:

    • 使用过vue2

    • Vue3toRefRefRef对象解构是否会失去响应式

    • 组件的初始化过程做了哪些事情

    • 有没有用过Teleport,使用场景

    • 一个好的组件应该是怎样的(单一职责、开放封闭、类型完备)

  5. 开放题:最有成就感的事情是什么

感觉面试官基础还是很扎实的,对于JS基础会抠各种细节发问。总体体验上是不错的,也得到一部分需要提升的知识点反馈。

问题复盘

本次面试总体来说考察的非常基础,不过我个人还存在如下问题,需要改善:

  • 正则表达式没怎么写,平时开发也是让AI生成,导致笔试写不出来

  • Worker回答的有问题,创建Worker是在主线程之外创建独立的线程来执行任务,从而避免阻塞主线程。答成进程了...

  • 事件循环部分需要再深入看一下:www.zhihu.com/tardis/bd/a…

  • memory cachedisk cache的区别/使用场景:juejin.cn/post/748787…

  • 关于argument.callee(已弃用的特性还考...想不通):developer.mozilla.org/zh-CN/docs/…