腾讯CSIG一二三+HR面经验+timeline(已OC)

4/29 技术一面(90min)

  1. 为什么选择前端(答:注重用户表达和体验;所见即所得,反馈感强)
  2. 实习相关:哪个部门,什么技术栈
    1. 框架理解(例如nest.js为什么要基于express/fastify等层层封装 - 答:类似于装饰器模式,不断往上面加功能)
    2. 除了装饰器模式还知道哪些设计模式?(订阅-发布,工厂模式)
  3. 个人项目介绍-最具有挑战性的项目-why-技术选型
  4. 使用 AI 工具了吗?如何使用的?
  5. 知道闭包吗?为什么出现闭包?
  6. 闭包会产生什么问题?(内存泄露)那怎么解决内存泄露?
  7. Promise解决什么问题(回调地狱),简述如何把回调改成Promise
  8. 浏览器事件循环
  9. 回流和重绘,什么时候触发,如何减少(答:我只知道 React 用 Virtual DOM 来合并多次 DOM 操作一起 commit,只回流一次)
  10. 那讲讲 React 的虚拟 DOM 和 Fiber 吧
  11. useLayoutEffectuseEffect有何区别?如何模拟生命周期?
  12. HTTP 1/2/3 的主要区别
  13. “Git 会吗?哦,我看你 GitHub 有一堆项目,咱不用问了(面试官好可爱哈哈哈哈)”
  14. 手写题:实现一个throttle
  15. 手写题:在二叉搜索树(BST)里找到第 K 大的值
    1. 我先写了一个记忆化搜索+贪心,过了用例。面试官提示:知道树的遍历吗?
    2. 我(醍醐灌顶版):“Oh!!中序遍历!!我3min写出来!!”
    3. 面试官:“好,知道你会,不用写了(开始反问环节)”

5/1 技术二面(80min)

  1. 实习深深深深深挖(25min)
  2. (接着实习的 Node 项目问)中间件知道是做什么的吗?用过哪些?
  3. 对大模型的理解和应用
  4. 用 Webpack 还是 Vite?(都用)讲讲你的理解,它们的区别
  5. 为什么个人项目用 Vite,实习的时候的脚手架都是 Webpack?
  6. Vite 开发环境、生产环境有何不同?(开发环境不会全部打包)
  7. Webpack 和 Vite 的 Tree shaking
  8. React Fiber(梅开二度……)
  9. React Hooks 是做什么的?常用哪些 hooks?
  10. useMemo, useCallbackuseRef 都是性能优化 / 缓存类 Hook,有什么区别?
  11. TCP 和 UDP 区别,TCP 三次握手,SYN 攻击
  12. 跨域,同源策略
  13. 前端优化,使用过哪些优化方式(我说没怎么接触过……)
  14. TS 用过吗?type 和 interface 有何区别?
  15. 手写题(这次是 share screen 在本地写):

对算术表达式求值:给定一个字符串,输出对应的计算结果,包括加减乘除,小括号,只考虑正整数,例如"2+3*2" => 输出8

例如:1+2*(5-2)+4 => 1+2*3+4 => 1+6+4 => 11

