微信前端工程师社招面经

背景

问题比较多,而且很多面试题都是跟个人项目相关的,项目相关的问题借鉴意义不大,所以这里总结一些与项目无绝对关系的问题,欢迎围观~

笔试

1. 数组交集,编写一个函数,输入两个数组,输出它们的交集。输出数组中不含重复的元素,元素排列顺序可随意。

2. 二叉树的搜索,输入一个普通二叉树的根节点,实现一个调度器,调用调度器的next()方法,将返回二叉树中下一个最小的数;调用迭代器的hasNext()方法,将返回是否存在下一个数。二叉树节点是整数,无序。

3. 三角形个数,输入一个非负整数的数组,如果将数组元素选作三角形的边长,编写一个函数,输出这个数组可构成的三角形数量。

4. 数组切分问题,输入一个正序排列的整型数组,如果它可以被切分为1个或多个子序列,输出True,反之False。子序列需为连续的整型数组,并且长度至少为3。

例1:
输入: [1,2,3,3,4,5]
输出:True
解释:可以切分为2个各自连续的子序列:
1, 2, 3
3, 4, 5
例2:
输入: [1,2,3,3,4,4,5,5]
输出:True
解释:可以切分为2个各自连续的子序列:
1, 2, 3, 4, 5
3, 4, 5
例3:
输入: [1,2,3,4,4,5]
输出:False
解释:无法切分出长度至少为3的子序列。

1. 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法.

2. 求下面代码的输出

function test(a,b) {
  console.log(b)
  return {
    test:function(c){
      return test(c,a);
    }
  };
}
var retA = test(0);  
retA.test(2);  
retA.test(4);  
retA.test(8);
var retB = test(0).test(2).test(4).test(8);
var retC = test('good').test('bad');  
retC.test('good');  
retC.test('bad');

1. top k

2. 闭包问题及优化

for (var i = 0; i < 4; i++) {
  setTimeout(function() {
    console.log(i);
  }, 300);
}

PS:一面笔试要求是30分钟,前4道算法题,二面笔试题是15分钟

与项目关系不大的问答题

1. 节流防抖(实现/场景/源码,如lodash实现原理)

2. 事件循环(浏览器/node/版本差异)

3. setTimeout实现原理

4. react和vue的区别

5. Promise原理

6. 前端错误监控及容灾

7. 性能优化

8. 谈谈node的内存泄漏

9. 开发过程中遇到的最大挑战是什么

10. 学习的动力怎么来的,如何维持

11. 浏览器的渲染机制是怎样的

12. SSR作用及优缺点

13. 如何进行状态管理

14. webpack及浏览器的技术分享目的是什么,分享了什么,怎么做的分享

15. 如何进行项目重构

16. 进程与线程的区别

17. 说说知道的设计模式

PS:由于面试全过程历时比较长,一些题目已经忘记了。大概记得这么点,然后很看项目,每一轮都详细问了项目~


#腾讯##社招##面经#
全部评论
看楼主资料是2004年届的嘛,还对大学学习的算法那么记得,太强了
点赞 回复 分享
发布于 2021-09-17 22:52
问项目都会问哪方面的问题呀?
点赞 回复 分享
发布于 2021-09-06 08:56

相关推荐

