最近更新了一下咱们的面试题库,将三道比较基础可是有表明性的题目分享出来。html
咱们在设计面试题时通常会从一个实际需求出发,根据面试者思考的深刻程度和擅长的知识领域不断地提出更进一步的问题。咱们并不要求面试者要回答出每个问题,而是但愿在探讨的过程了解对方的工程习惯、解决问题的思路等特质。vue
十分欢迎你们就面试题进行讨论,若是对咱们考察工程师的方式感到承认,而且但愿和咱们进行更多深刻的交流,欢迎查看咱们的职位描述:面试
职位描述vue-router
简历也能够直接发到个人邮箱(yanzhen#smartx.com,# 自行替换为 @)。vuex
实现一个 Tabs 组件
主要针对过去使用 Vue 的开发者。闭包
- 如何设计传入的 props。
- 怎么实现 tab content 能够是任意内容(字符串、组件等),若是使用
v-html
实现须要说清利弊。
- 对基础较好的看看是否能想到 dynamic component 和 render function 中解析 slot 的思路。
- 拓展到支持外部动态判断点击 tab 后是否容许切换,考察 props 设计和对各类业务场景的抽象能力。
- 拓展到 Tab active 状态和 vue-router 或 vuex 同步,考察对周边生态的使用状况。
- 对须要考察 HTML 和 CSS 的状况,能够拓展到对应的 DOM 元素的语义化标签的选择以及一些样式的实现方法。
实现一个倒计时组件
适用 Vue、React、Angular 等组件化框架背景的开发者app
- 基本功能实现,考察在生命周期的 hook 中是否正确的建立和回收定时器。
- 要在生命周期中共享定时器的 handler 通常选择存储在 this 上,考察是否能意识到 handler 与 render 无关不须要是响应式的,例如 React 中不要存在 state 里。
- 设计一些 props 控制定时器的初始时间、计时间隔、对外事件等,考察组件设计和抽象能力。
- 拓展到基于 setInternal 的计时器是否准确,若是知道有阻塞的问题,进一步考察是否能想到用 requestAnimationFrame 实现更高精度的定时器。
- 拓展到 event loop 的相关理解。
- 拓展到是否能经过 mixin、HOC、React hooks 等形式实现一个无 DOM 实体的抽象倒计时,与其它组件组合使用。
实现简单的 Enum
主要针对有 Typescript 使用经验的开发者框架
- 是否理解 Typescript 中的哪些特性是编译期实现,哪些是运行时实现。
- 实现一个数字类型的 Enum,也须要实现 reverse mapping。
- 拓展到如何避免该 Enum 在运行时被修改,考察闭包、Object.defineProperty、Proxy 等思路。若是可以想到以上思路,进一步讨论为何 Typescript 只是简单的使用对象模拟,考察对于通用型技术设计时的思考。
- 描述一下在业务场景中使用 Enum 的场景,侧面考察工程经验。