自我介绍
问我一面面了什么?做了什么题?(我说问了一些技术问题,然后做了一个数组扁平化去重排序的算法题,她说那这次就不问你数组相关的了!我:????)
看着简历开始问
看我项目难点写了搜索商品后的排序,开始问:
- 你的搜索排序怎么实现的?
- 怎么保证刷新页面后,商品顺序不变?
- 你如何控制一次显示多少个商品?
- 我加载更多的图片怎么实现?需要再次发起请求吗?
然后第二个难点:
- 商品的多种搜索条件是什么意思?(我写的项目有三级联动菜单搜索和输入框搜索)
- 你手写一个三级联动菜单,举个例子:北京-朝阳区-街道,按照这个写一个伪代码吧,最好是可以供大家复用的!(扣了半天,写的也不知道对不对)
- 然后问我,你这个写法有什么问题?(我:???)
- 然后你这个时间复杂度是多少?(我:???)
- 怎么优化你这个代码?(我:使用v-show,只有点击的时候点显示?还有吗?我:……)
项目总算过去了
ajax和fetch的区别?
fetch发送get请求和post请求的区别?
说一下Promise?(我问:是跟ajax,fetch的区别吗?她说不是,原理什么的,我:???)
实现一个函数,用Promise封装一下。(非常熟练的写出来了)
你这个then方法是实例上的还是Promise上的?(我:???,后来她解释说她想问then是不是在Promise原型上!!!我:???这……你要这么问……)
也算熬过去了
然后说一下前端性能优化吧?
刚开始说:首屏优化的话,可以使用SSR
然后问,实现SSR的技术手段有哪些?(我:???)
让我继续:然后如果是阻塞DOM解析的话,可以在外部js文件上添加async或defer
然后问?defer和async使用有什么限制吗?(我:只能在外部js文件上使用?)
让我继续:也可以将script放在最下面,然后可以优化图片,雪碧图、图片懒加载
还有吗?
减少重绘和重排,尽量统一操作DOM,然后可以使用事件委托,减少DOM操作和内存消耗
还有吗?
可以使用防抖和节流,然后使用CDN,从最近的服务器获取资源
还有吗?
减少不必要的Cookie存储,因为cookie每次发送请求都要携带,影响加载速度
还有吗?
能使用前端缓存的就使用缓存,不发送请求
还有吗?
暂时能想到这么多(我:???)
那好,今天我问的就到这里,你有什么要问我的吗?
开始反问,面试官提出建议:知其然也要知其所以然,多看一下原理。(十分感谢)
面试44min,可以说十分煎熬了,每一个问题精准的识别到我知识面薄弱的地方,在这方面十分感谢面试官。面完之后看官网状态,面试已结束,简历共享中,百度提前批到此结束。
绳挑细处断,整理一下,补足缺陷,重新出发!!!