背景

自己前端,3年经验,由于个人的原因,决定跳槽,所以大约3月开始找作业,总历时大约2个月,面试了微信/阿里/头条,三家都拿到了offer,来共享一下面经。

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

本文答案均以链接的形式给出,由于我自己的一个特点便是回答标题一定要够具体,并且大部分的标题我都写过文章或许公众号转发过文章了,感兴趣能够直接重视公众号前端Q,期望对你有帮助~

整体流程

这儿,我梳理了一些自己的心得,便利自己后边做直播,这儿就当预告一下,先放个思想导图。

大厂面试复盘(微信/阿里/头条,均拿offer)| 掘金技术征文

PS: 图片有点大,假如打不开,直接拜访我的博客

微信

书面考试

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

原题地址:leetcode-cn.com/probl{ 3 b l u 4 A Y Dems/in…

  1. 二叉树的查找,输入一个一般二叉树的根节点,完成一个调度器,调用调度器的next()办法,将返回二叉树中下一个最小的数;调用迭代器的hasNext()办法,将返回是否K ] Q ) 2 M存在下一个数。二叉树节点是整数,无序。

原题地h + C % Y ~ V ^ g址:leetcode-cn.com/problems/) P 3 ! D _bi…

  1. 三角形个数,输入一个非负整数的数组,假如将数组元素选作三角形的边长,编写一个函数,G H % & u c @ 3输出这个数组可构成的三角形数量。

原题地址:leetcode-cn.com/problems/va…

  1. 数组切分问题,输入一个正序摆L M % M & . v 6放的整型数组,假如它能够被切分为1个或多个子序列,输出True,反之FaH D 4 6 . g i |lse。子序列需为连续的整型数组,并且长M G e w B度至少为3。
