本文约3万余字,阅读时间大概为1小时。主要包含:裸辞&辞职、西安&杭州、面试的技巧、蚂蚁金服面试经历、面试题分享等章节。距离来杭州已经过去3个月了,一直想把这几个月的经历写下来,但是迟迟没有动手,在整理了好久之后终于动手完成了本文,希望大家通过本文可以有所感悟。由于个人的工作经验和视野有限,文章中的结论和观点难免存在错误,部分观点也会存在争议,在这里欢迎大家批评指正和进一步探讨。

这篇文章我构思了2个多月,资料搜集整理、编写、不断校正的过程花费了大量的时间。在自媒体发达的时代,别一个复制和粘贴就可以剥夺他人的劳动成功。所以在这里强调一下:

本文采用 @BY-NC-SA 许可协议,部分章节或全文转载请注明出处和作者!!!

如果侵权的话,我会去自媒体平台进行投诉。

1.背景

简单介绍下自己,一个非科班的学渣,2015年毕业,2014年底通过培训入行了Java开发。在没有来杭州之前,以前待过大连和西安,不得不说这都是一些 IT 行业的三四线城市,IT 行业在这两个城市的发展都差强人意,没有一开始就选择北上广这样的城市里面有挺多故事,如果你有酒,我愿意讲给你听。

西安的生活环境并不是很好,雾霾也好大,特别干燥也很热。刚开始是在家软件公司,公司效益不好,自研的产品没有销量,开始转型接一些其他公司的外包工作,好好的一个 Java 开发,写了一个月的前台页面和 JS ,严重不符合自己的个人职业规划。正好有个创业公司邀请去,是个搞互联网健身的公司,然后就跳槽去了,自己也是比较热爱体育和健身的,加上公司承诺的13薪和股票,我对这个公司抱有挺大的期望值。和绝大部分的创业公司一样,这家公司也十分的不靠谱,管理者在技术和业务层面做出了多次错误的决定,各种毫无规划的业务改革,就算多次的转型,当时公司还是迟迟没有用户数据,也看不到清晰的盈利模式。一直找不到投资人的情况下,资金逐渐紧张了起来,工资也经常拖着发。但是这都不是最严重的,当初承诺的五险一金,竟然从来没缴过公积金,连最低基数都没,还有其中几个月偷偷的把社保给停缴了,没有任何人被告知,什么13薪和股票更不用说了,都是大饼。虽然公司一直在说,如果找到投资人,有了资金,社保公积金还有13薪全给补上,当然这些我是完全不信的,混乱的管理,盲目的转型,无法看到盈利模式,我想我是投资人我也不会去投的。在完全感受不到希望的情况下,我思考之后提出了辞职。在仔细考虑和分析了很久之后,没有选择换公司,而是选择换城市,离开西安前往杭州。

来到杭州的日子是3月16日,找到工作入职的时候已经是5月5日了。为了不让上家公司的事情再次发生,所以找工作的时候也格外细心。不得不说2019年果然是IT业的寒冬期,找工作真的很辛苦,本来面试机会比较少,经过一番挑选之后,可选的范围又少了很多。这一个多月内,余杭区、下城区、滨江区、萧山区……杭州各个片区逛了又逛,求职的APP上那几页招聘信息,不是已经面过的,就是曾经被拒的,每天新增的机会就那么几个,也常常收不到回信。

面试这么多公司中有被外包公司一面就拒的情况,也曾披荆斩棘坚持到见到了蚂蚁金服的HR,有被公司强烈欢迎入职,也被有的公司指点的一无是处。还好自己比较坚强和自信,没有丧失信心,没有被这些挫折所打倒,终于收获了一份满意的offer并入职。现在所在公司是非常符合我的预期,公司以技术为驱动,CEO、CTO、很多技术大牛都曾经在阿里干了很多年,整个团队的投特别游戏,并且业务是我自己比较看好的领域。入职到现在感觉特别不错,用一句话概括就是:和一群优秀的人做自己喜欢的事。

2 辞职 & 裸辞

2.1 谈谈辞职

在这次裸辞到杭州的过程中,关我思考了很多,在职业生涯中,每个人都会经历过多多少少的辞职,这是一个很正常的环节。关于为什么辞职,马云就曾经说过,原因无非两种:1、钱,没给到位;2、心,委屈了。这些归根到底就一条:干得不爽。“为什么辞职”也是一个永远绕不过去的话题。我们通过三个问题,好好思考下辞职,然后再决定我们要不要辞职,甚至是裸辞。

1、自己:为什么要辞职?

我们在一个公司的时间久了,时不时就会蹦出一个辞职的念头。出发点很多,比如:觉得自己薪资报酬不匹配 、同事难相处、食堂饭菜太难吃、离家太远、领导管理有问题等等。有些原因很客观,确实没有办法改变,貌似辞职是唯一的解决方式。不过有的时候,我们确实要再思考思考。

举个例子:领导分配给你以个任务,限定一天的时间完成,你加班加点凌晨才做完,虽说有点漏洞,但是你自己感觉很满意,然后将结果反馈了上去。领导在收到你的结果之后,表现的非常的不满意。领导的内心独白是,这个任务半天就可以解决,给你一天是不希望给你过大压力,同时希望你可以用剩余时间好好检查下,在这样的条件下你就不应该出现这些漏洞。后面的结果很可能就是,领导在这次加薪的名单中划掉了你的名字,然而你觉得自己辛辛苦苦的加班到凌晨,对这种的处理方式感到不公,于是产生的辞职的想法。

这种案例在我们现实工作中特别常见,你和领导对共一件事的判断缺乏统一的衡量标准,所以产生了严重的认知分歧。这时候我们可以分析思考下问题到底出现哪一方。假如同年限的程序员如果都能准时完成,而你需要加班完成,这种情况下你还是别辞职了,换个公司也解决不了目前的问题,因为换公司没有解决核心问题,核心问题是由于工作能力不足造成的,接下来所要做的就是提升自我能力到行业平均水平;又假如同年限的程序员都完成不了,他们可能需要两三天,又或者一周,这样对比下来你就特别高效和优秀。这种情况下你应该和领导进行一次沟通,因为不是每个领导都特别懂技术和具体实现,矛盾和分歧很有可能在沟通之后就解决了,沟通成功了也就没必要再提辞职了,不要遇到事情第一反应就是辞职,这样做有点太玻璃心了;当然,肯定有那种比较烂的领导,合理解释也是狡辩,有证据也不看也不听,自己的错也不愿承认,这时候你就可以考虑辞职了,我个人也是比较赞成的。

