美文网首页程序猿日记面试技术文章
一次跳槽经历(阿里/美团/头条/网易/有赞...)

一次跳槽经历(阿里/美团/头条/网易/有赞...)

作者: searchworld | 来源:发表于2018-05-23 23:41 被阅读2108次

    为啥跳槽

    每次说因为生活成本的时候面试官都会很惊奇,难道有我们这里贵?好想直接给出下面这张图,厦门的房价真的好贵好贵好贵。。。


    image.png

    面试过程

    (先打个广告,有兴趣加入阿里的欢迎发简历至 zhangzb2007@gmail.com,或简书上给我发信息)
    面的是Java岗,总共面了7家公司,通过了6家。按自己的信心提升度我把面试过程分为上半场和下半场。

    上半场

    1. 曹操专车
      这是吉利集团下属子公司,已经是一家独角兽。一面中规中矩,没啥特别的。二面好像是个主管,隔了好几天,基本没问技术问题,反而是问职业规划,对加班有啥看法,有点措手不及,感觉回答的不好。但是过几天还是收到HR的现场面试通知。现场是技术面加HR面,技术面被问了几个问题有点懵逼:a. zookeeper的watcher乐观锁怎么实现 b. 一个项目的整个流程 c. 说出一个空间换时间的场景 d. centos7的内存分配方式和6有啥不同 f. 你对公司有什么价值。HR跟我说节后(那会再过两天就是清明)会给我消息,结果过了半个月突然接到他们的电话,说我通过了,给我讲了他们的薪资方案,没太大吸引力,再加上这种莫名其妙的时间等待,直接拒了。

    2. 美亚柏科
      估计很多人没听说过这家公司,这是一家厦门本土公司,做政府安防项目的,在厦门也还是小有名气。但是面试完直接颠覆了我对这家公司的认知。进门最显眼的地方是党活动室,在等面试官的一小段时间里有好几拨人到里面参观。面试前做了一份笔试题,基本都是web/数据库方面的。第一面简单问了几个redis的问题之后面试官介绍了他们的项目,他们都是做C和C++的,想找一个人搭一套大数据集群,处理他们每天几百G的数据,然后服务器全部是windows!二面是另一个部门的,印象中就问了kafka为什么性能这么好,然后就开始问买房了没有,结婚了没有,他对我现在的公司比较了解,又扯了挺久。三面应该是个部门老大了,没有问技术问题,也是问买房了没,结婚没,问各种生活问题,有点像人口普查。我有点好奇,问他们为啥这么关心这些问题,他直接说他们更强调员工的稳定性,项目比较简单,能力不用要求太高,不要太差就行。汗,直接拒了。

    3. 有赞
      绝对推荐的一家公司,效率超高。中午找了一个网友帮忙内推,晚上就开始一面,第二天早上二面,第三天HR就约现场面试时间,快的超乎想象。现场面也是先一个技术面,最后才HR面。面试的整体难度中等。现在就记得几个问题:G1和CMS的区别,G1有啥劣势;Kafka的整体架构;Netty的一次请求过程;自旋锁/偏向锁/轻量级锁(这个问题在头条的面试里也出现了一次)、hbase线上问题排查(刚好遇到过NUMA架构下的一个问题,借此把hbase的内核介绍了下)。
      这里不得不说下有赞的人,真的很赞。终面的面试官是一个研发团队的负责人,全程一直微笑,中间电话响了一次,一直跟我道歉。面完之后还提供了团队的三个研发方向让我自己选择。后面看他的朋友圈状态,他那天高烧,面完我就去打点滴了,但是整个过程完全看不出来。帮我内推的网友是在微信群里找到的,知道我过了之后主动找我,让我过去杭州有啥问题随时找他。虽然最终没有去,但还是可以明显感受到他们的热情。

    4. 字节跳动(今日头条)
      HR美眉打电话过来说是字节跳动公司,想约下视频面试时间。那会是有点懵的,我只知道今日头条和抖音。后面想到北京的号码才想起来。头条可以说是这次所有面试里流程最规范的,收到简历后有邮件通知,预约面试时间后邮件短信通知,面试完后不超过一天通知面试结果,每次面试有面试反馈。还有一个比较特别的,大部分公司的电话或者视频面试基本是下班后,头条都是上班时间,还不给约下班时间(难道他们不加班?)。
      一面面试官刚上来就说他们是做go的,问我有没有兴趣,他自己也是Java转的。我说没问题,他先问了一些Java基础问题,然后有一道编程题,求一棵树两个节点的最近的公共父节点。思路基本是对的,但是有些细节有问题,面试官人很好,边看边跟我讨论,我边改进,前前后后估计用来快半小时。然后又继续问问题,HTTP 301 302有啥区别?设计一个短链接算法;md5长度是多少?整个面试过程一个多小时,自我感觉不是很好,我以为这次应该挂了,结果晚上收到面试通过的通知。
      二面是在一个上午进行的,我以为zoom视频系统会自动连上(一面就是自动连上),就在那边等,过了5分钟还是不行,我就联系HR,原来要改id,终于连上后面试官的表情不是很好看,有点不耐烦的样子,不懂是不是因为我耽误了几分钟,这种表情延续了整个面试过程,全程有点压抑。问的问题大部分忘了,只记得问了一个线程安全的问题,ThreadLocal如果引用一个static变量是不是线程安全的?问着问着突然说今天面试到此为止,一看时间才过去二十几分钟。第二天就收到面试没过的通知,感觉自己二面答的比一面好多了,实在想不通。

    下半场

    一直感觉自己太水了,代码量不大,三年半的IT经验还有一年去做了产品,都不敢投大厂。上半场的技术面基本过了之后自信心大大提升,开始挑战更高难度的。

    1. 美团
      这个是厦门美团,他们在这边做了一个叫榛果民宿的APP,办公地点在JFC高档写字楼,休息区可以面朝大海,环境是很不错,面试就有点虐心了。
      两点半进去。
      一面。我的简历大部分是大数据相关的,他不是很了解,问了一些基础问题和netty的写流程,还问了一个redis数据结构的实现,结构他问了里面字符串是怎么实现的,有什么优势。一直感觉这个太简单,没好好看,只记得有标记长度,可以直接取。然后就来两道编程题。第一题是求一棵树所有左叶子节点的和,比较简单,一个深度优先就可以搞定。第二题是给定一个值K,一个数列,求数列中两个值a和b,使得a+b=k。我想到了一个使用数组下标的方法(感觉是在哪里有见过,不然估计是想不出来),这种可是达到O(n)的复杂度;他又加了个限制条件,不能使用更多内存,我想到了快排+遍历,他问有没有更优的,实在想不出来,他提了一个可以两端逼近,感觉很巧妙。
      二面。面试官高高瘦瘦的,我对这种人的印象都是肯定很牛逼,可能是源于大学时代那些大牛都长这样。先让我讲下kafka的结构,然后怎么防止订单重复提交,然后开始围绕缓存同步问题展开了长达半小时的讨论:先写数据库,再写缓存有什么问题?先写缓存再写数据库有什么问题?写库成功缓存更新失败怎么办?缓存更新成功写库失败怎么办?他和我一起在一张纸上各种画,感觉不是面试,而是在设计方案。
      三面。这是后端团队负责人了,很和蔼,一直笑呵呵。问了我一些微服务的问题,我提到了istio,介绍了设计理念,感觉他有点意外。然后他问java8的新特性,问我知不知道lambda表达式怎么来的,我从lambda演算说到lisp说到scala,感觉他更意外。此处有点吹牛了。我问了一些团队的问题,项目未来规划等,感觉榛果还是挺不错的。
      四面。这个应该是榛果厦门的负责人了,技术问题问的不多,更多是一些职业规划,对业务的看法等。面试结束的时候他先出去,我收拾下东西,出去的时候发现他在电梯旁帮我开电梯,对待面试者的这种态度实在让人很有好感。
      出来的时候已经是六点半。

    2. 网易
      面的是网易云音乐,平时经常用,感觉如果可以参与研发应该是种挺美妙的感觉。
      一面。下午打过来的,问我有没有空,我说有,他说你不用上班吗?有态度真的可以为所欲为(苦笑)。然后问了为什么离职,聊了会房价,问了几个netty的问题,gc的问题,最后问下对业务的看法。
      然后约了个二面的时间,结果时间到了没人联系我,第二天打电话跟我道歉重新约了时间,不得不说态度还是很好的。二面问的反而很基础,没太多特别的。让我提问的时候我把美团二面里的缓存问题拿出来问他,很耐心的给我解答了好几分钟,人很好。

    3. 阿里
      这个其实不是最后面试的,但是是最后结束的,不得不说阿里人真的好忙,周三跟我预约时间,然后已经排到下一周的周一。总体上感觉阿里的面试风格是喜欢在某个点上不断深入,直到你说不知道。
      一面。自我介绍,然后介绍现在的项目架构,第一部分就是日志上传和接收,然后就如何保证日志上传的幂等性开始不断深入,先让我设计一个方案,然后问有没有什么改进的,然后如何在保证幂等的前提下提高性能,中间穿插分布式锁、redis、mq、数据库锁等各种问题。这个问题讨论了差不多半小时。然后就问我有没有什么要了解的,花了十几分钟介绍他们现在做的事情、技术栈、未来的一些计划,非常耐心。
      二面。也是从介绍项目开始,然后抓住一个点,结合秒杀的场景深入,如何实现分布式锁、如何保证幂等性、分布式事务的解决方案。问我分布式锁的缺点,我说性能会出现瓶颈,他问怎么解决,我想了比较久,他提示说发散下思维,我最后想了个简单的方案,直接不使用分布式锁,他好像挺满意。感觉他们更看重思考的过程,而不是具体方案。还问了一致性hash如何保证负载均衡,kafka和rocketmq各自的优缺点,dubbo的一个请求过程、序列化方式,序列化框架、PB的缺点、如何从数据库大批量导入数据到hbase。
      三面。是HR和主管的联合视频面试。这种面试还第一次遇到,有点紧张。主管先面,也是让我先介绍项目,问我有没有用过mq,如何保证消息幂等性。我就把kafka0.11版本的幂等性方案说了下,就没再问技术问题了。后面又问了为啥离职,对业务的看法之类的。然后就交给HR,只问了几个问题,然后就结束了,全程不到半小时。
      不懂是不是跟面试的部门有关,阿里对幂等性这个问题很执着,三次都问到,而且还是从不同角度。

    总结

    从面试的难易程度看阿里 > 美团 > 头条 > 有赞 > 网易 > 曹操专车 > 美亚柏科。整个过程的体会是基础真的很重要,基础好了很多问题即使没遇到过也可以举一反三。另外对一样技术一定要懂原理,而不仅仅是怎么使用,尤其是缺点,对选型很关键,可以很好的用来回答为什么不选xxx。另外对一些比较新的技术有所了解也是一个加分项。
    最后感谢所有帮我内推的小伙伴!

    相关文章

      网友评论

      • worldcbf:https://www.jianshu.com/p/3819ca0ba83a 好像你的文章被营销号转载,然后没有注明作者
      • feihui_:网易云音乐面试有hr面吗?
        searchworld:@feihui_ 有的,他们HR挺不错
      • 太阳守护者:想问一下,阿里实习生面试会不会很难?大概的面试流程和您在文章中说到的一样吗。
      • 酸酸酱:想问一下,厦门也有阿里吗?楼主最后去了哪里呢?
        searchworld:厦门有阿里,高德就是阿里的。不过好像很少搞java
      • 究极丶小铠:感觉好辛苦的样子!@
      • 98f2b433c7fe:三年我会的也就你一半。。
        searchworld:我也只是面试会啦,很多也只是懂皮毛。
      • 阿道吔:牛!你是做了一年产品又转的Java吗
        searchworld:java-产品-java:sob:
      • 856e9afc9f7a:简直不敢相信,工作三年半,一年产品,相当于实际搞开发也就两年半,ZK,redis,MQ,kafka、netty、dubbo,hbase,JVM,微服务架构、大数据相关的东西等,感觉不仅知道还对原理有较深入认识,还能深知各个技术的优劣对比各个技术,而且似乎还出身小公司,真是不知道哪儿来那么多时间和技术实践机会的。我咋感觉大厂里好多工作5年的都没有你这水平呀,或许是我们太忙于码代码了吧,又或许你真是那少部分人吧。作为一个工作3年的一线开发,可能自己度过了假的三年吧:joy: :joy: :joy:
        searchworld:@856e9afc9f7a 没那么夸张了,有些也是面试准备的
      • 热血街舞:同在厦门,网宿,美图这些公司没有去面试吗?
        searchworld:@热血街舞 美图要笔试。网宿是老东家:smile:
      • sunpy:牛皮
      • Uardswed:楼主牛掰:+1: :+1:
      • 右军:文章可以申请转载吗?我的公众号 技术琐话
        searchworld:@右军 可以呀,太荣幸了
      • package_Bug:真的非常仰慕楼主,能不能给点学习和工作上的建议。特别希望能吸收一些楼主的学习方式和学习内容
        searchworld:@package_Bug 这个可以关注一些博客或者公众号,我也没啥特别的学习方法
      • 中国好名字:同在厦门,LZ之前在厦门哪家公司
        searchworld:@中国好名字 一家小公司。
      • jiangchunyang:我天,三年多就会这么多了吗。感觉我是个废人了、、、
        searchworld:@jiangchunyang 加油加油!
      • 80e38d26d56c:去了杭州吗?大牛
        searchworld:@世界杯2009 对,过来了
      • 3cf7145f98bd:好多人都说基础很重要,除了数据结构和算法,还有哪些算基础。
        searchworld:@七夜_5449 Java语言基础,多线程之类的
      • 8789ac914bc1:您好,这篇文章可以在我的公众号上吗,光明顶小招,期待您的回复
        searchworld:@Emily_b015 好的

      本文标题:一次跳槽经历(阿里/美团/头条/网易/有赞...)

      本文链接:https://www.haomeiwen.com/subject/pcbblftx.html