Skip to content

micro1: Frontend Developer - (Vue.js)

2026/5/11 申请

2026/5/12 面试

2026/5/13 出结果

AI 面试,面试官 Zara

变量声明和作用域

In JavaScript, what's the difference between var, let, and const in terms of scope wasting and reassignment?"

How do let and const behave differently from var regarding block scope? And what is the 'temporal dead zone'? What happens if you try to access each before its declaration?

函数和 this 问题

Explain the difference between a regular function and an arrow function. Especially regarding how the this context is determined.

防抖

How would you implement a reliable debounce function in JavaScript? What edge cases would you consider? For example, preserving this and arguments, or leading versus trailing execution.

Git 冲突处理

Can you explain the difference between git merge and git rebase? When would you prefer one over the other?

When you've already pushed a feature branch and then realize you need to reorder or squash commits, how do you handle that? Especially if others might be using that branch?

git push --force

What's the practical difference between git push --force and git push --force-with-lease? Which one is safer and why?

Vue3 响应式

In Vue 3, what's the difference between ref and reactive? When would you prefer one over the other?

What's the difference between computed and watch (or watchEffect)? How do you decide which one to use for a specific logic?

状态管理

How do you structure stores and manage async actions to avoid duplicated requests and keep state consistent across components? Especially when using something like Pinia or Vuex.

笔试题

一个书库管理系统,每本书的字段:

  • title
  • stock
  • forcast

判断哪些书有缺货风险,输出书的 title,按 title 正序排列。

给定两组数据。

json
[
    { "title": "A_title_book1", "stock": 32, "forcast": 28 },
    { "title": "R_title_book2", "stock": 0, "forcast": 20 },
    { "title": "E_title_book3", "stock": 20, "forcast": 20 },
    { "title": "V_title_book4", "stock": 19, "forcast": 39 },
    { "title": "P_title_book5", "stock": 32, "forcast": 10 },
    { "title": "H_title_book6", "stock": 1, "forcast": 0 },
]
json
[
    { "title": "A_title_book1", "stock": 76, "forcast": 14 },
    { "title": "R_title_book2", "stock": 34, "forcast": 2 },
]

假定数据都是有效的,不会有字段错误。只需要测试给定的两组数据。

字段名都没错,字段值是我编的。录屏没录到笔试题。

面试反馈

Hi Yutong,


Thank you for requesting feedback on your interview for the Frontend Developer (Vue.js) position. Below is a detailed breakdown of your performance, highlighting your strengths and areas for improvement.

Strengths we noticed

  • You have a strong foundation in JavaScript, showing familiarity with ES6 features, scoping differences, and a solid mental model of concepts like this and functions as constructors. Your efforts to distinguish between let, const, and var were well-articulated and demonstrated your thoughtful approach.

  • Your hands-on experience with Git was clearly reflected in your preference for maintaining a clean history, use of interactive rebase, and a safety-first approach when managing branches. This practical understanding is an excellent asset for collaborative development environments.

  • You have shown practical knowledge of Vue.js and related state management concepts, articulating the distinctions between ref, reactive, computed, and various watch strategies. Your understanding of global store patterns and best practices in state management was also evident in your responses.

Areas for Improvement

  • You could have explained the debounce pattern in JavaScript with greater precision by elaborating on how timer functions like setTimeout and clearTimeout work together with state to delay execution. Revisiting terminology around hoisting and the temporal dead zone (TDZ) would also add more clarity to your explanations.
  • Your discussion of Git concepts could have been strengthened by adding more detail when differentiating between merge and rebase, especially regarding the impact on commit history and merge commits. Including how to safely handle force pushes would make your explanations even more comprehensive.
  • You handled the coding test requirements thoroughly, but your explanation of sorting logic could have been clearer and more accurate by addressing full-string comparison rather than just the first character. Mentioning the use of built-in comparison methods like localeCompare would have demonstrated even stronger attention to robust, real-world solutions.
  • While you shared practical experiences with Vue.js state management, your answers could have been even more compelling by including more detail on advanced patterns like request de-duplication, caching, and concurrency handling in stores. This added depth would showcase your readiness for increasingly complex scenarios.

What's next?

The good news is that you can re-apply! You have two options:

  • Immediately with a different set of skills that better represent your strengths
  • If you prefer to stick with the same skill set, you can retake the interview after 30 days

最后更新于:

评论区
评论区空空如也
发送评论
名字
0 / 20
邮箱
0 / 100
评论内容
0 / 140
由于是非实名评论,所以不提供删除功能。如果你需要删除你发送的评论,或者是其他人的评论对你造成了困扰,请 发邮件给我 。同时评论区会使用 AI + 人工的方式进行审核,以达到合规要求。