10.10 58同城前端一面+10.12二面
一面:
vue
- 双向数据绑定 ✅
- 为什么要用key 为什么不能用index作为key ✅
- watch和computed的区别 ✅
- defineProperty()实现的是浅层监听,如何检测到嵌套的下一层
- vue和js分别是怎么实现的 ✅我理解是用Vue.set()/vm.$set/Object.assign()
- 使用数据劫持后,data身上会带一些原型链上的属性,如何只获取data本身的属性 ✅
- 有没有实现过自定义指令
react
- setState的执行过程
css
- 说下BFC ✅回答思路:是什么 如何触发 用来解决什么问题
- 用一个css画一个宽度为屏幕宽度50%的正方形✅
- 知道哪些布局单位 ✅
- 使用display: flex会使css的什么属性失效 ✅
js
- 看过js bridge的源码吗
- ios和android有什么不同
- 修改this绑定的方式有哪些✅
- 手写bind和call ✅
- 事件循环有哪些宏任务 哪些微任务✅
- 一个带async await的代码输出题 比较复杂
浏览器
- 不同源cookie获取 说详细过程 ✅
其他
- 如何监控前端异常
- 对Nodejs熟悉到什么程度
- 看过埋点的源码吗
- 手写delay
这一场强度也很大,面了将近两个小时,面完感觉大脑已经停止运行,涉及到了一些我不熟悉的领域,这部分答得不好,以为稳挂了,没想到也很快发了二面。一面面试官体验超好
二面
- 自我介绍
- Node中的事件循环机制和浏览器中的有什么区别
- nodejs和Java的区别
- 写一道题,在Array原型上添加一个两数之和的方法,会有多组,求乘积最大的一组
- node后端如何识别用户未登录
- 怎么判断token过期时间
二面只记住了这些问题,总体来说感觉面试官很关注node,面完之后不过不挂,我这边看不到进度,不过没后续了,似乎现在都已经在开奖了,就等于挂了