离职原因中最重要的一点,无非就是钱,很少有人觉得自己赚的多,基本都觉得自己赚的太少。偶尔从同事朋友那里了解过他们薪资,然后就感觉为什么他们某些方面并不如自己,但是工资却比自己高。长期被这种想法提示,就会慢慢吞噬我们,走上辞职的路。首先不得不承认业内确实室友薪资倒挂是一种现象,但是更多的情况下,薪资是符合一个人所产生的价值的。你可以仅仅通过他工具不熟悉或者流程不规范就觉得他薪资不符,但他其他方面的优点你又确定你能了解到什么程度呢。他的技术演讲能力如何?潜力如何?创新力如何?你如果不能全面的分析一个人,那么你这样的对比就是不正确的。我有个人大的朋友,我老是嘲笑他 Java 技术太次,连一些常用的技术都不会用,后来他毫不费力的翻译英文文档,没事给大家普及一些人工智能方面的算法,这时候我发现差距确实挺大的,他技术差的可能短期内熟练熟练就会了,而我的弱项,可能短期内,或者永久都追不上。我认为这是自己一个使用自己上限和别人下限对比的典型案例。当因为钱决定辞职的时候,一定要好好分析下,是不是自己的薪资报酬不符合付出,而不要去参考别人,嫉妒心和虚荣心往往会促使你做出错误的决策。

同样,当我们为了钱而辞职的时候,我们不能简简单单的通过数字的多少来衡量两份工作谁好谁坏,同时我们要看重一些无形资产的积累。举个例子:员工A,第一年工资8000,第二年跳槽1W,第三年跳槽1W3; 员工B,同一家公司三年,工资1W,不过已经升级为组长。表面看起来,员工A每年收获的金钱数字相对多,但是频繁跳槽,个人竞争力、业务熟悉程度等方面减分不少,随着时间的推移,面试机会和岗位选择越来越少;员工B每年收获的金钱数字较少,但是业务熟悉度高,有实际管理经验和才能,这方面在求职中很有竞争力,后面职业规划中机会更多,薪资涨幅更有议价权。也不是说完全不看钱,也不是说完全看重钱,我们需要制定自己的职业发展规划,在金钱和能力提升不能够同时满足时,我们需要从自身做出一个合理的决策,到底是为了发展可以降低点收入,还是最大化的增加收入。

简单总结下,辞职一定要慎重,建议“三思”而后行:

  • 是否非辞职不可,有没有挽回和弥补的措施,假如入职了新公司,那么目前所遇到的问题可否解决;
  • 觉得待遇过低的情况下,是否对自己进行了正确的估价;
  • 除了薪资涨幅外,还应该分析哪些无形资产(背景、技术、业务)的收益。

2、现公司:为什么要辞职?

当你向上级领导提出辞职时候,他们肯定会问你这个问题。这时候你只需要礼貌性的说下个人原因就行了,不要各种抱怨待遇不好,也不用长篇大论的去分析公司有什么问题,需要什么修改措施。

如果因为薪资原因,领导基本都会提出升职加薪,动之以情晓之以理,许很多美好的承诺让你不要离开。但是我还是劝你果断离开,你的领导所有的挽留措施都是暂时的妥协,是为了更好的让你完成工作交接,预留一定的缓冲期找到新的接替者。因为你一旦提出辞职,你和领导心目中的间隙已经生成,从那一刻起,领导就认定你是一个要走的人。假如你今天被领导劝下来了,领导会继续担心你明天会不会又提辞职,为了避免工作上面的风险,最好的措施就是找人替换你,他会开始寻找新的替代者,由新的替代者开始慢慢接手你的工作,等接替者基本胜任你的工作的时候,就开始慢慢边缘化你,迫使你离职。所以,既然不要轻易说出口,既然说出口了就不要犹豫。当然也希望大家好聚好散,站好自己的最后一班岗,做好最后的交接工作,假如今天提离职,明天就说不来了,那就太没职业素养了。

如果是公司管理制度方面的原因,领导可能当时会夸你提出的建议很好,但是结果肯定很明显,根本不会去执行。有个道理要明白,能改的早改了,不会等到你提出了突然改。有些问题是以前没发现,现在既然你提出了,那么就各种向上汇报,然后讨论开会,最后的结果大多是不了了之;要不是发现了因为各种历史原因,制度,制度等约束条件没办法改。除非身居高级管理职位,不然不要轻易对公司的规章流程指手画脚,有些事是因为自己看的不全,有的是自己无能为力。

3、求职单位:为什么要从上家单位辞职?

在求职过程中,这个问题是100%会被问及的。新的单位有自己的风险评估,他们会评估,假如你入职,那么你从上家单位离职的情况会不会再次发生,概率有多高。因为招聘一个员工,如果离职再找替代者,等到替代者能完全胜任,这个过渡周期的时间成本和人力成本特别高,没有企业愿意浪费时间和金钱在一个风险比较大的求职者身上。回答的时候不要傻乎乎的给上家公司列个几十条罪状,一顿诉苦和抱怨,这样影响特别不好,新的单位会害怕同样的事情在自己身上复现。原因的话,可以说是个人职业规划和个人发展方面的原因。比如说以前公司的技术已经趋于稳定,自己想找一个更有技术挑战的平台挑战和提升自己;又比如说自己家里买的房子在公司附近了等等一些客观的,从个人角度出发的问题。

顺便说下,频繁的跳槽辞职不利于求职面试,所以辞职时候一定要慎重。

2.3 裸辞 & 裸辞利弊

1、裸辞

百度关于裸辞的解释是:还没找好下家就辞职,不考虑后路,意味着离开的决然。因工作压力身心疲惫达到了极限,或长期缺乏工作幸福感。

我个人选择裸辞主要是因为自己要选择换城市,以前找工作的时候没有认真分析,没有对公司做很好的评估,结果很不理想。这次裸辞我为了给自己更多时间,静心下来为个人整个职业生涯做好规划,同时裸辞直接来到杭州,也方便面试。

裸辞和在职跳槽各有利弊,那么我下面就简单分析下我眼中的裸辞。

2、裸辞的优势

  • 心情愉悦。每个人辞职的原因各不一样,总的来说都是干的不爽,如果在职找工作,平时遇见心烦的人,做心烦的事,动不动还要抱着极其不情愿的心态去加班,还要面试,这种情况下心态分分钟爆炸。假如裸辞的话,没有其他事影响,以一颗轻松愉快的心去面试,整个过程是轻松愉悦的;
  • 集中精力做好求职的工作。如果你裸辞了,你不用中午改着BUG,下午加着班,随时担心着领导和同事的连环Call,复习的时间只能靠挤。你可以系统的制定复习计划,专心的做好面试复习工作,精神好了就学,累了就休息,根据自己的习惯合理的把握复习节奏,专注而高效;
  • 不会错过任何机会。假如某天你正在开会,会议要求全场手机静音,然后完美的错过了一个面试邀请,等你回拨过去的时候,发现是集团的总号,你根本不知道转接给哪个分机,所能做的就只有祈祷对方会再次来电。又假如,你已经面试通过,对方特别着急,要求7天内必须入职,但是这边工期特别紧张,领导死活不放人,不签字,导致迟迟拿不到离职证明,错过了入职的机会。裸辞的话这些问题应该都不用担心;
  • 坦坦荡荡。如果在职找机会,领导指挥着你在改BUG,突然邮件一闪,XXX公司邀请你前来面试,这样的尴尬场景我想你肯定不想遇到,就像做贼一样的感觉。又假如领导并没有发现你离职的意图,但是你为了去面试,每天编出各种理由请假去面试,今天肚子疼,明天头疼,后天自己家小狗要生了,各种五花八门的理由和借口,编的自己都词穷了,还要忍受领导各种冷眼和不满。

