一面
自我介绍
- 介绍一下简历里的项目
- 你们团队有多少人,项目有多少人
- 你在这个团队和项目中的定位是什么?
- 有遇到什么挑战吗?怎么解决的?
- 压力大吗?能接受拼多多的工作压力吗
- 意向工作城市是哪儿呀
- 说一下这个小程序的项目
- 其中eslint主要做了些什么
- 之前某段实习经历里主要做了什么
- 技术栈是什么
基础
- 说一下vue和react的区别
- vue3的区别是什么
code
promise
- 说一下下面这个的输出结果
function fn() { return new Promise((resolve, reject) => { setTimeout(() => { reject('error'); }, 1000); }) } const foo = async () => { try { await fn(); } catch (e) { console.log('lala', e); // some error } } foo();
转换url
输入一个url地址,将参数转换为对应的key和value的object的
其中难点在要求要考虑特殊情况的转换,如中文、%、+等这些
babel
说一下babel转换的原理是什么?(回答了AST)
- 详细说一下AST?写一下AST语法树转换过程和结构
ES6语法转换
把这个改写成ES5
for(let i = 0; i< 3; i++) { setTimeout(() => { console.log(i); },100); }
二面
自我介绍
- 主技术栈是什么?(vue) 然后之后就都是vue的问题……
基础
- 说一下vue的路由
- 项目默认是哪种模式
- 有什么区别
- 说一下vue的生命周期
- 说一下父子组件的生命周期?
- 子组件是什么时候创建的
- 说一下keep-alive?用过吗?原理是什么?
- 组件通信的方式?
- vuex是如何实现的?实现的原理是什么?
- 为什么要有mutation和action呢?
- eventbus是怎么实现的?底层原理是什么?为什么可以实现不同组件之间状态的共享?
- 它们是什么模式?(订阅发布)
- 手写一下订阅发布
- 为什么会用到apply呢?手写一个apply
- 说一下apply、bind、call的区别
- computed和watch的区别
- 具体的区别有哪些呢?在操作方面呢?
- vue是怎么监听数组方法的呢?为什么能监听实现原生方法呢?
- 你们遇到这种问题怎么解决呢?(nextTick)
- 手写一个vue实现监听数组双向绑定的呢?原生方法?
- 项目打包用的什么?
- webpack了解吗
- 有什么常用的loader和plugin
- 提到了moment.js的plugin,解释一下这是什么
- webpack的编译顺序和方式是什么样的?
- 那么如果有两个loader,都在这个loader的数组里,应该是从左往右还是从右往左编译呢?
- 自己写过loader和plugin吗?
- 提到了ts-loader,写过ts吗?
- 说一下ts和js有什么区别?ts有什么好处?介绍一下ts?
- 对ts的类型系统有了解吗?
- ES6语法用过哪些?
- promise有哪些状态?
- promise.all和race有什么区别
- 手写一个方法,结合all和race,所有都resolved/reject时才返回,并返回所有的结果
hr面
大概就是意愿这些常规问题,没有记录啦~
全部评论
(9) 回帖