腾讯前端wxg一面 已挂

腾讯微信前端面试面经:技术与沟通的双重考验

一、面试初体验

这次腾讯微信前端的面试,整体节奏张弛有度。开场长达20 - 30分钟的项目交流,让我感受到面试官对实际项目经验的重视,后续的技术问答和算法考察也极具针对性,尽管最终未能通过,但整个过程收获满满。

二、项目细节深度探讨

1. 大模型相关技术交流

面试一开始,面试官便聚焦于我在实习中涉及的大模型调用相关项目,围绕前后端交互、数据结构化处理、流式传输等技术点展开提问。当谈及流式传输时,我提到工作中接触过的Server-Sent Events(SSE)和Backend For Frontend(BFF)架构,解释了SSE如何实现服务端到客户端的单向实时通信,以及BFF层如何针对前端需求定制数据接口,减少冗余请求。

在聊到JSON流式解析时,面试官追问“为什么选择自己手写解析?”,我坦言最初是出于学习目的,参考了开源项目的实现逻辑,希望深入理解数据逐块处理的原理,但这个回答可能未能展现出足够的实际应用价值。

2. 智能自驾数据可视化项目

我介绍了负责的智能自驾数据可视化项目,主要通过React Hook获取数据,再利用表格组件进行展示。由于项目逻辑相对基础,缺乏性能优化层面的实践,面对面试官对性能优化的潜在期待,我未能给出亮眼的回答,意识到这是自己项目经验中的一大短板。

三、算法与技术实操考察

1. 算法题:有序链表合并

第一道算法题是合并多个有序链表,这是经典的归并问题。我采用分治思想,先两两合并链表,逐步减少链表数量,最终得到合并后的有序链表。通过代码实现和思路讲解,基本完成了题目的要求。

2. 技术题:防抖与节流

第二道题考察**防抖(Debounce)和节流(Throttle)**函数的实现。在实现节流函数时,我使用记录上一次执行时间的方式,控制函数在指定时间间隔内只能执行一次。但当面试官追问“如何优化防抖函数,避免重复创建定时器”时,我没能及时想到通过保存定时器ID(timeoutId),在新触发时清除旧定时器的方案。面试官略带遗憾的一句“这不应该呀”,让我意识到这个关键知识点的疏漏可能影响了整体评价。

四、轻松闲聊与最终结果

算法环节结束后,氛围变得轻松起来。得知面试官也是成都人,我们自然地聊起家乡美食、生活日常,还调侃了一下恋爱话题,整个交流十分融洽。面试官最后表示最迟次日给答复,虽然最终收到未通过的消息,但我明白或许是有更契合岗位需求的候选人,这次经历也让我清晰认识到自身技术短板与改进方向。
全部评论
感觉手撕还可以啊,就是横向挂了吧
点赞 回复 分享
发布于 06-04 11:38 北京
腾讯面试问的很细节很深入 无缘
点赞 回复 分享
发布于 05-27 19:58 黑龙江
为什么我感觉你的面试经历ai风格好强烈
点赞 回复 分享
发布于 05-26 14:27 广东
请教一下楼主,面试的时候,防抖或者节流函数是用闭包实现的吗,如果是的话,貌似不应该会问这个问题(如何优化防抖函数,避免重复创建定时器)
点赞 回复 分享
发布于 05-26 11:50 上海
牛友面的微信哪个部门呀
点赞 回复 分享
发布于 05-25 23:50 广东
同行太强了,没办法
点赞 回复 分享
发布于 05-25 23:12 上海

相关推荐