(代码见下一页,最优解是逆波兰表达式,但我不会,写了个同样是O(n)的多轮迭代

  1. 手写题2: 有一种花,两种鸟,花定时开放,鸟看到花开会叫,鸟的叫声不一样,用代码来实现这样一种场景(我:?????不明所以……写了两个类,类似于发布订阅)
  2. 评价:代码能力挺好的……(秒过,面试官说“如果有三面,要安排到五一回来”)
// 对算术表达式求值:给定一个字符串,输出对应的计算结果,包括加减乘除,小括号,只考虑正整数
// 1+2*(5-2)+4 => 1+2*3+4 => 1+6+4 => 11

function calculate(str: string): number {
  let stack: number[] = [];  // 下标
  let result = 0;
  // 处理括号,如果没有 () 则不用递归
  for (let i = 0; i < str.length; i ++) {
    let c = str[i];
    if (c === '(') {
      stack.push(i);
    } else if (c === ')') {
      let startIdx = stack.pop() as number;  // 最后一个元素,也就是括号开始
      if (stack.length === 0) {
        const inner = str.substring(startIdx + 1, i);
        const res = calculate(inner);
        // 替换原来括号部分的东西
        return calculate(str.substring(0, startIdx) + res + str.substring(i + 1));
      }
    } 
  };

  // 解析
  let components: (number | string)[] = [];
  let currentNumber = 0;
  for (let c of str) {
    if (["+", "-", "*", "/"].includes(c)) {
      components.push(currentNumber);
      currentNumber = 0;
      components.push(c);
    } else {
      currentNumber = currentNumber * 10 + Number(c);
    }
  }
  components.push(currentNumber);

  // Tested
  // 乘除  2*3*3 -> [--, --, 6, *, 3]
  for (let i = 0; i < components.length; i ++) {
    if (components[i] === "*" || components[i] === "/") {
      // 计算 i-1 和 i+1
      let temp: number;
      if (components[i] === "*") {
        temp = (components[i - 1] as number) * (components[i + 1] as number);
      } else {
        temp = Math.floor((components[i - 1] as number) / (components[i + 1] as number));
      }
      // 替换
      components[i + 1] = temp;
      components[i] = components[i - 1] = "--";  // 无用占位符
    } 
  }
  // 加减 [2, +, 3, -, 5]
  components = components.filter((c) => c !== "--");
  let isAdd = true;
  for (let i = 0; i < components.length; i ++) {
    if (components[i] === "+" || components[i] === "-") {
      isAdd = (components[i] === "+");
    } else {
      result += (isAdd ? components[i] as number : -components[i]);
    }
  }
  // console.log(result)
  return result;
}


console.log(calculate("(1+2*(5-2))*4"));
console.log(calculate("20*11+80/4"))
console.log(calculate("((1+2)*(5-2))*(((4+3)*2)+6)"));

5/7 技术三面(30min)

  1. 聊聊你做过的项目
    1. 有没有上线,有没有用户(没有,只是demo)
    2. 看一下部署的 URL(我发了3个,简历上没写的都发了,但只有一个是完成度高的)
    3. 选择其中一个展示。难点是什么?
    4. 为什么要封装很多个 hooks(答:视图和数据分离,方便维护)
  2. 聊聊实习
  3. (画风突变)聊聊基础问题:
    1. 平时使用哪些协议?(HTTP最多,有写过 TCP/UDP socket 的 C++ 项目)
    2. HTTP 状态码有哪些?
    3. 深挖304 Not Modified:缓存在哪里?浏览器发请求了吗?
  4. JS 原型链知道吧(知道)最终指向哪里(null)然后就没细问
  5. 留学学到了什么?研究方向(无,授课型)?有没有投其他岗位?

5/7 HR面(30min)

  1. 为什么选前端?确定搞前端吗?
  2. 周围人对你什么评价?(是好盆友)
  3. 周围人对你有过负面评价吗?(有,说我话太多)
  4. 实习的时候被批评过吗?(有,还是话太多,太爱分享)
  5. 三个词语形容优点(每一个都细问了,聊了很久)
  6. 三个词语形容缺点
  7. 被批评什么感受?分享得不到反馈会难过吗?(不会)
  8. 有过一段长时间投入没有回报的事情吗?
  9. 为什么留学?什么时候决定的(大二就决定了,强调了一下不是大四一拍屁股决定的、不是保不上研才决定的)
  10. 为什么放弃保研?
  11. 今后什么打算,回国去哪个城市有倾向吗(那必然是大深圳!!)

5/7 云证,录用评估中

坐等OC坐等OC坐等OC!!求求了鹅!!让我做一次鹅孝子吧!!

咏鹅一首:

有鹅选鹅,无鹅延毕,明年再鹅,延毕还无,建议读硕,毕业再鹅,无鹅延毕,明年再鹅,若再无鹅,建议读博,毕业再鹅,无鹅延毕,明年再鹅,延毕还无,博后可读,出站再鹅,若再无鹅,入校拼搏,评上教授,还能再鹅

5/8 私聊问了HR,说“这两天”审批完,继续许愿!!盼鹅!!!

5/9 HR直接说offer发到邮箱了,1秒接收!!!孩纸来还愿了!!!

让我再次咏鹅:

有鹅选鹅,无鹅延毕,明年再鹅,延毕还无,建议读硕,毕业再鹅,无鹅延毕,明年再鹅,若再无鹅,建议读博,毕业再鹅,无鹅延毕,明年再鹅,延毕还无,博后可读,出站再鹅,若再无鹅,入校拼搏,评上教授,还能再鹅

#面试##前端技术面试##腾讯求职进展汇总##腾讯前端面试#
全部评论
佬 怎么联系hr呀 是对方主动加吗 我这只有面试邀请 找不到hr联系方式
点赞 回复 分享
发布于 2025-05-11 02:12 黑龙江

相关推荐

一直在牛客看别人的分享,终于有一天自己也能做分享了,字节推流程还是很快的,纪念我的暑期收官timeline:5.15&nbsp;一面5.21&nbsp;二面5.25&nbsp;三面5.27&nbsp;hr&nbsp;面5.29&nbsp;offer一面:全程项目问题,无八股,手撕只让说了下思路,一个括号匹配还有一个忘了(但不难)二面:全程八股拷打,无手撕1.&nbsp;为什么想做前端2.&nbsp;js&nbsp;闭包及其风险3.&nbsp;js&nbsp;引擎你了解什么,异步任务怎么实现的,nodejs&nbsp;里怎么做4.&nbsp;从输入&nbsp;url&nbsp;到渲染页面的整个过程,渲染过程中具体哪些工作5.&nbsp;css&nbsp;样式优先级6.&nbsp;给按钮添加点击事件的几种方法,除了内联属性呢,你知道&nbsp;addEventListen&nbsp;的哪些属性,usecapture&nbsp;的作用7.&nbsp;图片懒加载的方法,它的表现是什么样子的,如果没有&nbsp;loading&nbsp;这个方法改用&nbsp;js&nbsp;去实现可以怎么做,他是怎么判断图片到视口位置的8.&nbsp;做多帧/连续帧的动画有哪些方式,支持动画的图片格式有哪些9.&nbsp;你怎么提升页面的秒开率,给你一个页面让你做性能优化你的整个流程,有哪些指标,怎么验收测试10.&nbsp;你对&nbsp;agent&nbsp;的理解,和直接给&nbsp;llm&nbsp;有什么区别,你在&nbsp;ai&nbsp;coding&nbsp;中遇到什么问题,怎么让&nbsp;ai&nbsp;更符合期望地工作,用哪个&nbsp;ai&nbsp;工具比较多11.&nbsp;除了前端你还了解哪些技术栈,有没有实际操作,linux&nbsp;命令知道哪些12.&nbsp;你在生活中有哪些爱好,有没有用技术手段去解决13.&nbsp;mcp&nbsp;和&nbsp;skill&nbsp;的理解,有没有自己开发过三面:项目简单拷打+手撕:promise并发调度,版本号排序1.&nbsp;你怎么理解qiankun框架,mpa&nbsp;不能实现吗,js&nbsp;隔离与&nbsp;css&nbsp;隔离的原理,沙箱隔离的底层原理,css&nbsp;隔离还了解哪些其他方案2.&nbsp;说说你在&nbsp;xxx&nbsp;这个项目的难点+深入提问这里匿名,于是分享下真心话,从三月底开始大大小小的投递与面试,中间经历了无数次迷茫、崩溃、失眠,看着其他同学陆续上岸,心态一再受打击,收到不甚满意的&nbsp;offer&nbsp;也曾想过有个班上就挺好了,要不到此为止吧,但一想到即便入职也过不去心里那道坎,还是决定再试试。我当然知道这是围城,可是有些事自己不体验一下是不会甘心的。最后我想说找实习心态最重要,实力与运气并存才能有满意的结果,我自认为差不多的面试表现,不同面试官会给出截然相反的评价。所以不要妄自菲薄,努力最大的意义是提高自己被看见的概率,面试最大的意义是增强自己的抗压能力,即便我未来可能会转行,可能会后悔,但这段经历能让我接受失败是人生的常态,能让我在持续低气压中保持学习状态、持续做正向的事情。祝大家都拿到满意的结果~
点赞 评论 收藏
分享
评论
14
41
分享

创作者周榜

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