3、裸辞的劣势

  • 金钱的压力。工作的目的就是为了赚钱,经济发展,物价飞涨,要想满足基本的生活都需要很多钱,如果需要更高质量的生活那么需要更多的钱。假如你选择了裸辞,运气好的情况下,可能只需要一两周的休息期后就可以继续工作赚钱,并没有太大影响。但是很多时候不尽人意,一个两月找不到工作,甚至半年找不到工作的人大有人在。在这么长周期没有收入的情况下,如果再有房贷、车贷、小孩、老人生病等情况下,长期没有收入是致命的。就拿我来说,细算下我没有工作的这一个多月里,差不多损失了台顶配的Mac Pro,想想就肉疼。不过换个角度想下,我现在公司所带给我业务和技术的提升又是巨大的,在沉淀多年之后,这点小小的损失是不值得一提的。有舍有得,需要自己去衡量;
  • 谈判陷入被动局势。如果其他公司中意你,觉得你特别适合自己,而你又在就职状态,他们会恨不得立马挖你过来,比目前公司高个几千块月薪,外加股票期权都没有任何问题。但是如果你处于离职期的话,他们就开始会深思熟虑,公司会有很多疑惑,他是不是真的优秀呢,优秀的话怎么还没找到工作?以前公司是不是给的太高了,我们是不是应该降点?你裸辞找工作,会不会特别着急入职,那么我压压你工资怎么样?套用目前比较流行的一句话,这像极了爱情。如果你单身,人家考察你考察的可全面了,什么车房外貌收入啥的。但是你如果有对象,那么考察的就比较少了,看的顺眼,不惜一切去抢,也没那么多参考和要求了;
  • 心态很容易奔溃。在没有裸辞前,我们对自己的评价可能挺高的,觉得自己能力又强,技术又好,又是什么部门负责人。但是当真正出来面试的时候,被拒绝是很经常的事,更甚者会被各种打击。原因方方面面,比如面试发挥不好,面试官对自己所做的领域不了解,个人年龄偏大,以前公司技术陈旧,没有了解目前新的技术发展方向,没有应聘岗位相关内容的工作经验等等。在目前求职环境不景气的情况下,很长时间可能接不到面试邀请,offer又迟迟没有的概率很大,最后好不容易有个offer,公司及薪资待遇和自己的预期又相差甚远,去入职的话很不甘心,工作起来也不开心,不入职话,这是距离裸辞已经好多天了,这时候人的心态会受到极大影响,更甚者会崩溃,会怀疑自己,会自暴自弃,开始丧失继续找工作的想法,这种打击也是致命的。

4、 裸辞的时候注意些什么

在已经决定要裸辞之前,要有一定的经济储备,同时要做好心理准备,给自己一个可接受的无收入期限,比如一个月或者两个月。努力把握好每次面试机会,如果要想继续面试尝试更好机会之前,一定要先把握个保底的offer,在得不到满意职位的时候,入职保底offer及时止损。当然了,裸辞最重要的还是心态,永远不要丧失对自己的信心。

2.4 求职环境

自从2018年底的大裁员开始,就业环境就变的十分严峻,应该不止杭州,各大城市应该都是如此,在金三银四的月份,找工作也变的异常困难,我相信很多人深有同感。

以2018年底为分界线,求职环境从供不应求变成供过于求,当然也不是绝对的分界线,只不过2018年底各一线大厂开始锁HC,各二线大厂频繁裁人,裁人也不是突然出现的,肯定是问题积累了很长时间之后的爆发。之前的时间里,互联网处于高速发展期,各种IP层出不断,大数据、云、共享、区块链、AI 的出现,每个热点后面都是成群疯狂的追随者,上市的靠这些 IP 提高自己知名度,没上市的靠这些 IP 努力吸引用户,然后拉投资上市,为了迎合这些热点,公司会开辟各种业务线,涉足不同的业务领域,在这样的背景下需要大量的人员参与到战斗中去,整个求职市场是很明显的供不应求,IT 培训市场热火朝天,每个公司为了招人,招聘要求也不是特别高,有时候看到有一定潜力的也会招进来进行培养;随着一个个泡沫的破灭,鸡毛一地,虽然概念很好,但是商业的目的就是赚钱,如果你模式赚不了钱,那讲再多都是没用,投资人也越发的理智,以前一个概念,一张嘴动不动几千万,现在给钱也不像以前大方,变得十分谨慎。在几年疯狂之后,为了公司财报数据,为了公司收益,为了迎合投资人,那些发展不好,看不到盈利模式,长期不赚钱的业务注定被砍掉。市场上的需求岗位不但减少了,而且释放了大量的有大厂背景,有高学历的求职者,在这样供过于求的市场里,岗位变少外,求职者变多,随之而来的是岗位的能力要求也越来越高。

当然,裁员也不是岗位变少的唯一原因。科技的进步,开源社区的分享,公司很多基础设施已经趋于完善,同时市场上存在大量开箱即用的服务,比如云服务器、短信、人脸识别、支付等等。在这样的环境下,业务实现方式更加简单快速,很多类似于OA、ERP、文档管理平台都有免费开源的,大多数公司不需要再投入人力物力重复开发,相应工作岗位的需求也就不断变少。有点像富士康,在采用机械替代人工操作之后,裁了很多组装工人,只保留一些高技能的维护工人。

目前的市场中,有能力再大量发展业务线招人的公司不多了,更多公司的策略是走个萝卜填个坑。供过于求的市场最直接的影响就是公司面试要求变高,机会变少,就连小的的创业公司都变的十分挑剔,对于大量没有大厂和名校背景的员工来,就像我这样的人来说,找工作变得十分困难。前段时间和朋友聊天中获悉,不光杭州,北京和上海目前的就业形势也不明朗,公司的招聘要求基本上都是统招本科起步了,而且技能要求也特别高。

当然有的人也会说了本科有什么了不起,我代码还不是比他们写的好。这种想法是不太恰当的,就像我们上面说的,我们不能用自己的上限去找最差的几个人的下限去比。工作中除了写代码外,还有各部门沟通之间的能力,遇到技术难点解决问题的能力,业务分析和设计能力。以上几点需要我们具备英语、情商、部门协作、文档编写、软件工程、计算机技术等各方面的综合能力。我们不能单单凭借代码写的好坏去评判一个人是不是比自己优秀,这样太肤浅了。在供过于求的环境下,企业和HR不是有耐心和时间,细细品完每天的上千上万份简历,学历、经验、跳槽率、过往背景都成了门槛,他们不可能为了部分几个人,而在一大群不符合要求的人中去浪费时间,这就是社会,不得不去接受,上学时候没有认真念书欠下的债这时候是需要来还了。

目前的现状下我的建议是:如果目前公司发展还算平稳,能正常发放工资,那么还是继续工作,不要轻易换工作。

3 西安 & 杭州

3.1 西安

