• 故乡孤星   2015/9/11 19:15:00
  • 天下前端出阿里 面试那些事
  • 关键字: 面试 BAT面试 阿里面试 百度面试
  •  为什么换工作

        换工作简单来讲一般会归纳为钱不够或者人不对,我们团队氛围很不错,所以基本就定位到钱不够了,而我更多是考虑到以后的职业发展,简单说来就是对以后几年的工作有想法,而这种想法实现不一定能在现在的团队获得,在短期内也看不到希望,加之公司职级晋升不合理等考虑,也就自然而然想到了离职。

        其实在鞋厂这两年,真的收获了很多东西,也负责了很重要的业务,这些财富可能是其它大公司不一定能给予的,虽然一直级别低点也就没太多在意,直到最近职级福利缩水......

        最初我面试的职级为X,HR给了一套智力题做,做的不好给降成了X--,我当时顺手问了下待遇减不减,那边说不减,我想想好像也没什么问题,以后表现好半年估计就升了,结果这一职级陪伴了我一年半之久,好不容易升到了X,当时差不多的同事都到X++拿股票了,今年熬熬也到我了,结果好像近期政策是X++没股票了,一步慢,步步慢,那我还玩个蛋啊,于是年后以回来就准备去面试了。

    阿里

        天下前端出阿里,这么说有一定道理,阿里前端的技术氛围是一个巨大的诱惑,所以一来就和原来打飞机的机友联系,问上海这边有没有前端需求,朋友顺手就推到了自己的团队杭州天猫了,我想反正也没差就去试了试,不打没准备的仗,还对天猫H5站点做了一些分析研究,有了个大概的了解然后就开始了首轮面试。

        因为面试日期距今已经有3个星期,不太记得住了,便大概介绍一下流程,阿里的面试一把是这样的:

    ① 首轮面试,这个一般称为简历验证,看你简历描述和你实际技术水平是否一致,这个面试者一般是P6

    首轮面试下来感觉问的比较基础,问的问题就是常见的一些面试题,我当时记得答得7788,基本没有太大问题然后就过了

    ② 技术面试,这个是真资格的技术面试,面试官会希望面出你实际水平了,有粗有细,这个面试官一般是P7

        这轮面试的质量提升了不少,会问到在鞋厂做框架的一些架构问题,也就是说,他不止关心你的基础技术水平会关注你的实际工作情况,他会希望你对你的工作足够了解,足够胜任,也希望看到你在上下游起到的作用,比如他就问了我一个很开放的问题:

        你是如何推动你们的框架的,你是如何给框架升级的?

        因为我实际参与了两次框架大型推动以及几轮优化与升级,对其中的痛点和难点都比较清楚,便答得很详细。不能说答得很好,但是能描述清楚自己是在这个事情上扮演了什么角色,起到了什么作用。

        然后问了一个AMD与CMD相关的问题,我说我读过requireJS的源码,那边便问我实现,因为requireJS本身比较晦涩,我一时不太记得住便实话实说了,我感觉这里答得不好,没有把我真实水平表达出来。

        然后又问了前端优化,我本身工作的重点便是前端优化这里的经验比较丰富,便详细说了几轮优化技巧,感觉答得不错。

    后面又回到了基础一点的问题,一个Function和Object相关的问题,我依稀记得这里有坑,问题大概是这样的:

    var F = function(){};
    Object.prototype.a = function(){};
    Function.prototype.b = function(){};
    var f = new F();
        他这里想问的是f能不能拿到a方法和b方法,我这里知道有坑,我也知道能拿到a,但是我回答的是能拿到a和b,他说不对,然后就过了,我觉得这里是我表达不对,因为在读Backbone源码的时候,我使用过f.constructor可以同时拿到a和b,结果他以为我认为直接通过f拿

        最后记得的就是一个viewport的适配问题,这个东西我原来研究过,最后没搞懂,只记得几个属性,他问的时候我就直接说不了解了,这个问题答的尤其差......

        面试结束后面试官问了我有没有什么问题,我比较好奇的一点是为什么他们没有SEO不做webapp,这里他的回答我映像很深刻,也很认可,他说:

        其实我们不做webapp不是技术不到,而是要首先考虑如何把前后打通,让我们的webapp模板相关既可以在前端解析,也可以在服务器端解析,如何能最优最快的显示我的页面(这里插一句,阿里node端的水平有点高);我们考虑的是如何能出一个轻量级的框架能让各个业务同事快速的接入,这个是我们真正考虑的,而不是为webapp而webapp......然后这次面试也基本结束了。

    ③ 深入面试,一些时候可能你面的级别有点高,或者想找到最适合你的岗位便会进行第三轮技术面试

        这次面试,问的也是一些常规的前端问题,但是其中又出现了viewport这个问题,说实话,第二次结束时我便和周文斌与左盟主就这个问题进行了求教,因为不是专业的CSSER,最后就是把我讲不懂,然后这次这个问题又说的很差......

    ④ HR面

        经过前几轮面试,我基本与高P无缘了,其实这个结果也是意料中的事情,我个人感觉自己也和P7有一定距离,这次单单和HR聊了一点工作上的事情,一些规划,为什么离职,简单说了下待遇期望便结束了,这次阿里面试也基本结束了。

    百度

        所有找工作的人不会嫌offer少,而且阿里的面试流程有点慢,前前后后持续了三周,我担心会过不了所以顺便让百度的朋友给内推了一把,面阿里的时候顺便也在面百度,首先面的是百度钱包,据那个同事说,百度钱包不好面。

    百度钱包

        因为阿里是电话面试,百度是直接面对面,我比较喜欢面对面所以也记得清晰一点,那是周五,约的是下午二点,那天我上午便过去了百度大厦,百度位置有点偏僻,上午两个同事陪着玩了一会,中午请我吃了一个饭,都约定如果过不了便再推他们团队,真心朋友多了路好走啊!!!

        下午1点左右,我怕太过打扰同事便自己去大厅等候了,1.20左右,来了一个高高瘦瘦的帅哥携着女友过来等候面试,当叫到那个帅哥时候他起身整理了一下衣着(看上去不是面开发),目光中有期待有自信也有忧虑的进入面试了,大概10多分钟后他出来了,女友拉着他手臂走出了大门,我细心观察了一番,女友有意无意间想咨询面试情况,却顾左右而言其它,神情恍惚间有鼓励有担忧,既怕伤害男孩自尊,又关心男孩情况,男孩神情略显尴尬(我感觉他们应该大四),两人搀搀扶扶1分钟左右消失在了视线,我似乎看到了最初毕业时候找工作时候的场景了,心理想到的是我家里那位小姑娘,不时有些欣喜。

        翻过上一页,我也被人领了进去,一个哥们拿了一套笔试题给我做,然后说半个小时后回来,我拿着一看,有css有js,便开始做起来了,这里对其中一个题有点拿不准。

    var a = {n: 1}
    var b = a;
    a.x = a = {n: 2}
    console.log(a.x);
    console.log(b.x)

        这个题,我知道b肯定是跟着最初的a是一个引用,但是对这一句便很疑惑,最终也答错了(回公司后,我们整个部门的人全部都答错了):

    a.x = a = {n: 2}//这个是关键
        大概40分钟后,一面面试官过来了,我看他脸上有折印,应该是睡了觉起来,我关注了一下时间已经2.30了,他睡到这个时候啦!我这里印象不是很好,但是我这种虾米没有太多选择权便开始了面试,大概20分钟一面就过了,来了一个30多岁的大哥开始二面。

        二面这个面试官与我开始纠结在优化问题,中间他问了一个比较实际的业务场景让我考虑,其中核心是:

        一个页面需要全国的城市数据,我如何对这块做优化,但是他的问题中这个只是一个子块,他所希望的是面试者能尽快的找出他希望问的点,他会不断的提示,反问,如果连续几次都不能定位到这个重点,基本也就结束了,我当时可以说运气好,因为之前也做过这块的优化,便直接提了2个优化方案,他想了想,私语好像这样也可以(可以看到这里和他的预期也有出入,但是他也认可我的方法),后面便开始纠结于组件层面的讨论。

        他首先问我的组件是怎么做的,他给我提了一些意见,然后给我介绍了他们的组件做法,我也提了几点问题,一来二往之间大家就聊嗨了!!!

        他们想做一套业务型组件,以减轻测试的压力,以及编码的压力,但是我看到的是同一个业务组件可能与ajax产生关系,可能UI表现不一致,可能整体风格也不一致,说出了实现的困难,也表达了兴趣,然后便开始了聊工作中一些问题,中途口渴我们都倒了一杯水却发现都4.30了......

        面试官认为他和我的气场很合,其实是面试官比较能侃了,我和他一来二往直接最后聊到他们下班了,走的时候都18.30了,我尼玛聊了将近4小时啊!!!

        晚上时候百度的朋友问我面的怎么样,我直觉问题不大,和他一直在研究要多少,我也在想要多少,然后就等周一发offer了(面的时候是周五),结果周一的时候没有消息,阿里这边倒是通知二面过了,周二的时候百度那边给我说面挂了......我当时情绪事实上有些低落,询问了下HR是什么情况,想知道面试评价,HR没理我,我以为百度就这么挂了呢,结果简历马上被推到了另外了一个地方。

    其它面试

        第二次面的是百度云的一个团队,前两面技术面的都很不错,最后和老板聊天了,他说感觉我在携程发展的挺好的,为什么要离职,我连续面试有点疲惫了,言语之间表达不太好,自我感觉也是太好以为挂了,结果也好像不是太好,便不了了之了。

        第二次面试后一天,阿里这边通知面试全部通过了,让我体检完便发offer,过了一会百度这边又来电话了,让我安排一些时间再去面试,我直言确实面累了,不想在做技术面试了,hr说这次直接和一个总监聊下就可以了,于是我趁机问了下之前百度钱包怎么面挂了,他反馈说因为他们两个团队希望招一个高级别的,我想了想自己离高T好像确实有点差距,便将信将疑的答应了去面试。

        又是周五时候和百度一个老板聊了一下,这个老板看上去人很好,我大概介绍了我在鞋厂的工作,他比较满意,问了下最满意与最不满意,最难的事情,这几个问题,我都答了下,但是对最难的事情反而答不上,因为曾经认为很难很难的事情,在现在看来好像不值得当时解决时候那么兴奋,变得不是太难了,甚至已经不难了,我顺便说了下阿里可能要发offer了,如果要发的话就快点,搞不好人就入职了,老板也说马上让HR发offer,然后就走了。

        下午一点,另一个创业团队打电话说我上午的面试过了(我上午顺便去了一个创业团队面了一发,当时乱填的待遇,居然过了......),让我和他们高层聊下,我想想最近两年我还是积累为主,想去百度或者阿里学习下,便婉拒了。再过了一会百度HR就来电话了,谈了一下待遇,说是周一准备offer,也刚好是今天阿里的offer也下来了,于是开始了纠结。

        从意愿来说,我其实更加向往阿里,但是女朋友不愿意离开上海,加之待遇相差无几,综合考虑便选择了百度这边。我也想让阿里这边能不能再给加点,然后带着行囊便来一场说走就走的旅行,但是这个一般不太可行,所以最后给阿里的朋友说了下我这边的情况,并表达了感谢,便如此这般了,朋友惋惜了一番最后表达了一句:如果实在没办法,那也没办法了 ,看来他还是爱我的......

    展望

        在鞋厂这两年,对专业能力的积累帮助甚大,今后两年希望自己能有更多的产出,自己事实上现在又处于了一个瓶颈,这一轮的瓶颈比之前更难,除了专业,身体素质,思维扩展,敢于担责皆是需要突破的,反正希望好吧!!!