蓝湖前端一二三面面经
一面
- 浏览器事件机制,捕获冒泡事件委托
- 浏览器渲染页面流程
- 页面优化方式
- 什么会触发合成层
- vue组件传值
- 发布订阅和观察者区别
- vue路由异步加载原理
(应该还有些八股,但转眼就忘了)
写了一个业务代码题
二面
(项目略去不谈)
- 你项目用了websocket,怎么保持双向通信不断掉 -> ping-pong(顺便提了一嘴tcp的keepalive)
- tcp有了keepalive为什么还需要websocket的ping-pong -> 乱答的协议层各自有各自的实现,包括ip,udp同时存在纠错编码类似
- socketio也有ping-pong,和websocket原生ping-pong有什么区别 -> 这个真的不会,我自己感觉的是因为有封装问题,包括对退化的长轮询也会有相应的封装,所以socketio的ping-pong应该更上层。说了说面试官也不置可否反正
- socketio的探测报文是干嘛的 -> 答检测是否支持websocket,面试官说不对,我下来看了下感觉应该就是呢
- 我看你用了express,说下怎么高效利用cpu -> 用pm2的负载均衡开启多子进程,用cluster模块利用cpu核心
- PM2的守护进程是怎么实现的 -> 这个我看过,但描述不清楚。结结巴巴说了些,应该没咋说到点子上
- 看你学过react, redux的connect是什么作用 -> 八股,正常答
- redux provider怎么实现 -> 用的context传递store
- react16之前provider怎么实现 -> ???
- redux provider怎么实现 -> 用的context传递store
三面
谈人生
一些后话
蓝湖二面包括三面面试官都谈了很多公司把前端作为业务驱动,重视前端的这么一种想法。
我也非常认同,很想去做一些有趣的事,编辑器,d2c,webassembly等等。但又想留在成都,纠结~