一面电话面,二面现场面试的。整个过程都是按部就班的,没有一开始就很难的问题(除了直接问源码/原理这种)css
据了解阿里健康90%的项目前端技术栈是react,可是个人简历是vue技术栈和小程序比较多,因此不多涉及到react相关的部分。如下是一些面试题html
Vue
- Vue里template到render通过哪些步骤
- Object.defineProperty有哪些缺陷,Vue3为何要用proxy重构
- 修改data里绑定的一个变量的值,页面有没有当即更新,为何要这样作
- vuex的实现原理
- vue-router的实现原理
详细描述从浏览器输入一个URL地址到页面渲染的整个过程
- http req有哪些参数,分别作什么用的,服务端接收到这些参数会如何作处理
- res header头有哪些(说出具体做用)
- 怎么作缓存,解释下http缓存机制,什么是强缓存/协商缓存,他们优先级是怎样的
- 什么状况下浏览器回返回204/304/301/500等状态码
- http2有哪些新特性
- http2多路复用和http1 keep-alive的区别
- 简单问了下spdy和http2的区别
- js加载若是不阻塞dom
- html css js这些是怎样被解析的
- 一些加载的细节
PWA
- PWA有哪些优点,你最喜欢其中哪些功能
- Service Worker特征
- Service Worker怎么作优化
- Service Worker是怎么更新的
css
- css实现一个左边定宽,右边自适应的布局,说出你知道的全部的方式
- 垂直居中的几种方式,分别用在什么场景
- 哪些属性能够开启GPU加速
css问题很少,大概过了一下就前端
谈项目
- jq重构为何选择vue技术栈,技术选型是怎么考虑的
回答是从渐进式、侵入性低、方便作相似微前端方面考虑的vue
- 怎么理解微前端,有哪些使用场景,解决了什么问题
- webpack怎么优化打包速度,如何优化项目
- 谈到了团队会作codereview,而后问 codereview你会注重哪些地方
- 在聊codereview的时候引入了一个反作用的概念,而后开始聊函数式
函数式
- 函数式优缺点
- 什么是纯函数/反作用
- 柯里化的做用
- 柯里化和闭包的关系
- memoize(or memorize?)有哪些业务场景能够用到
- 怎么理解组合 compose
- 实现一个compose(图方便,用reduce写的的,跟redux的compose实现相似)
- compose内部出错返回error了怎么处理
- 什么是函子
- 前端跟服务端交互,ajax必定是有反作用的,怎么处理
- 解释下什么是monad
- 后边不会了就没有再继续问(我函数式了解很少)
小程序
- 小程序用taro相比原生有哪些好处
- 为何要用taro
- 提到了async -> 小程序原生里怎么使用async
- generator+co的形式是怎么实现async的
- generator和promise的区别和联系
- generator怎么实现异步操做(不是很明白,我理解generator跟异步不要紧)
- 小程序为何是双线程架构,他是怎样考虑的
- 小程序渲染层是webview,那么原生组件是怎么渲染到页面上来的
- 为何要设计原生组件,相比纯JavaScript有哪些好处
- 小程序和客户端的通讯原理(JSBridge方案)
跟业务/简历无关的面试题
- 设计一个扫码登陆的流程(前端),包括跟后端是怎样交互的,接口的设计。能够用UML或者其余本身擅长的任意方式描述
- 不用eval函数对一个四则运算求值。例如:"2+3*4/6-1"
剩下的大部分时间都在聊业务相关和我的发展,跳槽指望之类的了react
完
PS: 对猫/前端感兴趣的欢迎加入CatScript 交流群:761155721。 是个新创建的程序员撸猫群,咱们能够聊聊技术和面试webpack