首页 > 腾讯前端一面/二面/hr面
头像
牛客588145489号
编辑于 2021-04-15 23:16
+ 关注

腾讯前端一面/二面/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!!!许愿许愿。
最后表白下一面小姐姐,一直在帮我问进度,每轮面完还会来问我感觉怎么样,真的人美心善!!!!!

更多模拟面试

全部评论

(3) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