【年终总结】微信前端社招有感

不,我还很年轻!虽然年终还没到,但好像也差不多了。

几经辗转,年底前终于拿到了微信的offer,可以说是今年一大幸事了。

是一个结束,结束本命年的坎坷;是一个开始,开始新的征程。

这篇杂文就简单记录一下微信前端社招的经历,以及回顾这两年半做过的东西。

 

【年终总结】微信前端社招有感

 

一、过七关

微信社招,老早就听说难度极大,十几轮面试的情况都有。

所以急不得,大概今年下半年开始,本菜菜就着手准备了,主要是扩充知识面以及加深对相关知识的理解与运用(暴露了平时有点懒。。。)

说实话,这半年收获颇多,熬夜也最多,应该有十来次为了理清某些东西,奋战到半夜两三点,若是失败了就过几天再战...

 

可能不同的岗位性质不同,要求也不同,对我而言,整体上对业务解决能力要求很高,算法方面则没有太高要求

每轮都问到了职业规划,为什么离开目前的环境

我总共经历了七轮(4轮技术、两轮GM、一轮HR),轮次可穿插并不是按顺序的。面试体验都非常棒~

当时觉得可能面不到最后,没有刻意去记录面试问的东西,所以现在也忘得差不多了,也没必要刻意去刷面试题,就算刷到了,不久之后也会忘的。

 

1、技术电面(1h)

这轮算是探实力吧,确认有没有前端基础和好的项目经历。

首先以在公司承担的角色作为开端,问了平常做过的一些项目,介绍其中一个,就从里头挖掘业务的问题和解决办法,同时抽取一些前端技术题。

没办法,项目说起来不够复杂呀,似乎面试官并不满意,自己就趁机把话题引向了其他有特色的项目来突围。

抽了一些博客上记录的知识点来问,期间竟然找了我四年前的文章(问了各种编码,以及BOM头优缺点适用性)和某道算法题 -_- 

HTTP和HTTPS的握手过程,是否了解HTTP2的特点,以及怎么理解它的多路复用

还讲了对前端安全和性能的理解,移动端的认识等

总之第一轮感觉还好,勉勉强强,话比较多,时间不慢的。

 

2、技术现场(1h)

这轮感觉跟第一轮差不多,只是比较正式些,来到了广州塔旁边的T.I.T

除了栽在了iPhoneX刘海屏的相关问题和移动端适配是否需要支持高清屏的“争论”外,基本稳住了气场。

深知自己没有可以拿出手的很牛逼的项目,为了体现自己还是会一些东东的,就只能穿插着讲出几个项目了。

讲了前端优化的实践(为什么优化,怎么优化,怎么评估,还能怎么优化)

前端错误收集(怎么记录,怎么区分是不是第三方插件的问题,怎么上报,怎么分析)

问了PC端和移动端的转换,ES6常用的东西,数组方法大全等

 

3、技术现场(1h)

本轮是和前一轮衔接在一起的,这种方式挺好的,可以节约候选人来回奔波时间。

当时感觉是总监级别的,因为气场有点强大,短裤拖鞋很随性,判断得出来反应必须非常快才能留下好印象,后来才知道是组长

问的东西,前端方面相对少一点了,偏向于整体性

问了目前团队现状,在团队前端沉淀,技术预研上做了什么,为什么这么做,有没有起到什么作用。

列举几条前端代码检查规则,为什么这么制定

有没有做接口的统一规范,返回码之类的规定,怎么和后端协商好这些规则,怎么让新人很好地用好这些

为什么要做小程序预研,它不是很简单么

MVVW是什么,有什么优缺点

怎么实现记住登录功能(很强的整体性)

怎么实现统一登录,或者授权登录需要考虑什么(更强的整体性)

 

4、HR现场(35min)

直接就来到了hr面,很快吧......流程可以随意插进来

一不小心提前1h到了现场,前台那小伙子也不知怎的,直接就联系hr了,说实话我本不想打扰的

