腾讯前端一面/二面/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

相关推荐

11-07 13:31
怀化学院 Java
勇敢牛牛不怕难:又疯一个
点赞 评论 收藏
分享
点赞 35 评论
分享
牛客网
牛客企业服务