Appearance
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, andconstin terms of scope wasting and reassignment?"How do
letandconstbehave differently fromvarregarding 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
thiscontext is determined.
防抖
How would you implement a reliable
debouncefunction in JavaScript? What edge cases would you consider? For example, preservingthisand arguments, or leading versus trailing execution.
Git 冲突处理
Can you explain the difference between git
mergeand gitrebase? 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 --forceandgit push --force-with-lease? Which one is safer and why?
Vue3 响应式
In Vue 3, what's the difference between
refandreactive? When would you prefer one over the other?What's the difference between
computedandwatch(orwatchEffect)? 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.
笔试题
一个书库管理系统,每本书的字段:
titlestockforcast
判断哪些书有缺货风险,输出书的 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
thisand functions as constructors. Your efforts to distinguish betweenlet,const, andvarwere 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
setTimeoutandclearTimeoutwork 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
mergeandrebase, 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
localeComparewould 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