当时去选择西安工作更多的是一个无奈之举,在西安的工作的两年时间内,感觉住的环境也不是特别好,再就是 IT 技术氛围不是特别好。下面我从各个方向简单表达下自己对西安的评价和印象(个人观点,觉得不对请忽视,轻喷):

  • 西安美食:美食很多,著名的有羊肉泡馍,凉皮,肉夹馍,油泼面……都是特别不错的,好吃,而且也很便宜,凉皮一般5,6块,肉夹馍也就7.8块,杭州一碗凉皮基本都15左右了。。同时,说到美食,不得不再提下著名的回民街,我想说的是,回民街的东西都是**,随便找个城中村或者一个小店都比那里面的食物正宗好几百倍,如果没去过的,不建议去那里吃;
  • 生活环境:西安位处关中盆地,四周高,中间低,南部是秦岭,空气不流通,同时南方的水汽吹不过来。这样的地形下造成最直接的影响就是气候比较干燥,而且特别热,很少下雨,去年最高有40度.41度吧,曾经钟楼附近地表温度有70多,有人直接在地上煎过鸡蛋;其次雾霾特别严重,冬天PM指数有时候比北京都高;
  • 就业环境:IT 以传统软件行业为主,最著名的应该华为西安研究所,接下来的大头就是华为的两大外包助手软通动力和中软国际。互联网公司特别少,能叫上名的互联网公司更是没几个。各大互联网公司的西北研发中心也没有选择西安,大部分在成都或者重庆,比如头条和蚂蚁。从侧面可以说明西安的 IT 环境并不好;
  • 工资水平:工资确实低,华为应该是最高的,不具备平均参考价值就不说了。以软件行业为例,互联网公司可能多一点,西安的普遍薪资水平大概如下:3年工作经验在7000-9000,4年在10000左右,每年大概涨幅1000多点;
  • 房租房价:我当时居住在高新区,是软件行业的集中地区,我居住的公寓距离华为研究所10分钟自行车路,周围的公寓1500,合租1000,城中村700.800的价位,买房的话,房价大概2W多了。从2015年底,西安房价跳跃式发展,短短3.4年,很多地方房价已经翻倍了,比其他城市涨的时机晚了点,估计还有几年高潮期;
  • 发展趋势:现在西安的规划是要兼并咸阳,打造西咸新区,着重发力区域,在这个区域打造高新技术产业,软通动力已经部分搬移到附近的沣东新城了。这里目前房价1W左右,短期内鸟不拉屎,配套设施短缺;
  • 人才多也少:人才多,是因为西安高校多,211.985的学校也多,每年大量优质毕业生输入到人才市场,导致各个岗位竞争力过大,有时候和你竞争外包公司的职位的都是一个211.985的,你说吓人不吓人。人才少,是因为大部分的优质毕业生,流向一线城市去发展,然后在西安买个房,用外地收入还贷款,等钱赚的差不多了回来西安养老,对技术的热情也没大热情。

3.2 目的地选择

趁着还算不是特别老,我想去一二线城市发展下,提高自己的技术视野,提升自己的技术实力,当然也不得不承认钱多也是其中一个原因。搞 IT 的挑来挑去也就”北上广深杭成”这几个地方了。毕竟已经快30了,这次选城市的时候也是抱着以后定居打算的,所以北上深直接就排除掉了,不得不说城市很不错,但是各种严苛的政策,望而却步的房价,加上自己已经不小的年龄都不再适合去这些城市发展了。接下来排除的是广州,不是因为广东人能吃,尤其爱吃胡建人这个梗。是我接受不了满大街的……算了,怕引起种族歧视的批斗。剩下的选择就是成都和杭州,不得不说两个城市都是特别好的城市,都是新一线城市,尤其成都,常年处于“最具幸福感的城市”榜首。两个城市的共同特点有:工资还不错,虽说不如北上广,但是80%多还是有的,比绝大部分城市的工资要高;环境都挺优美;房价虽说也高,但是还勉强可以接受,挣扎下也能买个偏远小户型。对比完两座新一线的城市,分析了两者的共同优势之后,综合考虑了下最后还是选择了杭州(其实内心还是想回大连,虽说大连公司少些,工资也不高,但那里承载了我太多的回忆),简单说下选择杭州的原因:

  • 居住环境:成都在内陆,杭州这边是个水乡,我个人比较喜欢江河湖水之类的,看到水之后感觉内心特别平静,特别舒服,杭州这个优势简单粗暴的俘获了我的芳心。不过听说成都小日子很舒坦,吃着火锅打着麻将甚是悠哉,未来一定去体验体验;
  • 梦想:阿里的总部在杭州,很多人来杭州最主要的原因就是阿里,这是个情结,我也是如此。

3.3 杭州

1、 居住环境

目前来杭州才3个月,对杭州的了解还不是特别的深,不过目前来说我个人对杭州的环境还是比较满意的,有山有水,绿化做的也很不错,我个人还是比较喜欢这样的居住环境的。不过经常下雨,经常一下一周多,不过我挺喜欢下雨的,一下雨整个世界都安静了。

2、 工作环境

以前面试的时候,逛了杭州挺多地方,有高楼大厦,也有民居小楼。总的来说有两个公司的工作环境我感觉特别棒,一个是互联网小镇,小桥流水,另一个是西溪首座,绿荫环绕。我目前在AI小镇,感觉也还可以挺不错的。还有一些可能更好的地方还没有逛到,欢迎大家补充。

3、996之都吗?

很多人都说杭州是996之都,也不完全正确,大部分公司平时多多少少都会加班的,只不过部分公司是周六不加班的,就像我们公司就是双休。

基本每个公司在面试的时候都会问到是否接受加班这个问题。加班在这里也是常态,995.996.大小周都有,也有部分从不加班的单位。不过就算再正规的公司,为了项目上线和赶进度也会加班的,加班费和调休大部分公司都没有的,再说了各行各业哪有不加班的。银行、医生、公务员他们也加班呢,只不过是谁加多谁加少的问题。我们从踏入 IT 这行起,就应该这样做好这方面的心理准备,毕竟不是服务员,到点走人就行了。程序员还是以结果为导向的,还是要对自己的产出负责的,在进度和工作强度合理的情况下,实现应有的产出并且保证质量。

4、房价

以前记得有个房产大佬说的一句话我觉得特别有理,具体是谁不记得了。他的原话差不多就是,有钱你就买,没钱需要借钱就别买;如果买来住你就买,如果投资就别买。

4 面试心得

4.1 面试前

1、 做好基础准备

大部分人工作的时候是CRUD Boy, 对于什么 JVM 、多线程 什么的都忘的一干二净,跳槽的时候,这些要全部重新捡起来。途径特别多,比如百度、博客园、Github等可以找到,系统的进行几遍复习,就可以完成初步的准备。面试题主要考察点的有 Java 核心基础、MySQL、Redis还有一些框架知识。

同时要准备业务和架构方面的知识。简单说就是知道目前公司的技术选型和业务流程。举个例子:假如你们公司是做的电商业务,用的技术框架是Apache Dubbo 、Redis、Mq,那你就要知道一些常见的业务流程,比如一个下单过程,如何下单,如何支付,如何回调;技术方面你要知道你们的技术干什么用的,比如 Redis里面存什么东西,比如多个系统 dubbo 是怎么调用的等等,这些知识都需要知道,这个说明了你在上家公司的参与度和对业务系统的理解能力。

