虾皮提前批前端 北京一面二面面经

已约hr面,过来还愿。
凭感觉回忆面经,可能有遗漏

一面:40min
  1. 自我介绍
  2. vue响应式原理,这题我喜欢数据劫持+编译模板+依赖收集一起说。
  3. 快排,我说完左边比flag小,右边比flag大后,再对左边和右边递归。面试官反复问我确定是i>=j的时候终止判断么,我没太get到点就提出现场手写一个,面试官说不用。
  4. 不用递归实现前序遍历二叉树(不会)LeetCode有题解,准备过的话还是挺简单的
  5. css盒模型,面试官问border-box包含什么,我说border-box的content区域是content+padding+border,他说要问border-box盒模型包含什么,不太懂就过了。
  6. BFC是什么,八股文吧,针对margin重叠详细问了,同一个BFC内部margin重叠,不同BFC不会。
  7. EventLoop,我说浏览器是先同步代码,异步回调会放入队列,每轮先执行一个宏任务然后清空微任务,然后浏览器判断是否渲染。面试官说不对,Node的是6个阶段,面试官说node的对了。
  8. Object.__proto__是什么(Function.prototype),Function.__proto__呢(还是Function.prototype,他们都是构造函数嘛),终于看见面试官比较满意的点头了。
  9. 算法题,寻找两个数组中不重复的元素
  10. [1,2,2,3]
    [1,3,4,5]
    返回[2,4,5]
    
    一开始想的比较直观是用遍历arr1 indexOf(arr2),如果没有就添加进集合,倒过来再对arr2做一遍
    复杂度是o(m*n)
    面试官问有没有o(n)
    运气比较好,一下子脑子就转过来了,说先arr1全添加进集合,遍历arr2,如果重复就删除,不重复
    再添加
    过去一周了,可能漏了几个题,答的不太好或者印象比较深的应该就是这些,面试官比较严肃和正经,但人还是挺好的(这不给我过了嘛O(∩_∩)O),反问环节也对工作环境,部门技术栈,对我的建议说的比较细。面试体验还是很好的。
二面:(60min)
  1. 自我介绍
  2. 一上来就3个看题说输出,有一大段代码,还得理逻辑,弄得我很紧张。而且面试结束后房间直接消失了,没有把题目保存下来。。。                                                                                                                                    第一个是闭包输出,alert是输出字符串的,大概就这个点,第二题是原型的,我答错了,面试官说回去再看看。第三个宏微任任务务输出的,微任务是async,await这种的,我感觉我顺序说对了,async,await我说是语法糖,我跟他转换成Promise和.then说的输出,我后来自己测感觉顺序也说多了,面试官对我async,await说得不太满意
  3. Vue响应式原理,同上。
  4. 组件什么时候会更新,我说初次加载,data变动,props变动。
  5. 如果这个data在template里没有用到还会更新吗。 不会,因为我刚才说响应式提到编译模板了,编译模板没解析到就不会有依赖收集的过程,是不会触发更新的。
  6. mounted里修改data,然后访问dom值是旧值还是新值,旧值,vue是异步更新的,nexttick
  7. nexttick你会怎么实现,我说是微任务,Promise,mutationObserve这种,都没有就settimeout(0)吧
  8. settimeout(0)一定会在0秒后执行吗(我感觉这个问题就很奇怪。。。要是3秒后感觉还挺晕人的,这个0摆明了是有坑啊)不会的,只是在0秒后把回调放入宏任务队列,还是要根据执行情况再去执行他的
  9. http缓存,强缓存,协商缓存,if-modified-since和if-none-match怎么用也说了,这种题感觉别等面试官问,知道就多说点。
  10. 问为什么有了last-modified还有E-tag
  11. 百度给谷歌发请求能发生成功吗,怎么解决跨域
  12. 百度给谷歌发请求会带cookie吗,我说了cookie 里的sameSite字段,none,Lax,strict
  13. 现在浏览器默认什么(我刚好在mdn文档上看过,以前是none,现代浏览器逐步趋近成Lax了)
  14. 如何带上cookie呢,一开始没答出来,反问环节面试官说就是cors里的一个字段,我想起来就立马答了,access-control-allow-Credentials
  15. 渲染2万条数据怎么弄,我说GPU加速,他说是内存层面,我面试没想出来,第二天早上想到一个。。感觉就可以用computed属性计算可视化区域内的,只展示这些就行了。面试的时候不太敢说,感觉可以再放开点的。
  16. 之前提到GPU加速,怎么弄,原理?给所有节点都GPU加速不行吗?不行,我答了个渲染层提升为合成层里层压缩和层爆炸的概念,好像算过了。
  17. 如果把所有的v-if都改成v-show会怎么样,我很懵。。面试官问你自己没试过么,我说没
  18. vue里key属性是做什么的,绑index行不行?  掘金上看的diff原理,挺详细的说的

不复盘不知道。。一看二面原来问了这么多问题。而且还是凭记忆回想的,可能还漏了几个,当天我感觉答的挺一般的,好几个题没答上来,现在综合一看好像答上来的也不少。。感觉还是要多注重原理,然后问到你会的时候就多说点,把原理说出来。二面面试官非常和蔼,是深圳的,我问工作环境他笑着说你投北京的我深圳的说了也没啥参考价值hhh,  二面无算法。

#Shopee面经##面经##Shopee##校招#
全部评论
收到意向书了
1 回复 分享
发布于 2021-09-01 12:56
二面跟我的问题基本一样啊
点赞 回复 分享
发布于 2021-08-19 18:36
祝楼主好运,大家有意向也可以投递虾皮哦·~ 虾皮校园大使内推码:4kTbVu​​ 可以私我push进度、进秋招群,群内获取笔面经以及虾皮最新秋招情况
点赞 回复 分享
发布于 2021-08-22 19:10

相关推荐

10-06 12:46
门头沟学院 Java
跨考小白:定时任务启动
点赞 评论 收藏
分享
牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-21 17:16
科大讯飞 算法工程师 28.0k*14.0, 百分之三十是绩效,惯例只发0.9
点赞 评论 收藏
分享
1 22 评论
分享
牛客网
牛客企业服务