背景
最近面试了微信,已拿offer,来分享一下面经。
问题比较多,而且很多面试题都是跟个人项目相关的,项目相关的问题借鉴意义不大,所以这里总结一些与项目无绝对关系的问题,欢迎围观~
PS:这次跳槽的复习路线/方法等,后面会整理出来,欢迎持续关注哦~
笔试
-
数组交集,编写一个函数,输入两个数组,输出它们的交集。输出数组中不含重复的元素,元素排列顺序可随意。 -
二叉树的搜索,输入一个普通二叉树的根节点,实现一个调度器,调用调度器的next()方法,将返回二叉树中下一个最小的数;调用迭代器的hasNext()方法,将返回是否存在下一个数。二叉树节点是整数,无序。 -
三角形个数,输入一个非负整数的数组,如果将数组元素选作三角形的边长,编写一个函数,输出这个数组可构成的三角形数量。 -
数组切分问题,输入一个正序排列的整型数组,如果它可以被切分为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级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法. -
求下面代码的输出
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');
-
top k -
闭包问题及优化
for (var i = 0; i < 4; i++) {
setTimeout(function() {
console.log(i);
}, 300);
}
PS:一面笔试要求是30分钟,前4道算法题,二面笔试题是15分钟
与项目关系不大的问答题
-
节流防抖(实现/场景/源码,如lodash实现原理) -
事件循环(浏览器/node/版本差异) -
setTimeout 实现原理 -
react 和 vue 的区别 -
Promise 原理 -
前端错误监控及容灾 -
性能优化 -
谈谈 node 的内存泄漏 -
开发过程中遇到的最大挑战是什么 -
学习的动力怎么来的,如何维持 -
浏览器的渲染机制是怎样的 -
SSR 作用及优缺点 -
如何进行状态管理 -
webpack 及浏览器的技术分享目的是什么,分享了什么,怎么做的分享 -
如何进行项目重构 -
进程与线程的区别 -
说说知道的设计模式
PS:由于面试全过程历时比较长,一些题目已经忘记了。大概记得这么点,然后很看项目,每一轮都详细问了项目~
可能感兴趣的问答
-
面试一共几轮
我本人一共 4 轮技术面 + 1 轮HR面。目前微信职级为9级以下的技术岗不用经过面委,9级以下的一般4轮技术面,内部转岗可3轮技术面,9级及以上的需要走面委面试,大概形式是做份ppt去讲自己的项目经历及其他技术项。9级及以上的就5-10轮技术面不等。
-
历时多长
我本人总历时一个多月(相对来说算很快了),所以如果你要面腾讯,千万不要裸辞,不对,面什么都不要裸辞,这年头不好混,怂一点。
-
整体面试流程是怎样的
内推->一面技术->二面技术->三面技术->四面技术(GM)->HR面->口头offer->正式offer->背调->入职
每个阶段耗时一到两周的时间
-
微信工作地点
目前微信在广州,大部分的组都在广州,其中微信支付在深圳。我本人的岗位是在广州。
-
微信考算法多吗
多,基本上就是算法+项目,别看我只是写了几道算法题,那是因为...
更多
其实单看问题,参考性还是比较小的,毕竟面试官主要会根据简历去发问。这里的一个感受就是,项目中遇到的最大挑战,这个问题真不好答,我当时答得也不够好,后面又回去总结了一波项目,建议大家都好好总结一下自己平时遇到的问题,寻根究底。
这部分的题目,我会同步到我的每周N题上,欢迎大家来交流答案啊。想刷题的也可以来,地址如下:https://github.com/LuckyWinty/fe-weekly-questions/issues
后记
以上就是胡哥今天给大家分享的内容,喜欢的小伙伴记得收藏、转发,点击在看推荐给更多的小伙伴。
胡哥有话说,一个有技术,有情怀的胡哥!现任京东前端攻城狮一枚。
胡哥有话说,专注于大前端技术领域,分享前端系统架构,框架实现原理,最新最高效的技术实践!
关注胡哥有话说,学习前端不迷路,欢迎多多留言交流...


本文分享自微信公众号 - 胡哥有话说(hugeyouhuashuo)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/4188011/blog/4373306