2、找些公司练手

在面试自己心仪的公司之前,不要直接投递,假如第一次发挥不好被拒的话,那么简历就会被冻结一段时间,短期内不能再投递。为了避免这种尴尬的事情发生,我们要做的就是先找一些一般的公司练练手。这样相当于一次摸底考试,了解下常见的面试题目,锻炼下自己沟通和表达的能力,总结下自己的知识盲点。在有几次练习之后,你已经进入了面试状态,面试常见的问题已经对答如流,常见的知识点已经了然于胸,并且自信满满,这样就可以试着投递自己心仪的公司了。

3、 努力把握好入场券

如果把面试邀请当成邀请入场的入场券,那么我们就需要做好每个细节,不错过任何一次能得到入场券的机会。我当时找工作通过三个途径:各种招聘软件;技术交流群的朋友内推;猎头朋友的帮忙内推。

内推和猎头的话,可以将你的简历直接发送给HR。海投简历的话,可能像上面说的,直接因为简历太多被筛选掉,内推和猎头的话发送的简历,跳过了被筛选,增加了简历通过的概率。一般公司内推都是有奖金的,所以如果认识心仪公司的朋友,你让他们内推的话,他们也是十分愿意帮忙的。猎头的话,也分专业性的,专业性强的会给你推荐合适的,面试通过概率大的单位,你满意他拿佣金,皆大欢喜;但是也不乏一些不专业性的猎头,感觉像人口贩子,卖人头赚钱,随便一个岗位就海推给每一个人,一点不分析候选人的背景和意愿。

当然,也不是每个人都可以有渠道找到内推或者猎头,大部分的选择还是招聘软件投递,那么说点招聘软件投递的细节:

  • 定制招呼语:在目前供大于求的市场,一个hr每天轻轻松收到好几百个招呼或者简历,如果你没有一些自己的亮点,很有可能就被忽略掉。现在软件会默认几个招呼语,像“您好,贵公司还在招人吗?”,“您好,我对这份工作十分满意,是否可以聊聊?”之类的,大家千篇一律都这样,那么你根本毫无优势,被忽略的概率高达90%以上。你可以打造下自己的招呼语,更清晰的表达自己的经历和能力,比如改成这样:”您好,我有4年Java工作经验,统招本科,有电商、金融等项目经验,熟悉分布式和SpringCloud方面技术,可以聊聊吗?“。这样修改完的招呼里面涵盖了HR关心的所有学历:几年经验,什么学历,做过什么业务,会的技术名词和技术方需求的技术名词符合不符合。如果HR看到了,很大概率会对你产生兴趣,想进一步了解,那么下一步就是查看微简历。
  • 微简历:微简历是求职软件中提供的你的简历,统一的风格和规范,主要填写你的过往经历和项目经验,这里面希望你认真填写,着重描述下你曾经工作项目的内容和自己所负责的模块,因为简历第一眼是HR看,HR不会太懂技术,更多的是从业务上看你曾经做过的和目前是否类似,会的几个技术名词和技术部要求是不是匹配等。
  • 简历:当HR初步审核过你的微简历之后,一般就会要一份你的个人简历进一步了解。简历在网上找个简历模板填写就行了,填写时候要注意以下几点:简历需要精炼,最多不超过两页;简历一定一定一定要用pdf格式,别用word格式,更别用wps格式;千万别简历造假,以阿里为例,如果发现简历造假,永不录用,其他公司也一般明文规定,简历中资料必须真实可靠,如果发现造假,可以无条件开除。

4.2 面试中

当你通过简历筛选之后,那么下一步就是面试了,把握住每次面试的细节,可以让自己距离成功更进一步。

1、做好准备工作

获得面试邀请的时候,HR会发送相应的信息,里面有标注公司的地理位置,通过地图就可以查询出来详细的路线,为了避免路线不熟悉导致的延误,建议在路线用时上增加10-20分钟。如果到的时间过早,可以找个地方坐坐,整理下情绪,熟悉下面试题和自己的个人介绍内容,一般提前10-15分钟到公司就好,绝大数公司进入公司之后首先会填写一个应聘记录表,很多人比较反感这个,觉得简历里面已经有了,为什么还要写呢,纯属浪费时间。但是从公司的角度来看,每个人的简历格式各异,千奇百怪,不利于统一管理和归纳,如果你个人不想过多填写,一些敏感的比如紧急联系人什么的就别填写了。还有,每个应聘记录表肯定有一行小字,大致的意思就是本人承诺以上信息填写真实有效,如果有任何不实的地方,公司可以无偿辞退,算是一个保证书吧。所以有打算简历造假的一定要慎重。

如果一个公司从招聘软件上发送邀请,绝大部分情况下是不用携带简历的,但是也是有部分公司不会准备简历,所以面试的时候带份简历以防万一是个不错的选择。虽说自己都不准备的简历的公司可能不太靠谱,但是目前就业形势这么严峻的情况下,还是希望大家不要错过任何一次机会。

说到提前10-15分钟提前到公司准备,我想到个令我恶心的公司,在余杭搞教育的,叫XHJY,自己的公司2点上班,让候选人2点来面试,结果我和很多人一直从1点50在大门口站着等,2点他们公司打铃上班,差不多2点05才看到公司前台的人。自己公司的作息这样,面试安排个2点15,2点30不可以吗?对候选人太不尊重了!

2、准备好开场白

如果参加的面试足够多,那么你绝对会因为开场白讲的头皮发麻,去多少家公司,你就要自我介绍多少次,如果有多轮面试,那么这个次数还要增加,等到后期,你只要听见”自我介绍“就十分烦躁,这是一个特别正常的反应,但是这种情况你不得不去接受。

大厂一般有完善的招聘和面试流程,面试官会提前阅读求职者的信息,了解求职者的过往和经历,然后制定相应的提问和考察路线,比如我面蚂蚁的时候,每轮面试都是不需要自我介绍的。

小厂的话,面试流程并不规范,等你前来面试的时候,面试官很可能是从一群既没开会,又没出差的员工里面现挑的,这样也就不存在提前了解你了,估计简历都没有阅读过,这种情况下肯定需要你先做个自我介绍,结合你的讲和自己粗略的现场阅读下了解下你。除了了解你的基本情况之外,同时会考察下你的语言表达能力、逻辑思维能力等综合素质。所以这个环节不仅要重视,而且还要做好。再举个例子说明下这个情况:

假如你去一个景点旅游,想找厕所,然后你问景区工作人员厕所怎么走,那个人如果很不耐烦的告诉你,你会怎么样?肯定内心很生气,你在想自己客客气气的问,他为什么这么不友好。但是你可能不知道,每天都有上千个人问相同的问题,每天好几千人问他厕所在哪,他每天回答几千遍,假如换成你,我估计你也炸了。同样的道理,每到一个新的公司,一轮新的面试,或许你的自我介绍已经是第几十遍,第几百遍,但是对于面试官来说,这是他听到的第一遍,换位思考下就没那么多情绪了。认真对待每个人,对待每一个环节,这样才不会错失机会。

