腾讯前端一面/二面/hr面

一面(1h20min)

  1. 职业规划?感兴趣的业务?

  2. 最近学习的前端技术点?(Hooks)

笔试题(20~30分钟):

  • js闭包实现自增函数

  • 实现Event类,实现监听和触发事件,使用观察者模式,且实现一个Page类继承Event。

  • O(n)的时间复杂度实现从大到小的排序

    function sortGrade(array){  if(array.length==0||array.length==1){  return array;  }  var hash=new Map();  for(var i=0;i<array.length;i++){   if(hash.has(array[i])){  var m=hash.get(array[i]);    hash.set(array[i],m+1);  }else{  hash.set(array[i],1);  }  }    var newArray=[];  for(var i=100;i>=0;i--){  if(hash.has(i)){  var value=hash.get(i);  while(value!=0){  newArray.push(i);  value--;  }  }  }  return newArray } console.log(sortGrade([23,98,97,97,90,90,90,67,20])) //[98, 97, 97, 90, 90,90, 67, 23, 20]
  • 数组去重+从小到大排序

  • 求一个数组排序后和临值的最大差值

问题:

  1. 高阶组件与Hooks的优缺点?

  2. redux解决什么问题?(组件通信)

  3. react-router的原理?

    • hashHistory:使用hash的方式,由于hash值改变时浏览器不会发送请求,实现了单页应用的功能。
      • 一开始将所有页面对应的hash值储存到一个数组中,并存入对应的回调函数。

      • 监听hashChange事件,当hash值改变时执行对应的回调函数,实现组件的切换。

      • 通过location.hash获取当前页面的hash值,执行对应回调

    • BroswerHistory(不能刷新,浏览器会自动发送请求,导致错误。可以通过在服务器配置,当收到不符合要求的url就返回index.html页面) 利用H5的history新特性实现,当使用history.pushState()/history.replaceState()改变url时,页面不会发送请求,只会改变url的值。但由于不能监听history的改变,所以不能监听到对应的url而执行对应回调,所以需要手动监听。
      • 一开始注册所有对应url的回调函数,存入数组。

      • 监听popState事件,当点击前进后退按钮时,会触发,然后执行对应的回调。

      • 当发生点击跳转时,取消点击事件的默认请求操作,调用pushState()改变url,执行对应的回调函数。

  4. 输入url到显示的过程?

    • 静态资源缓存的过程?(cache-Control:max-age=)

  5. 首页加载慢,如何优化?

    • 使用webpack打包,压缩代码,实现按需加载

    • 使用缓存

    • script 设置defer/async

    • 使用图片懒加载,对滚动事件实现防抖节流操作,防止不停触发事件

    • 减少重排重绘

    • 使用预加载preload/prefetch

  6. 为什么要使用HTTPS?

    • 建立连接与发送数据的过程?(TLS连接过程)

    • 对称加密还是非对称加密?

    • 非对称加密耗时久,怎么优化?

      硬件升级/软件升级/协议升级(TLS1.3)/会话复用(sessionId)

    • HTTP/2能节省连接时间吗?

    • HTTP/2会有队头阻塞问题吗?

    • TCP的队头阻塞体现在哪?怎么解决TCP端的队头阻塞问题?(QUIC)

  7. 用户在点击操作时发现页面很卡,怎么分析是什么引起的?(1.渲染不及时,出现掉帧2.内存占用过多)

    • js执行引起阻塞,由于密集计算,怎么定位这个问题?(performance面板)怎么在同时密集计算的时候,正常渲染?(webWorker)

    • 页面内存占用过多导致太卡

      垃圾回收机制是怎样的?

      造成内存泄漏的写法有哪些?(1.闭包使用不当2.出现循环引用3.定时器未清除3.清除元素时,未清除事件处理函数4.未回收的全局变量)

二面(10min)

