被P8大佬面试了2个小时,面试过程全录了。确实如此。面试过程跨越了三个部门,包括业务部门和技术部门。在省略三轮面试的前提下,实际面试有七轮。整个过程心理压力还是比较大的。毕竟,每增加一轮面试都会增加失败的可能性。特别是调到三个部门,是因为公司原因。..面试的范围很广。由于涉及多个部门,多个面试官,所以面试的内容涉及方方面面。技术、管理、业务、个人规划等都有涉及。该技术还涉及基础、中间件、架构和应用。非常感谢我以前的二级主管在我面试的过程中给予的帮助。他多次帮我梳理业务,梳理思维逻辑。原计划是写一篇文章,内容只是面试题的记录和少量的思考。但是在写的过程中,还是忍不住写的很详细,给了很多采访的总结。所以最后,我决定在多篇文章中详细阐述。2、A部门申请方式:原二级主管,内部推荐。应聘职位:技术专家-Java-零售Saas本来不想放人的。但是看到有人质疑上一篇文章的真实性,这个帖子最后没有被采纳,所以才放出来。该帖的发布时间与我之前两党的辞职时间相同。1、P7这边,按理来说应该有一轮P7面试,进行技术交流。但是这里的公司直接给我跳过了流程。猜测是因为在团队中的技术表现得到了二级主管的认可,所以这一轮面试我就省略了。不过后续在其他部门的面试中,还是没逃过Java基础面试。囧2.P8面a。Introduction面试时长:两个小时左右面试形式:线下(因为之前的二级主管说我线下的表现力强很多,结果证明是真的)面试地点:阿里西溪公园B区面试核心:55%商业(新零售),35%技术,10%生活b.面试内容1.介绍门店数字化运营项目(resumeproject)面试准备过程中,一定要有一个核心项目,可以用来展示自己价值的实践例子,而且一定要足够努力。大厂家一般要求P6及以上。简单来说,就是明确项目背景,项目价值,然后到自己的贡献,最后的效果&review。可以参考STAR规则。项目背景要清楚项目从何而来。例如,家庭作业的概念一直存在于零售行业。之所以要数字化,是因为盒马支持线上业务,所以数字化是必须的。数字化操作系统可以完成信息流转、提高效率等。我再多说几句我擅长的。甚至可以引导面试官提问。项目的价值应该从商业价值开始,到商业价值,最后到实现价值指标。比如在价值流中,如何吸引新用户,增加用户粘性。然后是如何提高业务流程的效率,最后是开发成本的节省。任何项目都必须有价值,否则无法通过商业论证。自我贡献一定要体现出自己在项目中的价值。项目再大,不参与也没用。比如负责整个项目的项目管理,整个系统的技术方案设计,以及核心模块的编写等。在这个过程中,可以先强调工作的难点,让面试官能够其实认同困难,然后提出解决方案。这样更容易获得面试官对自身价值的认可。比如你跟面试官说这个系统需要10W的TPS。面试官立即感兴趣。如果是这样,你能提供一个实用的解决方案吗?那么面试官非常认同你的价值观。Effect&review,effect要体现项目的完成情况,review体现提高自我反省的能力。许多人不太了解大工厂的潜力。提高自我反省的能力是潜能的体现。比如我实现了一个10WTPS的系统,根据最终的落地效果。你觉得哪里还有改进的余地,比如优化某个地方的技术选型,可以降低成本等等。再比如架构怎么设计,可以有效支撑后续业务的快速发展。PS:面试中的项目不是最重要的,最重要的是通过项目展现自己的价值。因此,项目越大越好,但越能体现自身价值越好。不要混淆目的和目标。面试过程中,面试官会通过一些问题来确认项目是否真实。2.系统的整体架构对于面试项目,你必须能够画出它的架构图。想想现场,很容易出错,即使你再熟悉不过了。这部分是对上述自投的进一步挖掘。简单来说,面试官想了解你的设计能力。大厂的社招基本从p6开始。套用大佬的话,编码是最基本的要求。囧那么首先拉开技术差距的就是设计能力。这里说一些个人粗浅的理解,以后有机会再开发。编码->核心编码->模块设计->应用设计->系统设计(多应用复杂系统)模块设计->应用设计->系统设计,其实都是方案设计,只是处理的复杂度是不同的。软件工程的架构设计本质上是为了应对软件工程日益复杂的问题。从这个角度看,建筑设计可以分为时间和空间两个维度。在空间方面,类似于建筑构图流派,比如建筑图。时机类似于架构演进的规划。建筑的时空维度是果,建筑决策是因。这个区域比较容易拉开等级差距。最直接的就是项目的复杂性。但这对我们来说很难决定。所以我是从个人解决问题的角度来谈的。最基本的是理清多个关键点的决策原因,比如设计的重点和难点是什么,为什么要用策略模型,策略模型怎么实现。进一步的,对于整个方案的设计思路,需要有一个统筹全局的概念。比如秒杀系统,难点在于读写峰值高,必须保证用户体验。那么要解决的重点就是缓存,一致性等等。找出问题核心->解决思路->具体解决方案。进一步的步骤是为自己的计划提供方法论支持。要从方法论中寻找解决实际问题的方法,再从实际问题中回归方法论。比如大到用DDD解决业务领域划分和识别核心领域模型等,小到将28原则落实到缓存方案中。往前走,或者往上走,要考虑业务,甚至是商业模式。比如支持业务的快速扩张和商业模式的快速转型。要么再往下细化每一个block的设计,比如准确预估应用水位。正在准备面试的朋友可以提前准备好以上四张单子。3、在主要业务场景面试项目中,需要清楚项目最终产品端的表达,进而理解业务场景。一方面,这里的面试官想对你的项目进行感性认识,进而发现兴趣点(这个人,这个点,和我们的xxx团队类似,可以深入讨论)。另一方面,也要看你对业务的理解。毕竟,产学研的发展需要对业务有足够的了解和足够的敏感度。这部分的回答主要分为三个部分:如何简洁地描述业务场景。建议参考5W1H分析法。这有助于在准备阶段澄清业务场景。在实际面试中,往往会因为临场发挥等问题导致业绩缩水。比如店铺有效期管理平台,面向运营类学员,用于管理商品有效期balabala。弄清“主”的由来。能够清楚地说明真实的主要业务场景。并引导为什么它是主要业务场景。比如属于业务价值流的生产环节。比如与资金直接相关的业务等。将各种业务场景串联起来。可以将业务场景串联起来,让它们不再是孤立的点。这就需要小伙伴对相关业务有足够高的了解,有的还需要小伙伴了解公司相关活动的来龙去脉。这部分作为面试项目的业务部分,需要提前准备。如果有人可以帮助解决这个问题,那就太好了。比如之前的二级主管花了很多时间帮我整理业务,真的很感激。4.技术改造在面试过程中,要适当展示自己的主观能动性。在大厂,大多数主管还是比较喜欢有上进心的学生,不会排斥那些积极主动、热心思考和实践的学生。但是如何显示呢?尤其是一些小伙伴平时都有这样的习惯,只是不知道如何表现出来。在我以前的工作中,我会为每个项目准备文档。文档包括项目管理、技术方案、概要、相关内容等部分。而且,作为一个PM,我也有足够的动力。当然,这不像自主技术改造那么直接。毕竟要实现技术重构,需要包括思考、总结、自驱、业务等多个方面。而且,技术重构也很容易展现出自己的技术深度和思考深度。因为在之前的工作中,我积极推动了操作系统的重构,策划了决策系统的重构。因此,我把痛点、日常思考、解决方案、团队沟通、最终落地、最后反思给面试官讲解。关于技术重构部分,我应该有专门的文档在后面说明。这里只说一点,重构一定要有明确的理由(提高开发效率,降低开发成本等),绝不能为了重构而重构。5.技术难点及解决方案即使是面向业务的开发职位,也需要一些技术难点。如果你的面试项目没有体现出技术水平高,或者面试官没有从你的陈述中听出项目的技术水平高。那么面试官多半会有两类问题:独立系统设计:比较简单,在面试项目中改变某个需求,比如并发量从100变成100W。比较难的让你从零开始考虑某个场景。比如让你设计一个秒杀系统,或者设计一个火车票预定系统。自问自答:面试官要求被面试者说说在项目中遇到的问题和解决方法。前者需要大家懂架构设计,熟悉架构设计的最佳实践(比如秒杀系统、会员系统、搜索系统等)。后者需要大家在面试项目中遇到过技术难点,都想过并解决过。就算是虚构的,也要有可以嫁接技术的地方。囧纯技术上的技术难点和解决方法,可以参考我之前的系统质量管理。至少常见的性能和扩展性问题都有分类和基本解决方案。囧我在这部分,主要讨论异步。首先简要讨论了异步的概念,然后解释了Java的FutureTask框架&实现原理,最后是应用。这一切都进行的很顺利,P8老大觉得我可以在不压榨极限的情况下耍花样。简单的说,就是定量分析。给定上游各个接口之间的延迟、并发、依赖关系,让我尝试计算当前接口的最大并发、最小延迟等具体值。随后又增加了CPU核数、网络延迟、内部异常等各种条件,修改了各种前置条件。最后,由于两块白板都写满了字,情况有些混乱。大约二十、三十分钟的狂轰滥炸之后,我也开始有些头晕了。只好说有点头晕,想不起来前提条件,P8老大也就不了了之了。最后问P8老大,最后一道题的最优解是什么?P8老大说不知道,就是想看看我的思路。看着他幸福的样子,我什么也说不出来。..囧6.项目管理大厂的技术也要懂项目管理。而项目管理也是联系人管理的最佳入门。在大厂,各种需求都是以项目的形式推进的,在技术方面,需要有人做技术PM。而担任技术PM是一个非常好的熟悉业务的途径(个人成长秘诀)。所以技术开发需要对项目管理有一定的了解,尤其是大厂的开发。如果可以的话,我推荐大家研究一下PMP,至少买一本pmbok看看。在落地的过程中,最重要的不是项目管理的十大知识体系,而是这个在pmbok开始时才出现的概念的剪裁。如果每个项目都遵循一个完整的项目管理流程,那么花费在项目管理上的资源将远远超过花费在项目结果上的资源。所以这就需要PM根据实际情况适当裁剪项目管理流程和工具。说白了就是追求项目管理实施的ROI。比如我的项目管理文档一般分为:项目背景:简单介绍业务背景,以及项目的核心干系人(业务、PD、PM)等项目基线:主要是三个基线:范围、资源(主要是人力资源),进步。其中,各大厂的进度不需要甘特图,里程碑即可。项目风险:主要是可能存在的风险及相应的解决方案。比如项目组成员是新人,可能会出现工作时间判断错误。然后要判断他负责的项目内容是否在项目的关键路径上,项目活动时间是多少,是否需要额外的帮助。比如额外的资源。并且可以每天确定进度,确保他们个人的偏差在可接受的范围内,不会扩大影响范围。项目验收:这部分根据具体情况可以包括测试验收、产品验收和业务验收。并作为PM,跟进项目的启动。项目总结:项目过程中,遇到的问题,思考,总结都在这里。Appendix:Reference整理所有与项目相关的材料,如PRD,技术设计方案等。在面试过程中,面试官经常会问一些实际可能遇到的问题。比如项目资源不够,项目进度很快,PD频繁修改需求等等,这就需要你根据自己对项目管理的理解给出自己的答案。这个没有标准答案。回答的过程是为了表明你对项目管理的理解。比如项目资源不足(我的面试题)。你可以有这些选择:尝试通过给PD、业务、TL施加压力,或者利用自己的PY能力影响力来获取更多的资源。这部分可以很容易地扩展。比如个人影响力是怎么来的(通常是帮助其他团队)。通过与PD和业务的沟通,获得更多的开发时间。这就需要PM具备良好的沟通能力。不好好沟通,还可以打架。通过相关团队的协调,互通项目资源,在本项目中获得更多有经验的开发者。这就是项目组合管理发挥作用的地方。有点离谱。但这确实是一个解决方案。通过与PD和业务沟通来缩小项目范围。这对PM要求更高。但即使不成功,也能为下一次做铺垫(原因见《优势谈判》)。通过与PD和业务的沟通,对项目范围内的需求进行优先级排序。然后整个项目分为几个阶段。这个我在有效期项目里做过。如果实在不熟悉项目管理,直接跟面试官说,也是一种解决办法。毕竟不是每个人都有这方面的积累。7、团队管理各大厂的团队管理占经理考核的半壁江山。一般来说,各大厂商的P7、P7+面试都会问到团队管理的问题。如果你只是面试一个P6,却被问到这个问题,那么不排除面试官会把你当成储备P7。/doge我目前没有接受团队管理方面的特殊学习和培训。所以有不足之处,还望大家多多包涵。我也欢迎您对我的想法提出意见。在我看来,管理是一种整合资源(人、时间、金钱等)以提高整体效率的方法论/学科。团队管理是利用团队通过一系列事务来实现特定的组织目标。这将涉及团队人员管理、目标拆解、团队战斗力提升等一系列模块。这里简单介绍一下人员、事务和目标。目标:无论是政府、企业、团队还是个人,都会有目标。这里重申,与目的不同,目标是实现目的的手段。在组织架构上,目标会层层拆解,最终落地到执行层面。作为TL,您必须清楚自己的目标。如果目标错了,即使后面做得很好,这个TL对公司来说也是失败的。然而,目标是有目的的。如果对上层目标拆解有疑问,需要主动沟通。目标确定前积极沟通,目标确定后积极执行。事务:排除团队战斗力,为什么团队之间的输出仍然有很大差距,是因为目标的拆解有问题。打个比方,当一个复杂的系统被拆解成功能域时,拆解的方式有很多种。它可以按组织结构,可以按价值流,甚至可以按字母顺序排列(开玩笑)。而合理的拆解方式自然是追求高内聚和低耦合,这样可以让不同的功能域更加自治,减少与其他域之间不必要的通信,降低协作成本。此外,目标拆解还需要兼顾团队成员的成长。比如我在安排事情的时候,不会根据事情的完成情况来完全拆解目标。相反,要多加注意,考虑团队中每个成员当前的能力和未来的成长。这是为了提高团队的长期战斗力。团队:与项目管理不同,项目管理的核心是物,而团队管理的核心是人。所谓“怒兵一巢”,队伍的战斗力很大程度上受TL的风格影响。团队成员的成长、定位、忠诚度都需要TL去关注。我以前领导过几次团队。核心理念是以诚待人,懂得换位思考。这直接形成了大家更加真诚,相互理解,进而更好的团队合作的团队文化。优秀的团队合作意味着团队的高效输出。总结一下:优秀的团队可以提高内部沟通的效率,优秀的目标拆解可以减少内部沟通的总量。两者的结合就是团队实现目标的效率。正确的目标可以提高团队的价值转化率,有了前者,可以获得团队的高效价值输出(区别于高效输出)。作为TL,不要用战术上的勤奋来掩盖战略上的懒惰。对比一下我的工作经历。..嗯,五颜六色的。作为一个TL,往往会因为思想和行动的落差而出现两种情况:高高在上低手无用功。前者多表现为整天挂在嘴边的各种高端概念和名词,却缺乏执行力,多出现在企业中高层。能接触到这种TL,我已经“幸运”了,只能说很累。真是在上面拍了拍脑袋,在下面跑着摔断了腿,最后发现不能落地。后续有机会再说说这段经历,并给出解决方案。后者多表现为终日忙碌,年末感觉事情很多。但是一扭,发现常年都是霰弹枪,而且没有焦距,或者说焦距不够强。这种情况经常发生在公司的中下层管理人员身上。我也曾“幸运地”遇到过这种TL。年底了,看看你这一年都做了什么。如果不能凝聚成几大块,那就说明是这样的。8、生活中的八卦八卦是交际者三个视角的碰撞,也是对面试官个人素质(如潜力等)的重要考量。说实话,采访和谈生活一直是我最放松的部分。一方面,在之前的经历中,我经常和公司Boss以及团队的一二级经理进行交流。另一方面,平日里对自己有很多的反思、总结和规划。更重要的是,通过这个环节,我可以了解和学习那些大佬们是如何沟通、总结和规划的,得到他们对我的思考和规划的建议。这些都是难得的学习机会,只能说很多人没有充分利用。在这个环节,我基本上是临场发挥。唯一要注意的就是说话要小心,要讲清楚什么可以说,什么不可以说,什么该说要委婉。因此,您可以对标我的表现并为这部分面试做准备。/总督。只是在开玩笑。简单来说,就面试而言,需要表现出以下三点:积极的态度&乐观的态度:很多人写出积极、乐观、开朗的简历,没有任何强大的支持。在聊天中,你可以表达喜欢和朋友一起爬山,平日锻炼身体,遇到某些生活问题时保持乐观的态度等。被一些面试官挖掘,还有隐藏的潜力等等,这一切都需要你主动去show(showvalue,才能得到更好的认可)。比如你在解决某个问题时可以表达你解决问题的能力、你的系统性理解(专业、认知等)、你的日常思考(业务、技术等)有上万个候选人可供选择,你还有数千万家公司可供选择。您需要展示您对公司和团队的期望。文化倾向意味着你在团队中的稳定性和适应性不是没有用的。比如可以主动咨询目标公司&团队的愿景、业务等,进行沟通并达成一致。并且有很多东西可以扩展。不过因为聊生活被拒的朋友比较少,这里不再赘述。C。面试结果出来后两天,就接到了原二级主管的电话。通知我面试通过了,面试官很认可,让我准备后面的P9面试。d.总结虽然只是一轮面试,但是两个小时的狂轰滥炸干货满满。3.在P9面试之前,我已经知道大概的面试方向和问题了。是的,有大老板诚意带你,真是太爽了。不过尴尬的是,P9这边一直因为HC的问题卡住了。很遗憾,直到最后我才真正接触和交流这台P9。这位P9大佬是这些面试中最关心业务的P9大佬,所以我就说说他的面试方向和问题,供大家参考。当时的面试会有两个方向,一个是新零售业务(因为当时目标团队有这个痛点),一个是业务稳定性。这里就说说后者吧。其实说到稳定性,大家都或多或少有所了解,比如最基础的高可用三剑客(限流、降级、熔断)。但如果重点是技术呢?或者它在技术方面太狭窄了?在这里简单说一下。如果以后有机会,我会专门做一个文档。抛开技术不谈,业务本身也有稳定性的要求,信息化在这里只是一种实现手段。我们可以通过时间线来分析:事前:核心是预防。业务&产品的预防手段可以是在规则发布窗口增加影响面验证。技术上可以是高可用三剑客(涉及依赖分析,可以深入开发,体现技术造诣)。在事件中:核心是监控。业务&产品的监控方式可以是现场数据大屏、业务指标监控等,技术上可以是各种基础监控等,技术设计可以有幂等&重试,超时。甚至可以冗余(数据库宕机,通过缓存提供继续查询的能力),N版本编程等。事后:核心就是底线。业务和产品的底线手段可以是人为的bottom-upplan,业务妥协方案等,技术上可以隔离资源,减少影响面。至于故障发生后的事后检讨,是必须的,这里不再赘述。PS:业务优先级=影响面x出现概率3.总结本次面试主要是P8面,问题的粒度比较大,表现的比较完整。所以,整理之后,我直接按照面试的核心模块进行拆分,做一个总结。至于大家比较关心的技术问题和HRG面试的细节,会更多的体现在后两个部门的面试中,到时候会全面管理。尤其是到时候可以把面试中横着走的JVM展示出来。近期热点文章推荐:1.1000+Java面试题及答案(2022最新版)2.厉害了!Java协程来了。..3.SpringBoot2.x教程,太全面了!4.不要用爆破爆满画面,试试装饰者模式,这才是优雅的方式!!5.《Java开发手册(嵩山版)》最新发布,赶快下载吧!感觉不错,别忘了点赞+转发!