腾讯微信前端面试面经:技术与沟通的双重考验一、面试初体验这次腾讯微信前端的面试,整体节奏张弛有度。开场长达20&nbsp;-&nbsp;30分钟的项目交流,让我感受到面试官对实际项目经验的重视,后续的技术问答和算法考察也极具针对性,尽管最终未能通过,但整个过程收获满满。二、项目细节深度探讨1.&nbsp;大模型相关技术交流面试一开始,面试官便聚焦于我在实习中涉及的大模型调用相关项目,围绕前后端交互、数据结构化处理、流式传输等技术点展开提问。当谈及流式传输时,我提到工作中接触过的Server-Sent&nbsp;Events(SSE)和Backend&nbsp;For&nbsp;Frontend(BFF)架构,解释了SSE如何实现服务端到客户端的单向实时通信,以及BFF层如何针对前端需求定制数据接口,减少冗余请求。在聊到JSON流式解析时,面试官追问“为什么选择自己手写解析?”,我坦言最初是出于学习目的,参考了开源项目的实现逻辑,希望深入理解数据逐块处理的原理,但这个回答可能未能展现出足够的实际应用价值。2.&nbsp;智能自驾数据可视化项目我介绍了负责的智能自驾数据可视化项目,主要通过React&nbsp;Hook获取数据,再利用表格组件进行展示。由于项目逻辑相对基础,缺乏性能优化层面的实践,面对面试官对性能优化的潜在期待,我未能给出亮眼的回答,意识到这是自己项目经验中的一大短板。三、算法与技术实操考察1.&nbsp;算法题:有序链表合并第一道算法题是合并多个有序链表,这是经典的归并问题。我采用分治思想,先两两合并链表,逐步减少链表数量,最终得到合并后的有序链表。通过代码实现和思路讲解,基本完成了题目的要求。2.&nbsp;技术题:防抖与节流第二道题考察**防抖(Debounce)和节流(Throttle)**函数的实现。在实现节流函数时,我使用记录上一次执行时间的方式,控制函数在指定时间间隔内只能执行一次。但当面试官追问“如何优化防抖函数,避免重复创建定时器”时,我没能及时想到通过保存定时器ID(timeoutId),在新触发时清除旧定时器的方案。面试官略带遗憾的一句“这不应该呀”,让我意识到这个关键知识点的疏漏可能影响了整体评价。四、轻松闲聊与最终结果算法环节结束后,氛围变得轻松起来。得知面试官也是成都人,我们自然地聊起家乡美食、生活日常,还调侃了一下恋爱话题,整个交流十分融洽。面试官最后表示最迟次日给答复,虽然最终收到未通过的消息,但我明白或许是有更契合岗位需求的候选人,这次经历也让我清晰认识到自身技术短板与改进方向。
查看8道真题和解析
点赞 评论 收藏
分享
06-05 00:54
已编辑
北京邮电大学 前端工程师
蹲个女生舍友,杭州西溪。--------------以下是正文--------------先说一下我个人情况,北邮通信工程,我在本科的时候做过几个微信小程序,忘光了。在今年2月份开始极速学习前端基础。代码算法方面,研一和大四的时候跟着代码随想录刷过一次。轻微流水账,这是一个记录贴。初衷希望能给0实习转码的同学一些鼓励,相信一定能找到愿意培养自己的公司。第一次找工作没什么经验,秋招会及时复盘面经发出来,这次就先不弄了。我从1月份就开始调研咋学习前端,开始慢悠悠学习html和css知识,到二月份开学了才开始对暑期实习感到十分的担忧,开始拼命学js。之前就接触过相关内容所以学的很快,半个月左右就学完了。然后就开始一边学习react一边做项目。4月初开始陆续投递,等了一周就开始有面试了。第一个面的美团,上来就是一个hard代码题,hot100还没刷完的我感到十分挫败。五月中旬之前,我一直处于反复一面的状态。基本上一天三面。晚上还得做笔试。崩溃边缘,但是还得鼓励(欺骗)自己下周必拿offer。或许是乐观的心态,让我在16号以后开始收到一些公司的二面了。包括美团,阿里(智能信息),腾讯,字节。我非常高兴,说明我五一不出去玩,恶补八股和手撕是真的有用。运气好了之后就开始一直破天荒的好。我阿里的淘天和阿里云也进二面了。我记得自己虽然表现的还行,但是整体并不突出。5月20/21号,这两天是小情侣过节的日子。我记得我20号面了美团,阿里智能信息二面,21号面了腾讯,字节,淘天二面,晚上还做了一个笔试。累的半死的同时,实验室导师还在催我的科研进度,我回复:好的。没想到,阿里智能信息居然问了我通信原理,本科学科等很多很泛的问题。我以为要凉了,结果没过一个小时,hr联系我:你好,你的二面已经通过,需要您再做一个线上笔试。我欣喜若狂,不敢相信二面居然问这些都能过。笔试做完了之后,也是立马有hr联系我,约hr面。5月22号,hr面。当场发offer,我整个人都懵了。心里怀疑对方是不是诈骗公司,然后又反复确认。缓了半天,才发现自己居然能去阿里了。简直是做梦都不敢想。我记得我前几天面试压力太大,还梦到过实验室组会汇报自己的offer进度,大家都去阿里。而我连甚至一个offer都没有可以汇报。当场吓醒。最后必须说,阿里真的太好了,愿意相信实习生的潜力,真的给了很多0实习的同学实习机会。我永远是阿里孝女!!!!!---------------分割线-----------记录一下自己转码以来遇到的一些贵人。1.字节的一面面试官,在我最崩溃的时候给了我鼓励和肯定。当时给我面了一个半小时。最后我问他对建议的时候,他说,“你是候选人里面算是比较优秀的了,但是我们这个业务要求很高,我担心把你招进来影响你的成长。”并且还给我推荐学习资料,红宝书。还和我说,“如果你想要继续做前端的话,我可以告诉你,前端依然是十分有前途的方向,希望你可以继续努力。”他的话真的十分中肯。当时我甚至感动哭了,我非常清楚自己不是因为被拒绝哭了(毕竟其实已经麻了)2.腾讯的一位面试官。给了我很多叮咛,告诉我准备好在面试等等。让我感觉十分有力量,我当时觉得我身边那么多帮助我的好人,我怎么可能不成功呢。3.北邮的一位学长,他在一开始给了我职业选择方面的建议,让我坚定了自己的道路。4.我遇到的每一个面试官都出奇的好,没有因为我很菜就表现不耐烦,十分感恩他们的手下留情。5.感谢有对象的陪伴,让我有好好吃饭的动力,并且也一直督促我学习,还帮我把一些高频的手撕和高频的计算机相关的八股梳理出来。有的时候真的想放弃,但是他一直在我旁边和我说,一定要坚持,不能放弃。
点赞 评论 收藏
分享
评论
4
25
分享

创作者周榜

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