腾讯云|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 四川

相关推荐

不愿透露姓名的神秘牛友
07-15 17:46
暑期就挂了,秋招还有机会吗
大聪明777:研发提前批,14号刚开的,官网上面的配图上有写。提前批没过的话,秋招还可以投,不过前面的笔试/面试记录会被保留,供秋招参考
26届校招投递进展
点赞 评论 收藏
分享
Twilight_m...:表格简历有点难绷。说说个人看法: 1.个人基本情况里好多无意义信息,什么婚姻状况、健康状况、兴趣爱好、户口所在地、身份证号码、邮政编码,不知道的以为你填什么申请表呢。 2.校内实践个人认为对找工作几乎没帮助,建议换成和测开有关的项目,实在没得写留着也行。 3.工作经历完全看不出来是干什么的,起码看着和计算机没啥关系,建议加强描述,写点你在工作期间的实际产出、解决了什么问题。 4.个人简述大而空,看着像AI生成,感觉问题最大。“Python,C,C++成为我打造高效稳定服务的得力工具”、“我渴望凭借自身技术知识与创新能力,推动人工智能技术的应用发展,助力社会实现智能化转型”有种小学作文的美感。而且你确定你个人简述里写的你都会嘛?你AI这块写的什么“深入研究”,发几篇顶会的硕博生都不一定敢这么写。而且你AI这块的能力和软测也完全无关啊。个人简述建议写你对哪些技术栈、哪些语言、哪些生产工具的掌握,写的有条理些,而且最好是和测开强相关的。
点赞 评论 收藏
分享
废物一个0offer:认真的吗二本本科找人工智能岗位
点赞 评论 收藏
分享
评论
8
20
分享

创作者周榜

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