腾讯前端开发四面

四面一共进行了30分钟左右,求过求过😢

  1. 自我介绍
  2. OAuth2授权流程
  3. OAuth2授权优化(安全方面,配合token)
  4. 如何防止中间人攻击(HTTPS)
  5. 如何让token变得安全
  6. Vue数据双向绑定原理
  7. 如果Object.defineProperty()不支持怎么办?
  8. 发布订阅模式的实现
  9. 如何优化发布订阅模式
  10. 数据懒加载的实现
  11. 如何优化数据懒加载
  12. 虚拟列表
  13. 如何优化虚拟列表频繁触发滚轮事件
  14. 为什么学习前端
  15. 未来职业规划
#我的实习求职记录#
全部评论
好难呀
1 回复 分享
发布于 2023-03-29 16:21 广东
第11题楼主是咋回答的?
1 回复 分享
发布于 2023-03-28 11:48 广东
老哥 面完多久状态变的?
点赞 回复 分享
发布于 2023-04-04 13:50 甘肃
母校湖科的,加油啊
点赞 回复 分享
发布于 2023-03-29 18:38 上海
求问楼主面试是哪个事业群?
点赞 回复 分享
发布于 2023-03-28 22:53 湖北

相关推荐

飞书前端一面面经:从基础到实战的技术碰撞一、面试初印象这次飞书前端一面给我的整体感受是节奏紧凑且直击技术核心。面试官风格沉稳,问题由浅入深,既考察基础能力,又注重解决实际问题的思维,是一次很有价值的技术交流。二、面试问题复盘1. CSS 基础考察面试官开场便询问我 CSS 基础掌握程度,我坦诚表示“不是很好”,随后进入具体问题:如何实现三列布局,要求两边宽度固定,中间宽度自适应。我首先提到可以用 JavaScript 监听窗口变化动态调整宽度,但面试官希望用纯 CSS 方案。我迅速想到 Flex 布局,并详细解释了实现思路:.container {  display: flex;}.left, .right {  width: 200px; /* 固定宽度 */}.center {  flex: 1; /* 自动分配剩余空间 */}接着,面试官追问 calc() 函数是否了解,由于平时使用较少,我仅简单说明了它能进行四则运算,用于动态计算 CSS 属性值,比如 width: calc(100% - 400px); 可以配合实现响应式布局。2. 项目与性能优化探讨当被问到 项目中的性能优化经验 时,我如实反馈:目前实习项目和个人项目经验较少,尚未深入接触性能优化模块。面试官没有追问,而是迅速切入算法题环节。3. 算法与代码实现题目1:封装 Promise 重试函数要求实现一个函数,传入请求的 Promise 和请求次数,请求失败时自动重试,达到次数上限后不再发起请求。我给出如下代码:function retryPromise(promise, times) {  let count = 0;  return new Promise((resolve, reject) => {    const run = () => {      promise        .then(resolve)        .catch((error) => {          if (count < times - 1) {            count++;            run();          } else {            reject(error);          }        });    };    run();  });}题目2:实现对象深拷贝我先写出基础版本:function deepClone(obj) {  if (typeof obj!== 'object' || obj === null) {    return obj;  }  let result = Array.isArray(obj)? [] : {};  for (let key in obj) {    if (obj.hasOwnProperty(key)) {      result[key] = deepClone(obj[key]);    }  }  return result;}面试官进一步要求 考虑边界情况,我补充说明:若对象属性为数组,需递归处理数组元素;若属性为函数、正则等特殊类型,需特殊处理。例如,对于函数可直接返回原函数,对于正则可创建新的正则实例。三、反问环节我向面试官提出疑问:“为什么在前端面试中如此看重 CSS 基础?”面试官耐心解答:“CSS 是前端页面布局和视觉交互的基石,良好的 CSS 能力能确保页面高效渲染和兼容性,是支撑复杂业务开发的基础,所以我们会重点考察。”四、面试结果与总结幸运的是,面试结果显示 已通过一面。回顾过程,坦诚承认自身不足并积极思考问题,以及在算法题中清晰的逻辑表达是关键。后续准备二面时,我将重点补足 CSS 知识盲区,积累项目实战经验,尤其关注性能优化相关技术,同时加强对 JavaScript 细节和边界场景的理解。这次面试也让我深刻认识到,扎实的基础和灵活的思维永远是技术面试的核心竞争力。
查看5道真题和解析
点赞 评论 收藏
分享
人生第一次面大厂,和节子挺有羁绊的,浅浅记录一下吧-----------------------------------------------------Timeline:一面        2025-05-07    15-16    当天17: 00 通过二面        2025-05-08    14-15    当天15: 40 通过三面        2025-05-12    15-16    当天20: 38 面挂[HR姐姐说一面二面面评不错,商业化CRM可以捞捞,换部门加一轮面试即可]四面        2025-05-13    17-18    当天21: 31 面挂------------------------------------------------------一面面经-5.7:1. 自我介绍2. 项目性质:你提到的两个项目是练手还是实际投入使用的呀?3. 问项目难点(1)说论坛的游客模式 => 问登陆&登陆态是怎么实现的登陆这块是怎么做的?登陆态是怎么维护的?用户刷新后仍然是登陆状态,怎么判断的?(判断token是否存在)token存在哪里(localstorage里面)token有时效吗?(三天半)你怎么判断它过期的(jwt)你怎么使用jwt解析的 localstorage里面有时效吗?(2)消息实时推送SSE(3)安全性优化(加入csrf)追问:你可以详细介绍一下CSRF吗?你对别的攻击方式了解吗(回答了XSS、提到有分为存储型XSS和反射型)追问存储型和反射型区别4. 自己提到项目收获和项目的开发流程5. 问怎么了解到的项目整体规范开发6. git开发工作流熟悉吗?回答说对于分支流转比较熟悉追问 git merge 和 git rebase的区别rebase使用有什么风险 如何规避风险:影响公共分支追问:怎么样影响的公共分支面试官解释:风险产生的本质原因是git rebase 时候要强推(并且必须强推)7. 对axios封装以及取消重复请求是怎么实现的?追问post请求的避免重复请求是怎么实现的,可以怎么优化8. 节流防抖使用场景9. 图片懒加载追问offsettop是元素距离谁的追问只判断offset整体位置可以吗面试官补充offsettop定位的元素不一定是滚动元素10. Vue2和Vue3的区别11. 问react项目经验12. react hook的原理介绍一下追问hook使用有什么限制吗13. useEffect和useLayout Effect区别14. 一道算法题: 比较版本号【一面面试官是个很温柔的姐姐,提问循循善诱,引导型,面试整体体验很舒适(不敢想要是面过了,姐姐是mentor该有多幸福)】------------------------------------------------------二面面经-5.8:1. 自我介绍 (改进了下自我介绍,明显感觉面试官很赞许【听自我介绍的面试官不多见,感动子】)2. 学校专业课学了哪些课程(自我介绍提到成绩专业第一, 回答数据结构、操作系统、计网、 电子技术基础等)3. 什么情况下促使你去学习前端的 4. 问数据结构问题:讲一下数组和链表的区别 (说数组像整齐排列的房子、链表像一串手串云云)5. 讲一下树的遍历和图的遍历 (答主有点学院派,问数据结构问到点上了,爽)6从浏览器发起一个请求,到请求返回中的过程中,整个请求到响应的路径很多情况下都有缓存。尽可能把缓存说清楚,有哪些缓存(说了强制缓存和协商缓存)追问除了浏览器层面的强制缓存和协商缓存还有哪些缓存,提示如DNS、服务器缓存(讲了DNS缓存, 自己补充讲URL输入到页面呈现的过程)追问其他的缓存7. 你们做系统的静态资源是托管在哪里的,是部署在服务器吗(补充讲项目开发流程, 这里抢问题了,应该看面试官眼色让他把缓存介绍一下)8. 做项目的初衷是什么9. post请求什么时候会出现 打印控制台,post请求出现两次的情况简单请求和复杂请求的区别options 请求遇到过吗10. axios底层?,支持node吗11. 讲一下AJAX12. 算法题:扁平数组转成树形结构问时间复杂度和空间复杂度13. 面试官小哥:我再来问你一些不相干的问题(以为可以开始扯闲话环节了,结果继续问问题)Vue中编写UI会使用 template 和 render,这两者有什么区别吗、有什么关系吗追问:不进行打包、编译可以直接使用template语法吗,render函数最终返回的是什么template最终会被编译成render,这个编译发生在什么时间?14. Vue-loader有什么作用(跟上一题有关系)15. 在webpack项目中自己随便写了一个a.abc文件,可以在js或ts文件中随便引入吗16. Vue中的nextTick,底层怎么实现的?17. 介绍一下浏览器中的微任务(自己扩展说微任务和宏任务的区别、使用场景)反问环节:1. 反问面试官求职时的心理状态、做了哪些准备2. 反问面试官有什么技术方面的书推荐3. AI风潮下,程序员的核心能力会发生转变吗?从业务能力向 AI使用 能力偏移【隔了一周多,编辑面经还在感慨,二面面试官小哥真的很nice,面试节奏特别对。要反馈有反馈、要引导有引导,表示不懂的时候还会重新解释问题,整场面试说说笑笑地进行下来了,轻松愉悦(以至于复盘的时候才发现有的问题还是有点小难的!)最后反问环节聊天也聊得很开心啊啊啊,要是二面小哥是组长就好了...可惜没有缘分。祝大家面大厂都遇到这样的面试官(接好运!)】------------------------------------------------------三面面经-5.12:1. 自我介绍2. js闭包内存泄漏原因, 降低内存泄漏风险的方法3. 自动设置垃圾回收4. weakmap5. node.js:common.js和ES module 追问Common.js的缓存机制6. script的async和defer的区别async会阻塞后续dom吗7. cookie存token和header存token有什么差别8. ES6装饰器9. decorator装饰器,普通函数不支持装饰器的原因, 高阶函数10. 回流重绘 怎么尽量降低影响(方法)11. TS枚举和定义普通对象区别12. 普通枚举和常量枚举13. type 和 interface的区别14. ts类型断言 两种方式的区别15. HTTP2.0中的服务器推送有哪些应用场景16. git相关的命令17. git pull 和 git fetch区别18. 本地分支做变更, 怎么办(回答stash暂存)19. 算法题1const [a,b] = {a:1, b:1} 能正常运行吗?为什么封装一个通用型的方法, 左右结构不动, 成功解构20. 算法题2大数相加21. 追问: 你有一个网站 包含了各种各样的静态资源, 你会怎么设置缓存策略-三面面试官应该是leader,经过我长长的自我介绍后,大手一挥说那我们开始吧!整场面试下来问题密度挺高的,苯人感觉自己答得也很不错,没有卡壳的地方。leader大人也会给一些反馈,面试整体比较顺畅~依旧是体验感不错的面试,但最后还是挂了。。。HR姐姐说面评反馈主要是算法题1思路有问题,应该是用迭代器+沟通不够简明有效得到结果后整个人都down了,非常难受哇非常......感觉像做了一场梦,二面通过的时候觉得自己很lucky,好像离字节很近了,但是结果三面出结果又离得远远的了仔细复盘了一下觉得确实还可以语言更精炼一些回答问题,整体面试还很有收获的。虽然没过,但是感恩~------------------------------------------------------四面面经-5.13:前半小时闲聊规划、学习前端原因、项目(有点不太记得了)后面四道手写题1. TS 泛型用法2. 写出数组的10个方法(写了十几个,面试官问了几个方法的用法)手写实现一个reduce3. this指向4. 给二叉树,输出二叉树每一层的最大节点- 算法题撕得不好,面得有点低气压。但是此 leader 挺活泼的哈哈哈,也会主动给出一些提示(重生之部门leader亲自教你写算法)。面试结束后就知道g了,瘫椅子上半小时没说话,才收拾收拾去吃饭了和面评反馈的一样,《可能太过紧张,心态会有点急促》。但是很感激面试官啊,哎哎哎这把确实没缘分我是不会放弃面试字节的(我节孝子一定会回来的)
点赞 评论 收藏
分享
评论
11
47
分享

创作者周榜

更多
牛客网
牛客企业服务