隔壁投了之后又被捞起来面了,以下是TimeLine6.10 投递6.12 约面6.17 一面6.26 二面6.27 三面7.1 HR面7.4 Offer一面:全程40min左右1. 自我介绍2. 开篇面试官介绍了一下这次面试的流程3. HashMap和HashTable的区别?4. 接T3,针对HashTable的问题,有没有解决方案?(ConcurrentHashMap)5. 线程和进程的区别?6. 接T5,通信方式上有什么区别?7. MySQL索引结构?8. 接T7,B树和B+树的区别是什么?9. 接T8,为什么说B+树更好做范围查询?10. MySQL事务隔离级别?11. MVCC12. 索引失效的情况都有哪些?13. Redis持久化方案?14. 缓存雪崩、缓存穿透、缓存击穿15. 讲讲TCP的三次握手和四次挥手16. 说说Linux的常用命令?17. 有没有用过Docker?说说Docker的常用命令?有自己构建过Docker镜像吗?18. 项目拷打手撕:快速排序(问了比较时使用<和<=有什么区别)反问:1. 面试官并不是Java方向的,为什么会问Java基础知识?2. 组里技术栈?(Java、Go、PHP都有,看分到哪个组)3. 后续面试流程?(2-3轮技术面+1轮hr)4. 建议?追问:1. 可能会转语言,是否接受?2. 现在在长沙吗?如果面试通过到这边来会不会有什么阻碍或者困难?面完状态10min左右状态变成业务复试二面:全程40min左右,感觉主要是手撕1. 自我介绍2. 有用过MQ对吧,那你说说怎么解决消息重传的?3. 你是怎么做消息幂等性处理的?4. 接T3,如果说Redis的key已经存入了,但是刚好消费者宕机了,怎么办?5. 建立索引的SQL语句是?6. TLS握手过程7. 手撕1:单链表有一个指针指向任意一个节点,怎么删除这个指针指向的节点,如1→2→3→4,传入2,删除2,没有头指针(回答了更改节点值,next设置为next.next,追问怎么删除最后一个节点,不会,换了道题)8. 手撕2:LeetCode199. 二叉树的右视图(写了递归,要求再写一遍非递归)闲聊:1. 什么时候能到岗?2. 是哪里人?3. 为什么会考虑来长沙这边?4. 你觉得你的优点和缺点是什么?5. 手上还有其他offer吗?反问:1. 业务面完30min左右约三面三面:1. 自我介绍2. 拷打项目3. 拷打实习4. 我现在有一个student表,我要对name简历索引,sql语句怎么写?5. 主键索引和普通索引有什么区别?6. 为什么非聚簇索引要回表?7. MySQL隔离级别?8. MySQL主从同步原理?9. binlog日志存的是什么?10. Redis缓存雪崩是个什么概念?怎么解决?11. Redis持久化方式?12. HTTP报文格式?13. HTTP和HTTPS有什么不同?14. TLS握手过程?15. 为什么是非对称加密和对称加密结合使用?能不能只使用一种?16. 面向对象三大特性17. 我现在有一个Java源代码,比如说叫xxx.java,他是如何变成一个二进制文件的能够让机器运行他的?这个中间的过程是怎么样的?18. JVM的作用是什么?19. 进程和线程的区别?20. 有没有了解过协程?跟线程的区别是什么?21. 为什么说协程为什么更轻量?22. 二进制文件加载进内存,他的分布是怎么样的?23. Linux上怎么看机器的负载?24. top命令哪些参数表示负载?25. Linux怎么看cpu的核数?26. Linux怎么查看当前目录占用了多少空间?27. 查看当前服务器建立的tcp连接,用什么命令?28. tcp滑动窗口机制是怎么样的?29. time_wait状态是什么意思?30. 为什么是四次挥手?31. 三次握手是怎么实现的?中间的ACK和SYN是怎么合并的?32. 用过docker吗?怎么做到容器间隔离的?33. 怎么构建docker镜像?34. 有了解AI吗?大模型训练过程是怎么样的?35. 有没有了解过MCP?36. 使用过什么AI工具?手撕:二叉树的层序遍历,要求null值使用*占位反问:1. 面试结果什么时候出面完状态变为HR面HR面闲聊10分钟
面试问题记录
点赞 评论 收藏
分享
评论
5
14
分享

创作者周榜

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