一面
一面是对我来说最友好的一面了,基本上都是简单的一些基础问题
面试官主要是react技术栈,然后我和他说了,我主要是vue的,vue的原理可以,但是问我react的太深的问题我是不太会的,首先是自我介绍,然后开始问问题
- pinia和vuex的区别,其实他想问我Redux和Mobx和其他React状态管理的区别,但是奈何我就会这几个,所以他索性问了问了我pinia
- css实现DOM节点的水平居中有几种方式:我记得我说了四种,flex,text-align,margin,position,应该还有,但是一瞬间的话,脑袋瓦特了
- 实现一个左右布局,左侧200px,右侧自适应,css写有几种方式:我说了浮动、定位、弹性盒、网格这四种
- 检测js数据类型,typeof和instanceof区别,instanceof原理:这里我直接手写了instanceof,这个很简单
- 浏览器输入url,到看到页面会发生什么:我当时懵了,我看过n个面经都说过这个问题,经典八股,但是我就是没背,只能磕磕巴巴说了一些(我八股真的不行,而且我不背这玩意)
- 用Java的时候,对登录请求进行拦截,怎么处理的:这个很简单哈,为啥问Java,这是因为我简历上有,我之前从事过全栈,然后他就问了一下
- 函数式编程的副作用是什么
- 工作的经历,项目问题(这个占据了大部分的时间),其中有个问题可以分享一下,因为我用了
wangeditor,他问我wangeditor的内核是什么
一面总体来说是很友好的,而且都答出来了,面试官很礼貌,面试感受非常好,第二天下午的时候通知二面
二面
噩梦的开始
- 自我介绍
- 公司项目问题(绝大部分时间)
- vue、react数据绑定的区别
- 我想存储一个客户端的数据,前端有哪些存储方式:后来就存储、内存的问题开始展开
- pinia会进行数据的存储,它最终存在了哪里
- js的内存是怎么进行管理的
- 垃圾回收、内存泄漏,什么情况会导致内存泄漏
- 闭包是什么,应用场景,怎么操作会产生内存泄漏
- 你在工作时用的哪种协议
- 除了http还有哪些通信协议(跟前端有关的)
- websocket通信过程是怎么样的
- 前端跨域相关问题
- 代理相关问题
- 服务和服务之间有没有跨域
- 前端安全方面有哪些攻击方式
- 该怎么处理呢
- node有哪些框架可以处理脚本攻击(或者是库)
有些问题记不清了,后面有一些网络的问题,但是忘了,前面其实还好,而且问题是一步一步衍生出来的,这感觉很好,但是到网络安全这里,我就有点不会了,当时就感觉完犊子了,再见
然后过了三天,hr电话告诉我过了,约了三面,其实是比较吃惊的,我以为已经止步了
三面
最难受的一面
- 自我介绍
- 说说最近自己认为最好的项目,然后我说了一些,然后对方:就这?我一时语塞,开始紧张(项目占据了大多数时间)
- 说说tcp三次挥手,为什么不能两次
- tcp粘包,讲讲
- 还有一些计网和操作系统的问题,这里是因为,我根本不会,所以压根没记住问题。。
- 进程、线程区别,举个生动的例子
- 讲讲多线程
- 浏览器的核心线程和核心进程有哪些
- MySQL的引擎
- 现在有一个100tb的文件,让你一分钟之内把这个文件遍历出来,怎么做