下面是自己写的一个开场白模板,仅供参考,对效果不做任何承诺:

我叫XXX,今年XX岁,从事XX语言开发X年工作经验,本次前来求职的岗位是高级开发(中级/架构/……)。我过往的工作经历基本如下:第一家,XXX领域,主要做的业务和模块有XXX,自己主要负责的有XXX,所使用的技术有XXX;第二家,XXXX
……我个人有以下优势:第一、热爱技术经常写博客和代码分享;第二、热爱健身,抗压能力强;第三、***

总结一下,就是要简单的说明下:我是谁、我来干嘛、我曾经干过啥、我为什么觉得自己能胜任。

3、努力做好自己

经常有人抱怨面试官心不在焉,自己答的慷慨陈词,面试官不是玩手机,就是敲电脑,以为面试官对自己不负责任。其实,很多面试流程比较完善的公司,面试一般有3,4轮,流程规定每一面都需要对求职者进行面试记录。方便下一个面试官了解到上一次面试的知识点和回答的表现,下一轮的面试就可以有选择的跳过曾经已经回答过的问题。一场面试基本都在半个小时甚至一个小时多,面试官如果1个小时之后再去记录你的面试经过,他可能记不全,也可能没有时间去记,因为他除了面试还有自己的其他任务需要完成。如果你一遍回答问题,他一遍在记录。说明从公司角度来看,这还是一家流程比较完善的公司。你所要做的就是回答好每一个问题,做好自己。

4、有条不紊,切勿急功近利

在面试的时候,面试官有时候会抛出一个简单的问题,然后想利用这个简单的问题进行不断的深入,不断的探索你知识储备的深度和潜能,你所要做的就是认真审题,跟好面试官的节奏就可以的,不要因为这块自己熟悉就一下全部讲了出来,有可能会博得面试官欣赏,更有可能会打乱面试官节奏,引发面试官的反感,风险和收益并存。

举个实际例子,上次我当面试官的时候,问到求职者一个问题:Java的集合框架的继承关系是怎么样的。我当时的想法是,先了解他对这个继承关系是否了解,如果了解下一步探讨线程不安全的List和Map的知识,如果了解再深可以继续讨论线程安全的List和Map,如果答的不错可以继续讨论底层的CAS和ABA方面的问题。如果某个环节答的不好,我们就不再深入,换下一个话题。

当时的求职者,说完继承关系之后,简单描述了下Map,然后开始讲ArrayList和LinkedList的区别,又讲ArrayList的扩容,增删改查的代码实现,然后再Linux中的如何操作内存,总之就是知道的全讲出来了,答出来的几个关键点是对的,但是整体答题思路太乱了。我首先的印象没有认真审题,我主要的考察点是几个类的继承关系,我当时用来评判他回答是否正确的思维也集中在这块,他突然的引出的知识点,我需要重新从大脑提取相关的知识点,有点仓促。不可否认他是有一定的知识储备和见解的,其次他还是喜欢研究技术的,最起码也是做过充分准备的,这块值得赞赏和承认。但是,这个回答带来的好感并不是特别多,主要是因为他的逻辑太过混乱,没有一个很清晰的思路,在ArrayList的知识点上沉陷太深,都涉及到linux底层了,却对LinkedList和Map一句话带过。

和高中我们老师教我的道理一样,面试的时候,我们一定要认真审题,不要着急回答,当感觉问题有歧义或者面试官表述不清楚的时候,我们要及时确认,理清楚面试官考察的知识边界,整理好思路和逻辑再回答。只要回答到点子上,答案的多少已经无所谓了,比一股脑的把知道的全说出来要强多了。当你回答比较简单的时候,一个合格的面试官会不断的继续深入提问,以相同的方式回答好每一个环节就好了。这样的问答方式之下,面试官可以正常的顺应自己的节奏不断进行,从这方面来说,加分不少,如果你逻辑清晰,问题都回答到了关键点上,答案少点也没事,也会有很不错的加分,如果一定要多说,请一定要组织好语言,理清楚思路,不要一股脑的想到啥说啥全倒出来。

5、把握最后的机会

一般面试完成之后,面试官会问求职者会不会有什么问题,这一般都是正常流程。你可以提问一些和技术相关的问题,可以进一步的加深自己在面试官的影响。比如可以问下公司研发部的构成,公司所使用的技术,自己进入公司之后所担任的职位和负责的业务。不要去问一些和求职岗位无关的一些问题,比较掉分,让面试官觉得你好像不是正经来找工作的,比如公司妹子多吗?食堂饭好吃吗?能穿拖鞋上班吗?……

4.3 面试后

1、失败不要气馁,有时候问题并不在于你

面试时候我们会遇到各色各样的面试官,而直接决定我们命运的往往就是他们,有时候并不是你不行,而是你没遇到对的人,有时候也不是你特别强,只是你运气好,下面讲几个我面试时候的实际案例,有面试体验很好的,也有面试体验极差的:

  • 面试YZ(挂)。面试官问了我几个问题都没回答上来所以挂了,比如讲下二叉堆、优先队列、讲下Redis数据常用数据结构的底层实现。这些问题都是属于比较偏门的问题,也都是属于我的知识盲点,以前面试的时候从来没问到过。
  • 面试蚂蚁。面试官问的问题都是一些常见的中规中矩的问题,我基本95%以上都曾经认真研究过,所以答的都还是很不错,这属于缘分,正好是个人比较擅长的知识,面试体验不错。
  • 面试JX,创业公司,签约相关。因为我们上家公司使用的是 Spring Cloud,然后我们面试的大部分内容都是围绕着微服务和 Spring Cloud 讨论,其中明显的感觉到了他的几个技术观点并不正确,比如说分布式发号器会因为带宽产生性能瓶颈,后来在提问环节,我问了下公司现在使用的技术,说是 Spring Boot,后来我明白了,他对 Spring Cloud 的了解也大部分处于学习阶段。
  • 面试HM,创业公司,签约相关。面试官不知道怎么评价,为了保持我的形象我就不说脏话了。面试过程中,全程让我自己表达,毫不指点。我个人比较谦虚,虽然 JVM 内存结构什么的也了解,查错调优也读过几篇文章,在对比那些技术大佬之后,我觉的自己还有很多要学习的地方,简历这块都写的是有一定了解。这个面试官问我自己觉得自己哪块掌握的好,我说自己 Java,JVM,集合框架各个方面都还行,都可以探讨下。他直接说,那这样的话我就感觉就不用问了,潜台词好像在表达我也就停留在刚刚会用的地步,难道我一定要学那群刚培训出来的那样,样样技术都说自己是精通?
  • AHXX,一个老牌安防公司。面试时候,面试官问我Dubbo(嘟保)是什么样的实现原理。如果经常看小马哥的推广,或者官网,或者网上视频的时候,就知道官网的发音是Dubbo(搭保)这种发音,没面试完我就知道这家我不会去了,因为我觉的他是一个并不关注技术发展的人。后面他有问了我一个极度反感的问题:你统计过你这几年写了多少代码量了吗。说实话,没统计过,也从来没打算统计,我每天学习进步是为了提高代码质量提高开发效率。代码量在我看来毫无参考价值,如果代码量有参考意义,你让 Lombok、lamada、各大框架情何以堪。
  • DH,一个老牌安防公司。这个直接无语了,面试邀请就去了,几十号人去一个大厅开始领表填写,然后几十号人去一个屋子一起做面试题,不区分你几年经验,只要方向一样,答的都是同样的题,在这里感觉每个人没有年限,就是一个廉价劳动力,像极了皮包公司。
  • 现在入职的公司。因为简历中有写自己的博客和Github,就是想展现自己优点,比如热爱技术交流分享,热爱学习等等。当时面试的是CTO平威,他提到了我的博客,并对其中一篇文章表示了肯定。后来问我为什么博客数量并不多,我回答到我喜欢写一些自己深思熟虑之后的经验总结,教程什么的满大街都是,没必要写了。他对此也比较认同,说有他也比较认可有个人想法的人,不太喜欢那种千篇一律人云亦云的。整个面试过程还是十分友好,提问的技术问题很有水平,很深,都是以前没有注意到的一些小细节,能感受到他的实力水平很强,其次他关注到我想展现的方面,而且给出了肯定,整个面试过程感觉特别的好。