就随便问了几个问题,然后就结束了,但还是过了......

  1. 问项目有没有用户?做完之后有什么感想?

  2. 有没有了解网络协议?

    • TCP与UDP的区别

    • 什么情况用TCP,什么情况用UDP?为什么视频使用UDP协议?有什么负面影响?

    • HTTP的协议格式?

    • 怎么判断HTTP报文传输完成了?

  3. 了解linux系统吗?(不了解)

  4. 觉得自己的优点是什么?

  5. 浏览器之间的兼容性差异?(举几个例子)

  6. 实习时间段


HR面

  1. 自我介绍(介绍完说我介绍时间太短,让我重新介绍个三分钟的。。。)

  2. 在校期间做过一些什么成功的事情?

  3. 问什么类型的奖学金?

  4. 科研方面和技术方面的成就?

  5. 在学校中前端方面的排名?

  6. 有其他offer?哪些公司在流程中

  7. 哪里人?介绍家里的情况?

  8. 什么时间可以开始实习

  9. 打算去什么城市发展

求offer!!!许愿许愿。
最后表白下一面小姐姐,一直在帮我问进度,每轮面完还会来问我感觉怎么样,真的人美心善!!!!!
#实习##面经##腾讯##前端工程师#
全部评论
请问是什么部门,方便说吗
1 回复 分享
发布于 2021-04-14 12:58
请问HR面是电话面吗
点赞 回复 分享
发布于 2021-04-14 11:13
小姐姐当初什么时候去实习的呀?如果大三可以翘课是不是也可以早点去
点赞 回复 分享
发布于 2021-11-18 17:13

相关推荐

总体来说比较简单的一次面试,以八股为主,编程题没有很难,大约40分钟自我介绍你在美团有转正的机会吗如果美团给了你转正你还回来阿里吗为什么会考虑阿里你还投递了阿里的哪些部门对工作地点有考虑吗讲一下原型链原型链的最顶点是什么数组方法的some和every是什么,怎么运作的some方法当遇到回调函数返回值为true的时候还会继续执行数组后面的元素的回调函数吗你更熟悉vue还是react(vue)讲一下vue2和vue3的区别讲一下vue2和vue3响应式的区别你对react熟悉哪一些?讲一下useeffect第二个参数代码题:1、打印顺序,并阐述console.log(1);setTimeout(()&nbsp;=&gt;&nbsp;{&nbsp;&nbsp;console.log(2);},&nbsp;0);new&nbsp;Promise((resolve,&nbsp;reject)&nbsp;=&gt;&nbsp;{&nbsp;&nbsp;console.log(3);&nbsp;&nbsp;resolve();}).then(()&nbsp;=&gt;&nbsp;{&nbsp;&nbsp;console.log(4);&nbsp;&nbsp;new&nbsp;Promise((resolve,&nbsp;reject)&nbsp;=&gt;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;console.log(5);&nbsp;&nbsp;&nbsp;&nbsp;resolve();&nbsp;&nbsp;}).then(()&nbsp;=&gt;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;console.log(6);&nbsp;&nbsp;});});console.log(7);//&nbsp;1&nbsp;3&nbsp;7&nbsp;4&nbsp;5&nbsp;6&nbsp;22、两个数组相加输入:l1&nbsp;=&nbsp;[2,4,3],&nbsp;l2&nbsp;=&nbsp;[5,6,4]输出:[7,0,8]解释:342&nbsp;+&nbsp;465&nbsp;=&nbsp;807.反问:1、部门业务是什么?答:负责给阿里集团内部做一些平台工具,面试的部门是法务部,技术栈是低代码2、面试结果什么时候出?答:很快出,如果通过会有后续跟进另外面试官提到要参加后面的笔试(8.31场次),部分笔试内容会超出前端的范围,部门也会参考笔试成绩
阿里巴巴一面345人在聊 查看14道真题和解析
点赞 评论 收藏
分享
点赞 35 评论
分享
牛客网
牛客企业服务