腾讯云|24秋招|前端一面

70min

  • 讲在前面:一些实习相关的细节技术问题就不讲了,讲了意义也不大

实习及其延伸

  • 遇到过最有挑战性的任务
  • 如何保证重构的质量
  • 关注重要的数据
  • 代码审查
  • 建立良好的测试覆盖率
  • 性能监测
  • 给一个具体的场景,比如白屏?你怎么通过捕获异常的方式知道页面出现了白屏
  • 使用try...catch块捕获潜在的异常,并在控制台中输出相关信息,得知哪个模块导致了页面白屏
  • 如果有异常,如何进行全局的捕获?
  • 在react和原生JS中,使用window.onerror捕获全局异常
  • 在vue中使用errorHandler 来捕获未被try...catch的全局异常
  • 是否了解单元测试,有没有写过?(聊了一下软测比赛)
  • 遇到的其他困难?
  • Bundle包优化的过程,具体的例子

八股

  • Vue响应式原理
  • http1.1http2的变化(详细分析多路服用)
  • http请求比较多的情况怎么处理
  • 合并http请求分页加载、延迟加载等方法
  • 作用域的类型
  • 前端安全相关(攻击方式),富文本渲染到页面上有什么风险
  • 大抵是xss攻击和html注入攻击这两个方面的安全风险

手撕代码

// 题目1
          // 给定一个正整数 n,你可以做如下操作!
          // 如果 n 是偶数,则用 n/2换 n 。
          // 如果n 是奇数,则可以用 n + 1或n-1替换
          // 返回 n 变为 1 所需的 最小换次数。
          let res = Infinity;
          const dfs = (n,step) => {
            if(n == 1){
              res = Math.min(step, res);
              return;
            }
            if(n % 2 == 0){
              n = Math.floor(n / 2);
              dfs(n, step + 1);
            } else {
              dfs(n - 1, step + 1);
              dfs(n + 1, step + 1);
            }
          }
          dfs(8,0);
          console.log(res);
// 题目2
// 请实现一个JavaScript 函数,用于控制并发请求的数量。
            // 该函数接收一个请求函数数组和一个最大并发数作为参数,
            // 当请求函数数组中的请求函数量超过最大并发数时
            // 需要等待当前请求完成后再执行后续请求。
            // 函数返回一个 Promise,当所有请求都完成时,
            // Promise 应该 resolve”所有请求的结果数组。
      const limitConcurrency = async (requests, maxConcurrency) => {
		// 书写代码
        const results = []
        let currentConcurrency = 0
        let currentIndex = 0

        async function executeRequest() {
          if (currentIndex >= requests.length) {
            return
          }

          if (currentConcurrency < maxConcurrency) {
            const requestFunction = requests[currentIndex]
            currentIndex++

            currentConcurrency++
            const result = await requestFunction()
            results.push(result)
            currentConcurrency--

            // 继续执行下一个请求
            executeRequest()
          }
        }

        // 启动初始请求数量
        while (currentConcurrency < maxConcurrency) {
          executeRequest()
        }

        // 等待所有请求完成
        while (currentIndex < requests.length) {
          await new Promise(resolve => setTimeout(resolve, 100))
        }

        return results
      }
            // 示例请求函数
            function request(url) {
              return new Promise(resolve => {
                setTimeout(() => {
                  resolve(`Response from${url}`)
                }, Math.random() * 1000)
              })
            }
            const requests = [
            ()=>request("https://example.com/1"),
            ()=>request("https://example.com/2"),
            ()=>request("https://example.com/3"),
            ()=>request("https://example.com/4"),
            ()=>request("https://example.com/5")
          ]
          limitConcurrency(requests,2).then((results) => {
              console.log(results);
          })

反问

  • 面试流程:技术面3~4面。 加上HR面都要5面了,不愧是你,鹅
  • 技术栈和业务:做的低代码相关的,要求比较高

总结

  • 问的没有很难,答的也挺一般的。但是不愧是鹅的一贯作风哦,中午1点约我面试(没给我选择机会),大中午的会议室都被小姐姐们占用去睡午觉了,我差点就找不到地方面试了,因为这个面试又睡不了午觉,我只能说,挂的好,后面又发了几次面试邀约和笔试邀约总之拒得挺爽的
#晒一晒我的offer##23届找工作求助阵地##如何判断面试是否凉了##如何一边实习一边秋招##腾讯#
全部评论
卧槽,大佬,一面和你同一个面试官,你已经挂了吗?三到四轮技术面也太离谱了。
2 回复 分享
发布于 2023-09-24 17:12 四川

相关推荐

不愿透露姓名的神秘牛友
昨天 14:00
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-02 15:39
希望奇迹发生的布莱克...:真的是 现在卷实习就是没苦硬吃
点赞 评论 收藏
分享
06-22 10:41
赣东学院 Java
程序员小白条:?周六晚上投,这是什么操作,专门找996起步的吗
点赞 评论 收藏
分享
06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
看到这个内容真是闹麻了。。。。。。现在有了AI以后很多人面试都会作弊吗?&nbsp;那对老老实实面试的人岂不是不公平....
程序员牛肉:公平那是对小孩子讲的童话故事,成年人的世界只有能不能接受失败的后果。 你要是能接受面试作弊被发现之后多家公司联合永久拉黑的后果,你就搞。
点赞 评论 收藏
分享
评论
8
20
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务