在知识储备和能力储备都到位的情况下,面试中的运气成本还是很大的,能遇到个自己知识点匹配并且赏识的面试官很重要,偶尔一两次的失利并不重要,可能只是运气不好,下次试试说不定就成功了。

2、善于总结,不要灰心

每次面试完,不管你自我感觉如何,都应该总结一下。记得有一次面试,我感觉自己回答的特别好,但是很长时间还是没消息,后来我把自己曾经回答过的问题挨个搜索了一遍,发现好多的回答是错误的,当时只是自己的感觉良好罢了。从那以后,每次面试结束之后,不管自己认为对还是错,都会重新整理一遍,不断纠正,不断理解,不断加深印象,随着面试次数的增多。对知识点的掌握程度也越来越深,了解的知识点也越来越多,准备的也就越来越充分了。保持信心继续努力,一份好的 offer 不久就会收入囊中,加油!!!

5 蚂蚁金服(网商银行)面试分享

当时是在招聘软件上受到邀请投递的,投递的岗位是网商银行 Java 专家的岗位,貌似是P7。开始没有抱太大希望,没想到很幸运的接到了面试电话,然后又很幸运的一路走到最终面,整个流程大概3周就有了结果,效率也是相对比较高的,每一轮基本都在2天之内,HR面可能赶上了年底评绩效所以耽误了点时间,总的来说还行。大厂的流程还是十分正规和完善的,每一轮面试考察的范围都不同,综合起来全面考察了各个方面,面试官还是很友善的,面试过程善于聆听,不时还给一些指引。帮忙挖掘了自己的潜能,也指点了不足,虽然结果是被拒绝的,但是整个面试过程收获满满。每个人可能面试的过程和体验并不一样,我只简单分享下我自己的面试过程,具体还要根据个人而定。

5.1 一面 ( Java 核心基础 )

一面是晚上22点左右接到的电话面试,电话面试为期了一个小时左右。主要围绕着Java核心基础知识考察,简单总结下:

  • JVM:内存模型,每个区域存放的内容,对应的内存溢出。垃圾回收算法和垃圾回收器,JVM问题排查时候用到的几个工具;
  • 多线程:集合安全的框架 ConcurrentHashMap,CopyOnWriteList,CAS -> ABA -> 使用到ABA的 Atomic*,线程同步的几种方式,线程池构造方法的几个参数是什么,ThreadLocal;
  • 集合:HashMap的几个基本问题,大小,负载因子,扩容时机,扩容比率,转换成红黑树的时机。ArrayList和LinkedList;
  • Redis:基本数据结构和备份方式;
  • Mysql:索引数据结构,触发索引的条件,explain执行计划。

整个考察的题目也是比较中规中矩的常见面试题,有些问题可能由于时间过久记得不太清楚了,总之这样就算一面结束了,第二天上午收到了阿里的内推成功邮件,等待下一步安排。

5.2 二面 ( 项目 )

二面是第三天下午打过来,当时在外面,我说自己不太方便,约的半个小时之后打过来,当时准时打过来了。他先介绍了我应聘的职位和工作内容,讲解了下部门的构成和工作挑战。然后让我做了一个自我介绍,就开始面试了,简单总结如下:

  • 讲下你最熟悉的项目;
  • 讲解下这个项目中的工作难点以及怎么解决的;
  • 分布式事务(很多公司都问,一般主要问的都是 TCC);
  • 讲解下分布式的几个组件的实现原理,这样主要讲了 Eureka 和 Hystrix ;
  • 讲下几个内存溢出的情况,以及如何排查。

二面的面试时间大概40分钟左右,主要考察的是项目相关的一些内容,以及分布式的知识,主要考察你曾经工作的时候对整个项目的理解和参与程度。

5.3 三面 ( 算法 )

接到了阿里的三面电话,说发送了一个邮件到我的邮箱,打开之后是一个链接,阿里的伯乐系统,点击进入之后左边是一个共享屏幕,右上方是个视频,右下方是个打字区域。面试官给的时间是30分钟,说30分钟再打电话过来,比较友好的是可以通过IDE将答案写好之后复制过来也行,不一定非得直接在共享屏幕写,主要的两个题是这样:

  • 单向链表翻转
  • AAABBXXXXEEEFFF,这样的字符串,最后打印出”A3B2X4E3F3“这样的结果

这一面主要是算法考察,不经常刷LeetCode,也不知道这样的问题算怎么个级别,个人感觉是两道比较传统的算法题,题目30分钟,解题完成之后,面试官给你电话,通过电话你给面试官阐述下你的解题思路。

5.4 四面 ( 架构与设计 )

第四面就是现场面了,收到了阿里巴巴的面试邮件,还有蚂蚁金服的访客密码。我当时面试的网商银行的职位,在德力西大厦。接待楼层的面试会议满了,之后去研发区域的会议室,这也是运气特别好的地方,研发区域的会议室有个大黑板,可以尽情的发挥。大概的面试经历如下:

  • 给定已有的数据结构 Stack ,特点是后入先出,实现一种数据结构 Queue ,特点是 先入先出。并实现 init,插入,取出,长度等方法。就是一个比较简单的手撕代码,在黑板上写。
  • 尽可能完善的搭建一个秒杀系统。这块有前端、后端、运维、架构各方面的知识点。比如秒杀开始前页面静态化,CDN分发,缓存,redis集群,网关等一些。
  • 如果让你完善你以前的系统你会怎样做。当时就是先将以前的架构图画出来,然后把多余的砍掉,觉得弥补的增加上,并阐述自己的观点和理由。我当时是建议增加 SkyWalking 作为日志的链路跟踪,当时顺着这个点,继续考察了如果自己设计一个链路追踪平台,比如如何设计消息体,确保同一请求的不同服务的消息是一起,比如增加 TraceId, SpanId,通过TraceId确认是同一个业务,通过SpanId区分服务,然后又讨论了如何保证日志的前后顺序,然后又继续讨论了分布式环境下,如果将TraceId,SpanId传递,我当时答的是如果是Http协议,就将参数通过Head传递,对方应用收到后,保存到ThreadLocal中,又问到,如果当前线程新起的线程,那么ThreadLocal中的值是否还能取得到,这块没有答上来,后来回来查到 MDC 和InheritableThreadLocal。

