Shopee前端二面面经

问的东西不多,先问了下项目,然后居然问了体系结构,问了我内存的读取相关的,我就说不记得了
之后问了httponly和协商缓存,怎么学习前端的,其他的就记不清了,
最后让我在本地写了个程序(用的是zoom视频会议,分享屏幕),面试官觉得性能太慢,改了两次后面也没写出来

程序很简单,就是对有序数组去重,但是要求在原数组上操作,于是一些骚操作(比如用set)就用不了了,甚至新建数组也不行

一开始,我忘了是有序数组,就用map记录数组的每一项,如果重复就用splice一个个删除,然后面试官说这个方法太慢了,如果有1万个0,运行会很慢

我才想起来是有序数组,然后就想找重复的相同元素一次删除,比如连续的1,除了第一个之外后面几个一次删除,然后面试官评价还是很慢,如果数组是[1,1,2,2,3,3,4,4...]这种,还是每次删除一个数组

于是我才想到那就干脆最后一次删除,刚开始把数组前面相同元素都替换成不相同的就好了,然后再截尾。然而写的完之后发现结果有点问题,然后时间原因就没有继续了,后面我自己看了下,发现找到非重复项,交换顺序后忘了写break结束循环,结果导致每次都是和一个数交换顺序。

感觉后面的算法面试挺好的,我写的程序性能不够也会提醒,感觉和其他面试相比可以有一点成长

这里贴一下我昨天下午面试完之后改的代码,i记录的是数组重复项,j用来查找数组中没有重复的项,语言当然是js

(前面两行是我试下速度,拿了10万个0看看,因为面试官说我前面的太慢,算个10万个0得很久,实测下来现在1s不到就结束了,hhh)
// arr = Array.from({ length: 100000 });
// arr.fill(0);
arr = [1, 1, 1, 2, 2, 3, 3, 3, 3,3]

reduce = (arr) => {
  let map = new Map();
  let i = 0;    
  for (let j=0; j < arr.length; j++) {
      if (!map.has(arr[j])) {
        i != j && ([arr[i], arr[j]] = [arr[j], arr[i]]);
        map.set(arr[i++], true);
      }    
  }
  arr.splice(i, arr.length - i)
};

reduce(arr);

console.log(arr);




#shopee前端面经##Shopee##前端##面经#
全部评论
LeetCode26
3 回复
分享
发布于 2020-05-11 14:24
快慢指针
1 回复
分享
发布于 2020-04-21 15:59
春招专场
校招火热招聘中
官网直投
我跟你是一个面试官,我是直接用你最后说的那方法,不过全程他都没怎么提示我,我就在那里写了十几分钟,他也等了我十几分钟...
点赞 回复
分享
发布于 2020-04-11 19:31
其他问题都好像跟你一样,我看其他人好像跟我们不是同一个面试官
点赞 回复
分享
发布于 2020-04-11 19:31
让我估计下计算机读取1kb数据要多长时间,我说我不会😂
点赞 回复
分享
发布于 2020-04-11 19:33
10 号下午面试的吗?
点赞 回复
分享
发布于 2020-04-11 20:40
是不是一个帅气的留着寸头的面试官昂
点赞 回复
分享
发布于 2020-04-11 22:50
请问楼主,一面之后多久收到二面通知的?
点赞 回复
分享
发布于 2020-04-18 23:07

相关推荐

岗位描述:负责腾讯云终端&nbsp;RTC&nbsp;SDK(用于视频通话,在线会议,互动教育等领域的实时音视频通信)的功能开发和效果优化。假如你曾因尝试考研、留学或者其它原因暂时错失校招寻找合适岗位的机会,请抓紧机会看这里:腾讯云终端正在招聘&nbsp;2025实习生。岗位面向&nbsp;Web&nbsp;前端开发。这里有经验丰富的&quot;老司机&quot;手把手带领进入音视频和网络技术,期待感兴趣的你加入我们。注:招聘地点为西安腾讯子公司,并非深圳腾讯。岗位要求:1.&nbsp;计算机软件相关专业,本科及以上学历;2.&nbsp;基础扎实,掌握数据结构、算法相关知识,充分理解内存管理、线程调度、进程管理等操作系统基础知识;3.&nbsp;理解面向对象设计思想,有良好的&nbsp;OOP&nbsp;意识;4.&nbsp;掌握前端基础知识&nbsp;(有&nbsp;Vue,&nbsp;React&nbsp;框架基础加分)5.&nbsp;有责任心和学习激情,具备良好的团队合作和沟通能力;6.&nbsp;注重良好的工程素养,支持&nbsp;code&nbsp;review&nbsp;文化,能够虚心接受他人对代码的改进建议和问题点评;-------走过路过不要错过,尤其是不想去大城市卷,想在西安或者回西安发展的小伙伴,可以发送简历到我的邮箱corvoli@tencent.com。发送邮件后可以私信我告知一下,避免邮件误漏。-------最后引流一下#实习##前端##西安##腾讯##阿里##应届##字节##华为#
投递腾讯云智研发等公司9个岗位 名企内推
点赞 评论 收藏
转发
4 21 评论
分享
牛客网
牛客企业服务