总结
这个月马上就又要过去了,还在找工作的小伙伴要做好准备了,小编整理了大厂java程序员面试涉及到的绝大部分面试题及答案,希望能帮助到大家
Bruce的这篇文章主要立足于组织的角度,他谈到了为什么很多组织最后只留下一群平庸的高级开发人员、主管和经理,但就有才能的人纷纷离开的原因,除了一句“太多愚蠢的行为”的评语之外,并没有讨论太多。Daily WTF的Alex Papadimoulis详细阐述了有才能的人员离职的动机:
几乎在每项工作中,都有一个员工能为公司所带来的总体价值(产出与成本的比率)的峰值,我称之为“价值顶点”。
最开始时员工的价值为零。随着该员工开始熟悉新环境,并运用他的技能和过去的经验,他的价值迅速增长。当该员工熟练地掌握业务领域,并与同事和管理层分享他的想法时,这种增长将呈指数级增长。
然而,一旦员工分享了他所有的外部知识,学习了所有与业务有关的知识,并应用了他过去的所有经验,这种增长就会停止。这时,这名员工在这个特定的工作中已经发挥到了极致,因此他达到了价值顶点。
如果该员工继续从事同一份工作,他的价值将开始下降。曾经我们说“这些是我们暂时还无法实现的新创意”,而如今却变成了“这些老掉牙的无聊建议,我们永远也无法实现。”如果类似问题的解决方案之前采用过,我们会说:“我们以前做过这样的项目。”或者说“五年前,我们就做过这样的项目。”这会导致员工失去自我实现的意识,最终会消磨员工积极向上的动力。
有经验的开发人员都深有体会。在到达价值顶点时,他们往往会有种“也许我该继续前进了”的感觉,用不了多久他们就会对工作产生怨恨和不耐烦的情绪。任何团队都无法缓解这种损失。
另一方面,没有经验的人往往会有不同的发展曲线:价值收敛。最终他们会陷入平庸的境地,并永远在原地徘徊。他们的价值不会降低的唯一原因在于他们积累和建立了大量组织特有的知识。
与人才至上相悖导致的开发人员离职相比,这更加微妙和有趣。Alex的解释表明,对于顶级的程序员来说,只有当工作能够为他们带来价值,同时他们也能为工作提供附加价值时,他们才会感到高兴。优秀和聪明的人才不仅想要成长,还要感受到他们越来越有用,越来越有价值,我相信只有这样他们才会对自己的工作感到自豪。
几年后,Michael Lopp撰写了一篇题为“无聊的人会离职”的文章,他认为无聊是开发人员离职的前兆:
在反思为何我管理的那些人会遗憾地离职时,我才意识到究竟是什么时候他们改变了心意。可能是某个能察觉到的细微变化,也可能是抱怨无聊,不论如何,他们脸上都有一个明显的迹象,表明他们对眼前的工作不再感兴趣。我忽略了我观察到的情况。我以为这些都微不足道。我以为只是因为那天他经历了不愉快的事情,过一阵子就好了。实际上,无聊是一颗种子;“我很无聊”会生根,逐渐变成“我很无聊,为什么没人管呢?”;然后,这颗种子会发芽“我很无聊,我告诉了我的老板,但他无动于衷。”;直到最后,这颗种子开花结果:“我很无聊,而他们却不在乎,我不想在这样的地方工作。”
我觉得无聊是一个时钟。当团队中的某个人感到无聊的那一秒开始,这个时钟就开始一秒一秒地向前转动。在走过一定的秒数后(每个人的秒数因人而异),他们会看看时间,然后举起手臂,说他们决定辞职。
Alex的这个有关动机的主题更注重“为员工提供的价值”,而非“员工提供的价值”,但当然可以说该主题概括了两者。无聊意味着开发人员几乎没有完成任何任务,他或她提供的价值很低。除了“价值顶点”的考虑因素之外,无聊的开发人员还有普遍的问题——他们无法参与或享受每天的工作。
02 共通的原因
在这里,我不打算讨论一些明显的离职原因,比如恶劣的工作环境、低于市场的工资、削减福利/薪水等等,以及那些没有脑子的人故意逼迫有才华的开发人员离职。到目前为止,我们已经看到一些文章提出了很有说服力的观点,概括起来离职的动机大致有三种:
不肯重用人才,导致员工失望(“组织的愚蠢行为”);
员工和组织之间因工作带来的相互价值回报的减少;
仅仅是因为无聊。
我想在这个列表上添加一些上述文章中隐含的内容,以及我个人的经历或从同事那里听到的内容:
认识到当前的项目注定徒劳无功将走向失败,而组织却无力阻止;
缺乏导师或可以大量学习的人;
组织中论资排辈,而不是按照贡献的价值晋升;
没有明显的晋升渠道;
害怕陷入没有市场价值的技术;
组织官僚主义的繁文缛节导致任何人都无法产生积极的影响;
缺乏创造性自由和创造性控制(又名“微观管理”);
与大多数同事的三观不符。
这个列表中的有些项是Bruce、Alex和Michael提出的要点的具体实例,所以不一定会有助于本文的主题,但是你可能会赞同这些观点,并给出一些自己的意见(如果你想提一些自己的意见,那么请在下方留言。)但有意思的地方在于,几乎上述所有列举项,包括链接文章中都没有提到大家对自主性、精通技能或实现目标的渴望。有关这方面的背景,请查看来自RSA Animate的这个视频(https://www.youtube.com/watch?v=u6XAPnuFjJc)。这个视频很精彩,主要说明了人类在经济上没有自我实现的动力(人们普遍这样认为),但会受到这三个激励因素的驱动:渴望控制自己的工作、渴望精通某项技能、渴望在工作中为实现某个目标而努力(除了每周工作40个小时坐等发薪水外)。
人们对组织的愚蠢行为感到失望的原因,通常是因为员工缺乏自主权,或感觉没有明显的目标。如果达到Alex的价值顶点,那么员工精通技能和实现目标的动机就会减弱,而对工作的厌倦必然是缺乏满足RSA的三个需求而导致的。但是,我不打算在这里通过这三个激励因素来总结员工辞职的症结,我想将所有因素融为一体。如果你想留住优秀的开发人员,那么就必须确保为他们提供一定的潜在承诺。
03 潜在承诺
糟糕的开发人员或平庸的开发人员通常会被辞退或开除。他们往往没有动力去精通技能,没有目标感,对自主权也没有兴趣,因为他们并不觉得他们能真正拥有自主权,而且在与组织商讨薪资方面也处于弱势。也就是说,他们放弃了自我实现,以换取公司支付的薪水,而且他们需要这笔钱支付房贷、养车和维持生计。
我的一位朋友称之为“金手铐”。他们自己的目标通常是固定的:“我在这家公司工作,因为如果我不努力工作,我的房子就会被人收走。”这些人不一定很糟糕,也不一定是没有生产力的员工,但他们不太可能是最优秀和最聪明的人,但可以肯定,他们在工作中只会付出最少的努力,只要能够保障他们的工作和薪水就行。
留住这些人非常容易,因为这是他们的常态。走出去寻找另一份工作可不是为维持生计付出最小努力的途径,所以他们不会这样做。他们就是Bruce所说的“庸才”,他们会坚持留下来,积攒资历等着升职加薪,如果不加以控制,最终他们会破坏团队中拥有RSA需求的新成员,因此你需要做的是:要么转变他们,要么干脆让他们走人。你给他们的潜在承诺应该是:“坚持下去,每过5年我们都会给你一次升职加薪。”他们会把这种升职加薪当成香饽饽。
但是,如果面对雄心勃勃、充满热情、才华横溢的开发人员,你也给他们画相同的饼,那么他们肯定会转身离开。他们会变得无聊,而无聊就会离职。他们拒绝容忍组织的愚蠢行为,他们会消失。他们会寻找“向上或向外”的机会,一旦意识“向外”更快更有吸引力,他们就会另谋他就:“拜拜了,你们这群傻瓜!”
如果想让他们留下来,那么你就需要为这些才华横溢的开发人员画更诱人的饼。你需要经常把他们叫到一边反复画饼。还要确保这些饼是确定的,确保他们的行动会朝着饼的一个目标前进。下列是一些可以让优秀的开发人员留下来的潜在承诺:
“如果你能准时或提前实现功能X,我们就让你升职。”
“通过接下来几个月的工作,你将成为我们公司最重要的NoSQL专家。”
“我们知道你非常羡慕Bob的Ruby工作,所以我们想把你和他放到一个项目中,让Bob作你的导师,这样你就可以向他学习并达到他的水平。”
“我们正在构建一个对我们的业务至关重要的会计软件包,我们决定由你来全权负责这个软件包的安全性和日志记录部分。”
总结
面试前的“练手”还是很重要的,所以开始面试之前一定要准备好啊,不然也是耽搁面试官和自己的时间。
我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
面试题及解析总结
大厂面试场景
知识点总结
](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**