这次面试应该是难度系数最高的一场面试,有基础代码功底考察,有整体系统架构能力考察,也有个人潜力的考察,考察候选者是不是一个有想法和见解的人。

5.5 终面 ( 部门BOSS + HR )


终面本来应该是BOSS和HR一起的,结果HR有事没来,就和BOSS简单的聊了聊,主要讨论了下自己为什么要转行,为什么要来杭州,个人学习成长的方式等等一些问题,个人职业规划等等,技术问题问的比较少,然后就离开了。在焦急的等了2个星期之后,收到了HR的电话,问的问题也和BOSS问的问题差不多,感觉多少有点紧张,面答的不太好,简单聊了20分钟就结束了。

5.6 面试总结

HR面完的第二天收到了拒信,有点可惜。不过感觉也很赚了,了解了自身的不足,发掘了自己的潜能,再就是自己能走到这一步,很大程度上提升了自己的自信心。自己也简单思考了下可能被拒的原因,大概这么几个可能吧:

  • 能力略有欠缺;
  • 跳槽频率可能过高,担心个人稳定性问题;
  • 没有金融领域相关工作经验;;
  • 这个岗位,有更优秀的候选人可以选择。

总的来说就是再接再厉吧。目前的公司还不错,安心好好沉淀3.5年,未来如果有可能,我们再见面。

5.7 面试题参考资料

简单分享一些参考资料,主要来源于博客园,个人觉得还是质量比较高的文章。我没有将每个问题的答案都列举出来,是因为我相信当你能力足够强的时候,你可以自己总结问题,寻找答案,参考资料简单看看就行。当你什么都不想做,也不会找答案的时候,给你再多参考资料也没用,顶多是变成一个收藏家。

秒杀系统架构分析与实战 : https://www.cnblogs.com/andy-zhou/p/5364136.html
JVM简介: https://www.cnblogs.com/cherryljr/p/7623606.html
mysql基本知识点梳理和查询优化: https://www.cnblogs.com/chenfangzhi/p/9979676.html
MySQL性能优化,索引和查询优化: http://database.51cto.com/art/201806/575594.htm
java问题排查: https://mp.weixin.qq.com/s/UXZHoAB8j6OwV2NHepYeNw
redis中文网: http://doc.redisfans.com/
spring事务传播机制: https://www.cnblogs.com/icenter/p/5279728.html
jdk并发包总结: https://www.cnblogs.com/xdecode/p/9102741.html

6 总结

有的人进入这一行完全是因为大学专业是这个,顺其自然只好干这个,大学选这个又完全高中填报时候填的这个,可能是家长建议,也可能是专业调剂,他们并不喜欢这个行业,也没想好干多长时间,很多人在想着钱赚够了就去做其他事情了。还有的人是因为热爱软件开发这项工作,享受软件开发这个过程,喜欢这种从0到1的创造,我想我就是后面这种人吧。如果你和我是同样一类,那么我有几点建议分享下:

  • 制定清晰的职业规划。一定要想好自己未来的路线,管理岗,还是技术岗。有的人适合管理,有的人就适合技术,有空闲时间了可以多思考思考,然后向这个方向努力。如果你想走管理岗,那么你需要储备项目管理方面的知识,与人沟通交流能力;如果你需要走技术岗,那么你就需要不断巩固自己的基础知识,了解目前业的技术发展方向,了解行业内的常用解决方案,不断提升自己的技术实力和技术影响力;
  • 业务能力很重要。有的人太注重技术而忽略业务,我们要清楚的是技术为业务发展而服务,只有更好的理解业务,才能做出正确的技术方案,不会出现技术无法实现业务,业务被迫修改的这种尴尬的场景。技术储备虽然重要,业务经验积累更重要,如果有可能的话,持续在一个业务领域一直深耕细作,慢慢的就会成为这个领域的专家。技术人员有时候挺单纯,有时候多个几千块钱,或者下家公司比这家公司用的技术更先进点,就毅然跳槽了,前些年追大数据,后来追区块链,现在又追AI。多年之后杂七杂八的业务方向在求职的时候丧失了竞争力,相对比在某个领域持续工作多年的人非常吃亏;
  • 要有造轮子的能力,也要有选轮子的能力。这个观点说白了就是技术上面既然有深度,也要有广度。从广度上讲,需要了解目前市场上已有的一些解决方案和框架工具。在众多已经被其他同行已经践行和检验的工具和框架中挑选到适合自己的,参考已有的解决方案,制定自己的研发计划和方向,这样可以避免少走很多弯路,提高生产效率,节约时间和人力成本。从深度上讲,在可选的方案和技术无法满足已有的业务场景下,我们需要有能力自己进行定制和修改。既不能全靠轮子,也不可不用轮子。
  • 终身学习,持续进步。曾经有个朋友给我讲过这么一个故事,他的一个同事,公司给的福利很好,每个月比其他公司多几千块钱,所以这个朋友一直待了接近10年,10年之后他的同事不满足于现状,终于想跳槽了,发现根本招不到工作。原来这个同事他们公司一直使用数据库的存储过程实现业务,对于其他技术很少了解,比如Spring、Mybatis这种最常见的技术都不了解,这样的结果可想而知,这样的工作年限和市场脱节的技术栈,根本不可能被市场所接受。前段时间的外企裁员中,我们也可以得到类似启示。总的来说我们要居安思危,时刻了解行业内的技术走向,不断丰富自己的技术视野,提升自己的能力。只有你跟着时代走,时代才不会弃你而去。比如前几年我们会关注 SOA、SAAS、PAAS、大数据,目前需要关注的微服务、分布式、DevOps、Service Mesh 等等,未来可能还有更多新技术出现,只要愿意持续学习,时刻保持战斗力,就不会被行业所淘汰。
  • 综合素质也很重要。当我们工作到一定的年限后,我们就不再是一个无忧无虑的小码农,每天写完自己的BUG就完事了。我们可能变成一个 Leader,用我们当年积累的经验和思想指导别人,我们完成了一个从手到头的转型。这时候需要我们有除了写代码之外的其他能力:和各个部门及职位良好沟通的情商和表达能力;可以将自己的所思所想呈现出来的文档和画图能力;将文档和架构图给下级讲解清楚的演讲能力;任务拆解、监督执行、跟踪汇报的管理能力等等。

别问我为什么对事物有这么多的见解和想法,全是和群友一起吹牛逼吹出来的,欢迎加入Q群 757696438和我面对面交流,更欢迎给我介绍对象,享受一对一的技术指导的。本群以吹牛逼为主,技术探讨和资料分享为辅,群友积极向上,讲义气,我裸辞到杭州,就是在群友家借助一月有余。

版权声明:本文为shiyajian原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/shiyajian/p/11070649.html