引言
LZ在某大型P2P公司已经做了两年半之久,考虑到未来的职业和行业发展,LZ深思熟虑之后,决定开启人生的第二次跳槽。
第一次跳槽LZ的想法比较单纯,就是希望能够找一家比较大的公司,能够有很好的升职空间。结果LZ如愿以偿,找到了一家P2P行业的巨头公司,并且也如愿在一年半的时间内升职为SM兼PM。自我感觉,这一次跳槽还算是比较成功,没有给LZ留下什么遗憾。
这一次跳槽LZ的想法其实依然比较单纯,就是希望将自己的金融行业背景,更换为互联网金融行业,加上互联网的标签。于是LZ与各大互联网公司的大战就此上演,经过一番车轮战,LZ最终选定了一家“两厢情愿”的公司作为LZ下一个为之效力的东家。
此外,在正式开始此文之前,LZ要强调的是,本文没有任何具体的面试题内容,只是零零散散的提及了各个公司面试的知识点以及各个公司的面试体验。因此,如果是想从本文看到面试题的猿友,可以绕路而行了。再说明一点,以下面试经历基本上是按照时间顺序进行的,但并不绝对正确。毕竟有的公司去了好几次,各个公司面试的时间也是交叉着的。
15年年前与互联网巨头的对抗
阿里巴巴:
说起阿里巴巴,LZ真是爱恨交加。爱的是阿里是Java的天堂,恨的是阿里的人似乎只认可拥有高并发经验的人。
前前后后,LZ共面试阿里两次,分别是两个不同的部门——菜鸟网络和支付宝。电面一共三次,面对面的面试一次。其中支付宝的电面直接挂掉,菜鸟的电面收到了阿里当面面试的邀请。值得称赞的是,去杭州菜鸟网络的这次当面面试,是阿里给LZ定的往返机票,并且报销了所有的路费,包括出租车这些费用。更巧的是,LZ是第一次坐飞机,没想到竟然是阿里给LZ掏的钱。
阿里的面试主要侧重于高并发,缓存,JVM这些方面,比如memcached,redis这类缓存组件,可以问你到死。当然,因为LZ面试的是专家职位,因此也会问很多你在工作中遇到的高并发或者一些奇葩问题,并且你需要详细的解释你是如何解决的,包括会问你有没有更好的方案等等这类问题。这里需要特别说明的是,阿里似乎只招收实习生和专家(或以上)。
总体来讲,去阿里就是纯靠实力和经验(当然,也有运气成分),只要你对高并发有足够的了解,并且拥有相当多的经验,处理过一些奇形怪状的问题,LZ感觉应该问题不大。当然,遗憾的是LZ一直以来做的都是企业应用,并发量不高,遇到的问题对于阿里一帮子人来讲,可能都还比较初级。因此很遗憾,LZ没能进去。
不过遗憾归遗憾,LZ当然不会在一棵树上吊死,此处不留爷,自有留爷处。阿里还是有机会再战吧。
百度:
既然远在杭州的阿里LZ都尝试了,LZ又人在北京,怎能不去百度尝试一下。BAT三大巨头,除了总部远在深圳的腾讯LZ实在没有想法之外,百度也在LZ的考虑范围内。
不过说真的,这次百度的面试经历,让LZ对百度的印象一落千丈。百度问的问题相对于阿里来讲,不是特别深入,但也绝不简单。比之阿里,百度多了一些项目管理,敏捷开发这方面的问题。当然,这也和LZ面试的职位有关,LZ面试的是百度工程效率部的职位。
LZ深居东四环,而百度却远在北N环,前前后后,LZ跑了三次百度。前两面为纯技术面,每一次一个人,第三次去百度面试了两个人,第一个人是领导,第二个是一个小兵,又是技术面。最让LZ无语的是,第三轮面试的领导竟然不知道LZ已经去过两次。LZ在想,如果没有之前的两次技术面,难道百度的领导都是不经过筛选直接面试的吗。
答案是当然不会!
不过这就奇怪了,领导怎么会不知道LZ已经来过两次?这让LZ感觉莫名其妙。第三轮面试最后来的一个小兵,感觉就是第三轮的那个领导派来找茬打发LZ的(LZ觉得那个领导估计一直都没搞清楚状况,就来面试LZ了),各种奇葩问题,什么玩意都问,也不管LZ简历上到底写的啥。LZ也不傻,自然一眼就能看出来这是故意打发LZ的。依LZ的性格,对方既然是来挑衅的,LZ自然不会退缩,中间讨论过程中,LZ果断与这个小兵展开了一场没有硝烟的厮杀。
总而言之,对于百度的印象,真是差到了极致。既然觉得不合适,就有点素质,不要浪费LZ的时间。前前后后让LZ去了三次,害LZ请了三次假,还浪费了几十块钱地铁钱(当时北京地铁已涨价)。
想去百度的同志们,三思而后行吧!至少对LZ来讲,这次面试的体验,百度与阿里差的不止是一个档次。
15年年前与互联网二三线公司的对抗
搜狐:
搜狐是LZ的朋友内推过去的,经历简直是痛苦不堪。LZ原本想着去互联网好好锻炼自己的技术,结果搜狐的面试官在让LZ画了自己项目的架构图以后,竟然直接告诉LZ,“不好意思,我们这个是项目管理部,如果你进来的话,可能不太会做开发的事情。”
听到这句话,LZ只感觉空中无数只草泥马飞奔而过。当然了,LZ也不会忘了推荐LZ那哥们,这推荐的是什么玩意啊!不过他也是大喊冤枉,说分明给我推荐的是一个Java工程师的岗位,不知道为何会是这样。
不管怎么说,搜狐就这么轻描淡写的过去了。对于搜狐,就两个字:坑爹!
国美在线:
国美也是LZ的朋友内推过去的,相对而言,国美的速度是非常快的。一轮纯技术面,一轮总监面,就已经定下来了。面试问到的问题也差不多,JVM,并发这类问题几乎是所有互联网公司必不可少的面试宝典。
可惜的是,LZ开始的薪水写的少了,后来LZ就在薪水上与国美展开了一场小小的战役,结果是两败惧伤。不过说实话,当时还有一个很主要的原因是马上就到年底了,原因自然是大家都懂的,年底嘛。
结果最终LZ也没能去国美,因为薪水,而究其根本原因,是因为LZ在开始填表的时候(就是面试的时候大家经常填的那个报到表),把薪水写低了,以至于后来再谈的时候有些尴尬。对于国美,LZ是有那么一丝遗憾的,毕竟面试官对LZ非常看重。有一个看重自己的上司,有时候是可遇不可求的。
15年年后与二三线互联网公司的对抗
京东:
过完年以后,或许是之前的小小面试把LZ的心面野了,也或许是互联网在召唤LZ。LZ思来想去,还是应该离开现在这个温馨的大家庭,去寻找更多的挑战。
于是,京东,LZ就这么去了。
京东的面试相对而言会比阿里简单很多,能看得出来面试官对LZ也比较满意。同样,LZ也在一直观察着面试官,感觉也比较满意。毕竟面试是双向的,咱们也有对面试官考察的权利。很多时候,面试官的水平也在一定程度上,代表了公司的技术水平。
京东问的问题比较基础,比如集合框架,算法这类的。当然,也有万年不变的并发,JVM,缓存这类内容,不过没有阿里问的深入。此外,京东的面试官也问了不少项目中的一些细节问题。总而言之,面试所问的问题还是比较中规中矩的。
不过可惜的是,由于LZ年前与国美的擦肩而过,导致LZ狮子大开口了一次,结果就是,LZ与京东再一次擦肩而过,同样是因为薪水。所以经过这两次的擦肩而过,LZ郑重的告诫各位,在面试时要薪水是一个很重要的技术活。要高了对方可能会直接pass掉你,你会直接错过一个offer。要低了可能会导致你后悔不已,就算隐忍着进入公司,也难免带着一丝悔意。
花絮1:
经过京东和国美的两次面试,LZ开始重新审视自己,重新定价。这两次失败都是因为薪水没谈拢,那到底是LZ要的高还是公司太抠门?
思来想去,LZ还是觉得是自己要高了,为什么这么说呢。主要原因还是因为换行业的原因,这么说吧,LZ要的那个数,如果能把LZ的行业背景用上,还是差不多可以达到的。但问题就在于,京东和国美都是电商,而LZ之前的金融行业背景是完全没用的,因此也不怪人家不给这么多钱了。
从此可以看出,跳槽的时候,最好先不要投你的意向公司,而是应该先找几个练手的公司探探身价,然后再客观的给自己定价。一旦定好价之后,就不能再轻易的改变了,比如LZ去国美的时候就不经意的降低了标准,结果导致最后想多要也难了。
想想也是,你跟别人谈好价了说要10块钱买对方的东西,结果对方在卖的时候又说要卖15了,换你你还会买吗?
58同城:
接着刚才的话题继续,在去过京东之后,LZ就去了58同城面试。58同城面试共见了三个人,第一个面试官是HR,简单问了一些问题,大约十分钟左右。接着就来了一位技术官,开始无限的技术攻击。
58的技术官让人看起来非常不爽,精神萎靡,面试的时候一直在打哈欠。而且从对方的神态举止上,能明显感觉到很傲慢,LZ当时对58的印象大打折扣,这尼玛是什么玩意啊,大牛就这德行?
技术官面试完以后,对LZ的评价是,技术一般,思维能力和理解能力很好,接下来第一面的那个HR就让LZ回去了。本来LZ已经走了,还没出58同城的大门,一面的HR又来电话,说有个组的组长想见见LZ。于是,LZ就这么又被叫回去了。
第三面的人给LZ的感觉是完全不懂技术,一直问LZ如果是这种情况你怎么设计,那种情况你怎么处理。比如LZ印象比较深的是,说有一堆数据要处理,你会怎么做。LZ当时给了一个过滤器链的方案,说这样做扩展性会比较强,如果要增加新的数据过滤规则,可以随意扩展。
还有一些其他很实际的问题,不过第三面的面试官给LZ的整体印象是,没做过开发,对技术只有一个模糊的了解。这样的人做LZ老大,能学到什么东西?当时58面试的部门是他们的信息质量部,现在想想,LZ犯了多大的错误才会来面试这种部门。
总的来说,58给LZ的印象也不咋地,尤其是二面的那个技术官,实在不敢恭维。
艺龙:
艺龙的面试源自于LZ一个朋友的推荐,总的来讲,艺龙是给LZ印象最好的一个公司。为什么这么说呢?
艺龙发offer几乎就是当场发的,不像百度,58这类公司,简直是坑爹。不过58更坑爹的地方在于,当时LZ收到艺龙offer以后,就给58的面试官打电话问进展,结果58的面试官说让LZ等等,说是总监还没回来。于是LZ天真的以为58真的是在等总监,结果到现在也没来电话,真尼玛坑爹。既然没通过,LZ也明确说了收到了offer,58为何不能给句痛快话,直接说你接受其它公司的offer就好了。幸好LZ也不傻,既然你们让等,那你们就慢慢琢磨去吧,这边先答应了再说。
吐槽就到这里,说说艺龙的面试,艺龙问的问题比起阿里百度来讲,确实是简单了太多,基本上LZ都回答上来了。其实还是那一套东西,jvm,缓存,并发,集合框架等等,只是各个公司问的深度不一样。比如阿里当时问过memcached的内存模型,LZ只知道memcached是基于内存的,哪里知道memcached的内存模型,也是后来翻阅了一下,才知道memcached的内存模型是slab,item等类去描述的。
刚才已经说了,艺龙是当场发的offer,不过工资不是LZ想要的数字,而是压低了不少。不过这个时候LZ已经明白了自己的身价,因此也就没有拒绝。原本以为,这次的面试之旅也就到此结束了。
360:
360是LZ的朋友的老公介绍的,既然有面试,LZ也不会拒绝,因此面试之旅依然在继续。截止到目前为止,LZ只拿到了两个offer,一个是艺龙,一个是国美。原本京东也是有offer的,不过由于工资要的高了,所以没有收到。
这一趟360跑的确实非常值得,因为在所有LZ见过的面试官当中,LZ最中意的面试官,就是360面试LZ技术的那位。表现很低调,但是能感觉的出来,这个人的技术非常牛B,对底层的一些东西了解的非常深入。印象比较深的一点就是,面试官和LZ聊TCP聊了很久,LZ自我感觉在大多数同样三年编程经验的程序员当中,对TCP还算是比较了解的,但LZ能感觉出来,这位面试官比LZ要厉害太多。
后来360又派来了一位非技术的领导和LZ谈,谈的都是一些对技术的看法,对职业的规划等等这类比较宽泛的问题。最后也不知道是技术没过关,还是领导的那次面试没过关,360最终杳无音信。
总的来说,360还是比较可惜的,虽然距离比较远,但是就冲那位面试官,就让LZ有去的冲动。不过其实后面的那位领导也明确说了,就算LZ进去了,第一位那个技术面试官也不会带LZ的,LZ会加入到一个新成立的项目当中,大约目前五六个人的样子。
360的面试体验,总体来讲还是非常不错的,认识到了自己的一些不足,而且面试官的态度包括各个方面也都非常好。赞!
网易:
网易的面试来自于一次偶然,LZ原本投的是北京的职位,不知道怎么就变成了杭州的职位。
网易第一次是电话面试,总的来说非常顺利,LZ和面试官聊的非常投机,其中问到的技术主要从项目所使用的技术展开,逐步深入。比如memcached,集群,session共享,tcp协议,gc策略,jvm内存模型,并发等等。
因为这次电面非常顺利,所以LZ有自信能收到下次面试的通知。果然,没过多久,网易HR就打来电话说要LZ前往杭州进行面试。因为当时艺龙的offer已经收到,而LZ已经初步决定去艺龙,况且网易并没有阿里那么大方,直接机票帮你订好,你只管去坐就可以了。因此,最后和HR协商之后,决定了视频面试。
视频面试一共有三个人,两个技术,一个应该是领导或者是产品经理这一类的。技术方面没有什么新鲜的,毕竟第一次电面问了一个多小时,已经很详细了,主要是聊一些业务方面的。因为网易这个职位也是做P2P的,和LZ现在的行业是匹配的。
聊到最后,感觉也都差不多,LZ这次毫不犹豫的狮子大开口,要了一个绝对天价的数字(算下来大约年薪为35w,就算进了阿里,在不考虑期权股票的情况下,也就这个数了吧)。之所以要这么高,主要是因为网易那边的团队只有十几个人,原本是一个创业团队,被网易收购了。因此去那边的话,风险非常大。这个团队随时面临被网易撤掉的危险,到时候LZ不管是留在杭州,还是回北京,都会非常不值得。就算对方真给了这个工资,能拿多久也未可知。
后来HR联系LZ说,LZ要的工资太高,老大要亲自过一下。不过等了几天,一直也都没有下文,想必是对方放弃了,觉得代价太高。其实很明显,对方看重的不是LZ的技术,或者说技术只是一方面,对方最看重的是LZ的行业背景。
总的来讲,因为这次网易的面试从一开始就是一个不太靠谱的开始,因此结束的这么不靠谱也没啥奇怪的了。总而言之,如果这个职位是在北京,LZ也不会要那么多薪资,最后说不定就成了,实在可惜。
万达电商:
去万达电商其实纯属意外,主要是万达的工作地点和LZ现在的公司走路只需要三分钟,这么近的情况下,能去看看LZ当然不会拒绝。去了以后,LZ才知道万达是如此坑爹。为什么这么说,主要有以下几个地方。
1,面试的地方走来走去的都是西装革履的大侠,这让LZ一个技术屌丝实在是无语。
2,上来HR就给了LZ一份笔试题(备注一下:这是LZ面试了这么多家公司,第一个让LZ一个面试高程的做笔试的),笔试就笔试吧,还全部都是Java基础题。(数万只草泥马从LZ的脑中飞过)
3,最无语的是,面试的内容几乎全是脑筋急转弯,LZ只想说,你们是在知道答案的情况下秀智商吗。
这次面试,给LZ的感觉就是,一个土豪很不客气的把钱甩到LZ的脸上说,“写代码的,给我写一个系统”。
对于万达,LZ只想说,我去年买了个表。
花絮2:
经过前面这么多面试,尤其是网易的这次,LZ想明白一个道理。就是行业不能换。
LZ是想做互联网,但是没必要非得找二线的互联网公司,比如做电商的京东,做旅游酒店业务的艺龙,做分类信息的58等等,而应该聚焦于互联网金融公司。这样不仅可以满足LZ想做互联网的期望,也可以不丢掉自己的行业背景,在这个行业中慢慢积累自己的行业优势。况且互联网金融也是最近比较火的一个领域,而且比较新,在这种领域里,一切皆有可能。像电商,旅游等等这类领域,已经相对成熟了,很难在短时间内有巨大的格局变化。
于是LZ痛定思痛,决定换一种思路,全力寻找互联网金融公司。
15年年后与互联网金融公司的纠缠
与互联网金融公司的纠缠就非常顺利了,LZ的技术还算过关,加上比较硬的行业背景,offer可以说是手到擒来。实践证明,互联网金融这类公司,LZ拿下offer的几率为100%。
具体的面试内容LZ这里就不逐个列举了,总的来说,这类公司面试的内容也都大同小异,大部分面试内容都是一些项目经验和并发,缓存,算法这类的问题。还有一些公司,会临时(也或许是早就准备好的)出一些题,让你现场写出来。
LZ就说一道题吧,是LZ当时没想出来的,现在想想,LZ还真是在这方面有些欠缺。题目内容是,写一个函数,它的作用是接受一个整数(假设为length),返回一个数组,数组的长度为length,数组中的内容为随机的0至(length-1)的值,并且不能重复。比如length为5的话,数组可能是[1,0,3,2,4]。
题目的解决方案如下(当然,这只是方案的其中之一)。
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**
* @author zuoxiaolong
*
*/
public abstract class RandomArray {
public static int[] random(int length){
if (length <= 0) {
return new int[0];
}
List<Integer> list = new ArrayList<Integer>(length);
for (int i = 0; i < length; i++) {
list.add(i);
}
int[] array = new int[length];
for (int i = 0; i < length; i++) {
array[i] = list.remove(new Random().nextInt(length - i));
}
return array;
}
public static void main(String[] args) {
int[] array = RandomArray.random(10);
System.out.print("[");
for (int i = 0; i < array.length; i++) {
if (i < array.length - 1) {
System.out.print(array[i] + ",");
} else {
System.out.print(array[i]);
}
}
System.out.print("]");
}
}
小结
这次面试之旅,LZ有非常多的收获,简单总结一下,希望对各位也有参考意义。
1,如果可能,不要轻易更换自己的行业。
2,给自己定价一定要谨慎,否则可能错过很好的机会。
3,如果你喜欢技术,公司的技术氛围很重要。
至此,找工作之旅就基本上结束了,LZ最终还是选择了互联网,也选择了自己原本赖以生存的金融行业。现在回想起来,还是有些后怕的。倘若LZ在面试了一堆互联网公司以后,没有及时醒悟过来的话,或许若干年后,LZ每想到此都会后悔不已,后悔当初没有在一个行业深入下去。
刚过完年,相信很多人也都走在跳槽的路上,祝愿大家新年都能找到一份自己钟爱的工作。