1:
输- W / F 9 r入: [1,2,3,3,4,5]
输出: True
解说:能够切分为2个各自连续的子序列:
1, 2, 3
3, 4, 52:
输入: [1,@ & V * 4 h2,3; L 4 L x + |,3,4,4,5,5]
输出: True
解说:能够切分为2个各自连续的子序列:
1, 2, 3, 4, 5, Y v M  ( . 4 /
3, 4, 53:
输入: [1,2,35 I = k,4,4,5]
输出: False
解说:[ l 6 B无法切分出长度至少为3的子序列。

原题地址:leetcode-cn.cx Z & : [ yom/problems/sp…

  1. 一只青蛙一次能够跳上1级台阶,也能够跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳~ ( d q ^ W n J法.
  2. 求下面代码的输出
function test(a,b) {
console.log(v / y b _ ] nb)
return {
test:function(c){
return t; C % hest(c,a);
}
};
}
var retA = test(0);
retA.test(2);
retA.test(4);
retA.test(8);
var retB = test(0).test(2).testj @  P g 4 g -(4).test(8);
var retC = t1 0 :est('good').test('bad');
retC.to R e ( A %est('good');
rp H 7etC.test('bad');
  1. top k

原题地址:leetcode-cn.com/problef m ; N 2 } }ms/kt…

  1. 闭包问题及优化
for (var i = 0; i < 4; i++) {
setTiml s r s q teout(w  - d V Q D hfunction() {
console.log(i);
}, 300);
}

PS:一面书面考j s Y w O ;试要求是30分钟,前4道算法题,二面书面考试题是15分钟

与项目关系不大的问答题

  1. 节省防抖(完成/场景/源码,如lodash完成原理)(www.cnblogs.com/L0 ~ W C Y 3 3 =uckyWinty/…
  2. 事情循环(浏览器/node/版别差异)(mp.weixin.qq.com/s/. J % N ,QgfE5Km1x…
  3. setTimeout 完成原理(mb t S Z C J 9 s ap.weixin.qq.com/s/7qTRSMqaq…
  4. react 和 vue4 ) $ 3 ; 4 T k f 的差/ 6 S 0 S p
  5. Promise 原理(jue1 M S B ] Z Z ajin.im/post/5d6f7c…
  6. 前端错误监控及容灾(mp.weixin.qq.com/1 – g a ^ N e D }s/prf-mXexB…
  7. 功能优化
    mp.weixiH + : . ; B 9 Nn.qq.com/J j 1s/qXFd3f7Ck…

mp.weixin.qq.com/s/dy1u2g9Te…

mp.weixin.qq.com/s/DJ8Fdq1_c…

mp.weixin.qq.comq _ Q Z X F F/s/azeUIx0EA…

mp.weixin.qq.com/s/wDKKj5R8S…

mp.weixin.qq.com/s/BOdnCYbMQ…

mp.weixin.qq.j z vcom/s/FdG7uVIDX…

太多了,贴不过来了,自己再总结吧

  1. 谈谈 node 的内存走漏(我的总结暂时没时间写,能够看看这篇,zhuanlan.zhihu.com/p/25736931
  2. 开发进程中遇到的最大应战是什么(梳理项目,得出难点)
  3. 学习的动力C p x怎样来的,怎样维持(有兴趣能够留心一下我的直播)
  4. 浏览器的渲染机制是怎样的(mp.weixin.qq.com/s/wcw30EUb2…
  5. SSR 效果: A G m P i | Y l及优缺点(搜索引擎优化/首屏快/开发本钱高级,我项目用的是vue ssr,没专门总结,能够先看这个,zhuanlan.zhihu.com/p/35871344
  6. 怎样进行状况办理(vuex/reduW y z / N w 1x)
  7. webpack 及浏览器( K [ r T 7 1的技能共享目的是什么[ q ? h r,共享了什么,怎样做的共享
    mp.weixin.qq.com/s/1FySzmVrN…

mp.weixin.qq.com/s/wcw30EUb2…

  1. 怎样进行项目重构(知* 4 0乎许多评论,直接去参阅就能够了,或许看看这个,www.itzhai.com/refact^ – O , ] p l Foring…
  2. 进程与线程的差异(www.zhihu.com/quh } P g @estion/25…
  3. 说说知道的规划形式(参阅掘金小册子就能够了)
  4. CI/CD(mp.weixin.qq= W 8 @ 7 .com/M V 2 } 6 Cs/Mx u 4 DbeW8UNZ1…

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

可能感兴h k b | K趣的问答

  1. 面试总共几轮

我自己总共 4 轮技能面 + 1 轮HR面。目前微信职级为9级以下的技能岗不必通过面委,9级以下的一般4轮技能面U / _ ? T D ,,内部转岗可3轮技能面,9级u G ` ? V o _ t及以上的需求走面委面试,大约形式是做份ppt去讲自己的项目经历及其他技能项。9级及以上的就5-10轮技能面不W u C P 3 Y等。

  1. 历时多长

我自己总历时一个多月(相对来说算很快了` , = E Y / &),所以假如你要面腾讯,千万不要裸辞,不对,面什么都不要裸辞,这年头欠好混,怂一点。

  1. 整体面试流程是怎样的

内推->一面->二面->三面-&gtD S 6 I A } x C c;四面->HR面->口头offer->正式c T ^ ! Yoffer->背调->入@ _ u e } $

每个阶段耗时一到两周的时间

  1. 微信作业% & T地点

目前微G i z k I : – V信总部在广州,大部分的组都在广州,其间微_ c g } b 8 h信支付在深圳。

  1. 微信考算法多吗

多,基本上便是算法+项目

阿里

} A 6 ^ j G J面考试

  1. n阶楼梯问题(尾递归的优y y % 5 Y化[函数最终调用自身能够削减中间变j ] ] ] G X =量|化递归为循环去优化]/备忘录优化)
  2. 节省防抖的完成_ z & y j Y E(剖析书面考试答案时问到,总结不同,说出使用场景)(www.cnblogs.com/LuckyWinty/…
  3. 深复制(类型考虑/Symbol/Date等的结构/循环优化/共用引证优化等)(这儿贴2篇W ] $ v Q & e文章给我们参阅
    juef ( U P m sjin.im/post/5d6aa4…

mp.weixin.qq.com/s/M7KBX3w2K…

  1. 封装一个只能输入数字的React组件

问答题

  1. 输入URL后发生了什么(mp.weixin.qq.com/s/DLq_GIkdn…
  2. 事情循环说一下(mp.weixin.qq.ci E _ P g |om/s/QgfE5Km1x…
  3. JS有几种基本类型,别离是什么,与对象的差异(不贴链接了,我以为是前端的都应该知道)
  4. JS 履行进程中是怎样保存上下文的(堆和栈,能够看极客时间的《浏览R W s + 6 p器作业原理》,或许参阅我这儿,mp1 { A.weixin.qq.com/s/klZ6j3Gj9…

mp.weixin.q3 4 ! Bq.com/s/HqADCzMGl…

  1. 你以为什么是前端W ; C !
  2. 为什么想来阿里
  3. 最近在看什么书
  4. 微前端了解吗(
    mp.weixin.qq.com/s/awBqvJmqW…

mp.weixin.qm P 2 V S uq.com/s/80S-RFmoZ…

mp.weixin.z c 1 # : ? 3 Kqq.com/s/HVw] 3 ,cY8JGy+ ! : F c Q

  1. 你想成为什么样的人(个人成长规划)
  2. 项目中遇到的最大应战是什么,怎样解决的
  3. node 许多日志怎样处理E s N的(缓冲行列)
  4. http2 的特点(mx 6 t C { b = * op.weixin.qq.com/s/OitrWEos@ s I M h xr…
  5. node 与其他语言有什么差异,其优劣势是什么
  6. csrfw s g S , 8 Q j 的中心原理(juejin.im/post/5bc0098 N a w s w 9 P
  7. node 事情循环(mp.weij # ^ 4 1 ? yxin.qq.com/s/QgfE5Km1x…
  8. FCP/FMP/FP 别离是怎样定义,怎样计算(mp.weixin.qq.com/s/wDKKj5R8S…
  9. MySQL 标题,id 仅有,nac 9 M =me 能够重复! @ a V 8 q V,求 name 有重复的一切数据
  10. 有没有推动过什么+ l Z Y ? 3 .东西
  11. 未来的一个N W *开展是否是全栈,怎样规划(能够留心我的直播)
  12. 链路录屏的原理(能够剖析rrweb即可,参阅比如,mp.weixin.qq.com/s/PxEzBrr3Y…
  13. 链路录屏法务 l [ 3 Z 3 }问题怎样解决(屏蔽要害信P q ; r 4 F s t息/用户授权等)@ | & : ~ . j ! U
  14. FMP 定义及计算,w3c的草案你知道吗(自行谷m 7 * + 7歌查找)
  15. react 项目的可4 * H g ` L E继续维护性怎样体现(自行谷歌查找)
  16. react hooks用过吗,为什么要用(没有专门总结,自行谷歌查找)m s n | 2 ` f 2
  17. h5 和小程序有什么差异(自行谷歌查找)
  18. https加密原理,中间人进犯知道吗(
    mp.weixin.qq.com/s/aMYp6Y5n2…

mp.weixin.qq.com/s/sHtZhRTNO…

  1. ng 负载均衡的办法有哪些(
    mp.weixin.qq.com/s/u-XbBwGxHb X # / P S y

m I z k pp.weixin.qq.com/s/o2Us4Zj6D…

  1. CDN 有什么效果(github.com/LuQ ] P T O jckyWinty/…
  2. 不可变p : Q T i x ! . c数据里边,immutable,删除数组里边的列表(
    juejin.im/post/5b9b30…

juejin.im/post/5e6a14…

  1. 垃圾收回中,内部函数返给上层的对象是怎样办理的| # a t
  2. es 静态剖析原理(@ { ( 1 Fzhuanlan.zhihu.cK J qom/p/33843378
  3. 有一个很大很大的文件,怎样计算文件里边重复最多的5 1 | W行是哪行(参阅git的记录存储)

头条

书面考试题

一面:

  1. 履行代码求输出,并说明为什么,严厉形式下输出有变_ t G v Y化吗,为什么
var a = function () {this.b = 3;}
var c = new a();
a.prototype.b = 9;
var b = 7;
a();
consof = 3 C 4 ; q F Lle.log(b);
console.log(c.b);
  1. 给定一个升序整型数组[0,1,2,4,5,7K { * @ m,13,15,16],找出其间连续呈s 8 X D现的数字区间,输出为[“0->2& / 0 j f p . } r“,”4-y ? A S ` – ~>5″,”7″,”13″,”15->16″]
function summaryRanges(arr){
//TODO
}
  1. 请完成以下的函数,能够批量恳求数据,一切的Ug n s b 4 * ` YRL地址在urls参数中,一f { ~起能够通过 max 参数操控恳求的并发度,当一切恳求完毕之后,需求履行 callback 回调函数。发恳求的函数能够直接使用 fetch 即可
function sendRequest(urls: sring[],max:numbern T  - o +,callback:()=>void){
//TODO
}

二面:

  1. 完成一个字x G | q / S &符串回转:
    输入:www.toutiao.com.cn
    输出:cn.com.toutiao.www

要求:
1.不使用字符串处理函数
2.空间复杂度尽可能小

  1. 不凭借变量,交换两个数。
function swap(a, b) {
//TOa o ~ c f .DO
}
  1. 观察者形式与发布订阅者差异,L W Z 8 [ r 4 H *并写出其模型

与项目无肯定相关的问答题

  1. vue 事情机制是怎样完成的 (juejin.im/post/59ca5e…
  2. vue 的组件通讯办法有哪些
  3. react fiM % = | v 2 * &ber= G R 的完成原理 (juejin.im O – * h [ H ?m/post/5dadc6…
  4. vue 响应式数据原理(vue2/vue3/依赖收集/发布订阅/watcher消息行列操控/Vue.set完成)* & M H
    mp.weixin.qq.com/s/zDv_IQ36o…

mp.: k I ( 9 $weixin.qq.com/s/hTygoAan4…

  1. vue 转小程序怎样完成(ast/生命周期对齐/跨平台模块兼容/兼容细节点完成进程)
  2. 功能指标,怎样了解TTI,怎样计算,与FID有什么差异,怎样完成计算,还聊了许多功能的东西(mp.weixin# ? $ ~ J L 0 R e.qq.com/s/wDKKj5R8S…
  3. 说说你所了解的安全问题及防护办法(mp.weixin.qq.com/s/rU32rVM6Q…
  4. 说说你知道的规划形式,并举个对应的形式比如(mp.weixin.qq.com/s/6 ] _ 8 H = } Mx3OCgS_kn…
  5. 未来规D | E ^ l E划及学习办法
  6. 你觉得你是怎样拿d u L n到京东校招的sp的
  7. 遇到的最大应战/曩昔的最大收获别离是什么: e !

我自己的博客/公众号,似乎面试官都看过,都知道我学过什么,知道什X N I ;么,所以许多我博客上有的东西都没问,乃至我引申到曩昔,都不让说,有种没机会体现的感觉,哈哈

感触&更多学习材料

其实单看问题,参阅性还是比较小的,究竟面试官主要会依据简历去提问。这儿的一个感触便是& w M v K H,项目j ? 4 E (中遇到的最大应战,这个问题1 f j 4真欠好答,我其时答得也不够好,~ c C 2 V后边又回去总结了一波项目,建议我们都好好总结一下自己平Y y E , U时遇到的问题,追本溯源。

这部分的标题,我会同步到我的每周N题上,欢迎我们来沟通答案啊。想刷题的也能够来,地址如下:
github.com/LuckyWinty/…

f ? } d许多知识点,虽然我没被问到,但是我写了不少文章,感兴趣的话能够M d ) Q ,重视一下我的博客,地址如下:
github.com/LuckyWinty/c d { G 3 d * X –

更多我觉得比较好的博客,地址如下:

  • juejin.im/user/5cf288…
  • juejin.im/user/58d4e7…
  • blog.poetries.top/FE-Intervie…
  • juejin.im/user/5bea27…
  • juejin.im/user/5c45dd…

沟通

  • 欢迎加我微信F ; i U z . Y r +(winty230),拉你| G % O B h u E进技能群,Q Z f & 8 C $ #长期沟通学习…
  • 欢迎重视「前端Q」,认真学前端,做个? a e c专业的技能人…
大厂面试复盘(微信/阿里/头条,均拿offer)| 掘金技术征文