不过hr马上就下楼来接待了,进入稍许嘈杂的咖啡厅慢等,服务质量还阔以,在这里是要点个赞的

本轮面试主要考察了团队感受,过往的项目经历,技术学习能力,薪酬期望

期间面试官也很直白的说,她要知道有没有解决复杂问题的能力

直接从大学阶段问起了,从在校时期做的最好项目,到工作时期做的最好项目,

听起来似乎还是没对胃口,就只有拿出自己为解决问题不辞辛劳很有决心的不堪历史来说了 -_- 

问了平时解决问题的方式,有没有从团队中学到了什么,跟谁学到的,团队中角色,觉得团队有什么问题

 

5、GM现场(30min)

本轮是直接连着HR面的,基本没问技术,侧重考量业务理解能力以及是否适合部门

看到面试官戴着一个佳明跑表,想必也是跑马人士哈哈哈,相对来说还是蛮轻松的,把之前的项目又说了一遍

如果要做一个数据分析系统,在前端方面可以做什么东西(涉及了需求理解、功能拆分、技术实现)

问了自己做过什么业务,期望什么业务方向

介绍了职级体系,部门的业务特点

 

6、GM电面(15min)

本轮面试可以说是最惨的了,感觉面试官并不满意自己做的项目,草草就收场了,也就诞生了第七轮技术面。

团队的成员分布,各角色职责和定位,怎么进行版本迭代,一个系统的开发与维护周期是怎样的,项目延期的时候怎么做的

因为做的主要是内部系统(面向公司内部的需求),被问到为什么不尝试部门间转岗,为什么两年多了还一直在做内部系统

介绍公司其他部门团队的业务等

 

7、技术现场(1h)

本轮面试属于技术交叉面,即由其他部门的人来面,主要还是因为前几轮表现不佳,让面试官们犹犹豫豫的。

这小哥一直乐呵呵的,看起来很容易谈得来,也确实很容易谈得来。后面HR说他是少有的T4级前端,大大牛呀...真是随和

面到后面才知道,他一直想挖出我拆分问题的能力,如何对大的问题进行分解,逐个击破,同时思维要发散,也许还有更简便的方法。

一个难题,比如我提到了曾经想过整一个适合部门的CI/CD方案并实现,不过遇到了蛮多难题就没有做下去了

这里就缺了拆分问题模型的能力,不应想着难度太大做不了就做不了,而应该分析好从小的做起,一点一点地添加,慢慢坚持。

其实是自己作死挖了坑自己跳进去了..

说了经常写技术博客和整一些Github项目是一个非常好的习惯,挑了性能和安全方面的项目实践来问,

为什么用requestAnimationFrame来代替setTimeout

首屏太慢的问题除了SSR这种方法还有没有其他更简便的方法(在前端方面直接干)

前端规范的落地,碰到的问题和解决过程

过往业务能力与技术能力的实践

有没有看过一些源码,整理的webpack项目有什么难点,怎么进行优化的

怎么调试,sourcemap是什么东东

两颗树比对一般怎么做,React中虚拟DOM是什么,它在树对比方面做了什么优化,新版本React有什么性能上的变化

 

从开始到结束,进行了差不多一个月,进度好像还是蛮快的,

总之,就目前这个部门的社招面试而言,我感觉侧重考察的点是 是否具有解决复杂业务的能力

当然,学习能力,技术专研,技术广度在两三年经验这个阶段是非常重要的。

 

二、出师不利

其实我在这前两周,还面了微信公众平台那个部门,一面电面就跪了,面完感觉可挂可不挂的样子

主要问题出在:

用了很久的JQ,却没认真地看过源码,被问到如何像JQ那样实现动画向左再向右不同的速度,回答得七零八乱

问了JQ中选择器的识别解析顺序是怎样的,为什么从右到左,我竟然说成了从左到右性能应该会更高。。。可能是大脑空白了吧

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyyjps.html