我在阿里做面试的那些「套路」

翻了一下面试记录,最近两年我面试了近 150 人,其中以社招为主。当然这不全是为自己团队面试,还包括帮其他团队做的面试。可能有一些人不喜欢做技术面试,但于我而言,技术面试的过程是学习、成长的一种方式。

去年四月,朋友联系我帮忙内推一个人。在看过简历后,我内心一阵窃喜。为什么呢?从简历来看,这位应聘者比较优秀,内推成功的概率很大,如果成功,在完成招聘指标的同时还能获得奖金,可谓两全其美。

这里简单介绍一下这位应聘者的履历:上海交大自动化本科,浙江大学模式识别硕士,数学基础和编程功底都很扎实;4 年工作经验,先后在华为和中国银联从事软件开发,过往项目经历与目标岗位也比较合适。

完成内推后,我就开始暗自计划如何使用即将到手的内推奖金。但是现实却给了我一盆冷水,猝不及防,这个应聘者在第二轮就跪了,我看了一下面试官的评价:

缺乏思考和沉淀,谈及业务建模和系统设计,只答出一些点而非系统的方法,不符合岗位要求的能力模型。

由于我跟那位面试官比较熟,便直接找到他询问给出如此评价的原因,一番交谈下来,竟无力反驳。事后我根据交谈的内容写了一篇文章《前车之鉴:从被回绝的系列原因出发,解读应聘阿里的注意事项》,感兴趣的读者可以阅读一下这篇文章。

考虑到是朋友推荐的,后来我把面试官的评价如实反馈给了那位应聘者,也给出了自己的一些建议。在此后的一段时间里,他把自己所经历的项目进行了全面梳理和总结,通过学习补上了短板,在模型设计、系统设计、异常排查等方面形成了自己的套路(方法论)。去年十月,我把他推荐到了阿里云并成功拿到了 offer,上个月刚入职,当然我的推荐奖金也到手了 

我在阿里做面试的那些「套路」_第1张图片

上面提到的应聘者存在的短板并非个案,而是普遍存在的。

 

在互联网领域的大、中型项目中,一名工程师通常只负责某个模块的设计和实现,这样的分工协作模式在提升效率的同时,也容易让人产生惰性,逐渐退化成「螺丝钉」—— 只关注自己的「一亩三分地」,囿于局部,缺乏对项目全局的洞察。随着时间的推移,这样的工程师只会做自己擅长的,或者只被安排做自己擅长的。缘于这类因素,很多工程师虽然参与过很多项目,但趋于同质化,技术视野局限,难以沉淀出优质的实践经验,更不用说实战方法论。

实战方法论源自实践经验的归纳总结,通俗地说,就是套路。工程师在经历一系列项目实践的洗礼后,在业务建模、系统设计、性能优化、异常排查、稳定性设计等方面会形成一套可复用的方法论或最佳实践,这是工作经验的核心价值所在,也是普通工程师和高阶工程师的分水岭。

具体而言,拿到一个新项目,方法论可以帮助工程师按照一定的套路,系统、全面地分析和设计,从源头保障项目完备、健壮、优雅、前瞻,同时助力需求沟通和后期运维;此外,还可以帮助工程师避免踩坑,从而快速、高质地落地项目。对于高阶工程师来说,实战方法论是其核心竞争力之一,在工作中可体现出超越普通工程师的价值,在面试中可赢得竞争优势。

本专栏是包括我在内的 4 位阿里系资深工程师和专家多年工作经验和日常思考的总结。以下是我们撰写专栏时秉承的一些重要原则。

  • 授人以渔对工程师而言,「鱼」即知识点,「渔」则为实战方法论。技术类文章通常聚焦于知识点,而本专栏则侧重于实战方法论,力求授读者以渔。

  • 服务于实践。本专栏内容源于实践,是阿里系 4 位资深工程师、高级专家多年实战经验的总结,内容涵盖架构设计、模型设计、性能优化、异常排查、职业发展、学习成长等多个方面。

  • 工程师进阶之选。在进阶之路上,仅仅掌握领域知识点并不足以应对激烈的职场竞争。掌握实战方法论可以让你事半功倍,同时扩展视野、提升水平。

  • 面试必备。在高级工程师的面试中,领域知识不再是绝对的重点,面试官更关注的是应聘者的思考和沉淀,一套可复用的方法论或最佳实践是一名优秀工程师的必备技能。

  • 适用面广。本专栏有 3 篇文章使用 Java 语言描述,但关于架构设计、模型抽象、稳定性保障、学习成长等方面的内容与编程语言和技术栈无关,感兴趣的读者均可作为参考。

  • 一图胜千言。为了帮助读者更好地理解工程项目中复杂的关系和概念,作者为每篇文章都制作了生动而准确的示意图,让你在图文并茂的内容中更快掌握知识。

 

专栏共包含12个主题,每个主题 1~ 4 篇文章,内容包括架构设计、模型设计、性能优化、异常排查、职业发展、学习成长等方面。

  • 主题 1:如何设计一个好的 API

    良好的 API 设计可以让使用者高效使用一个系统的能力,同时也可以极大减轻技术支持的工作量。文章将结合实践为读者呈现怎样才能设计出良好的 API 。

  •  

  • 主题 2:如何设计预案

    预案的本质是为系统稳定性服务的。在互联网领域,从系统设计、编码实现到后期维护,预案几乎贯穿全程。对于工程师,特别是大型应用的工程师,预案(稳定性)设计能力尤为重要。

  •  

  • 主题 3:如何设计模型

    模型设计是一个从整体到局部、从具体到抽象,自上而下设计、自下而上验证并不断迭代完善的过程。模型设计是软件系统设计中极为关键的环节,因此,欲进阶必须掌握模型设计方法。

  •  

  • 主题 4:如何设计一个复杂的系统

    系统设计是高阶工程师的必备能力,设计出完备、健壮、优雅、前瞻的系统是工程师永恒的追求。本主题分为上、下两篇,由两位资深工程师合作完成,将带领读者掌握系统设计的思考框架和设计套路。

  •  

  • 主题 5:如何评估软件系统的吞吐量

    在实践中经常会遇到需要进行系统性能优化、提高系统吞吐量的场景。那么,系统的吞吐量与哪些因素有关呢?如何评估?是否有方法论可循?如果在面试中遇到这样的提问,你是否能从容应对?

  •  

  • 主题 6:如何高效地排查 Java 系统异常

    衡量系统性能的常用指标有哪些?当系统运行中出现问题时,如何通过这些指标量化地评价系统的状态并定位问题?理解系统性能指标、掌握排查系统问题的方法,是软件工程师进阶的必备技能。

     

  • 主题 7:如何进行 Java 系统性能优化

    系统性能优化涉及面非常广,涵盖方案优化、编码优化、并发优化、JVM 调优等诸多方面的知识。虽然不同系统的优化策略存在差异,但从全局来看,它们的共性仍是主要的。本主题将分为上、下两篇。

     

  • 主题 8:如何熟悉一个完全陌生的系统

    在职业生涯中难免遇到以下场景:入职新公司,如何有条不紊地熟悉已有系统?支援陌生系统开发,如何快速上手?同事离职,如何快速接手相关系统?面对这些情况,梳理一套方法论,从而有序、高效地应对。

     

  • 主题 9:如何画好系统设计图

    系统设计图是一种整体视图,目的是具象呈现软件系统的整体轮廓、各个组件之间的相互关系和约束边界,以及物理部署和演进方向。一图胜千言,在项目评审、晋升答辩、内部培训中,画好系统设计图都大有裨益。

     

  • 主题 10:如何将工作中的创新点转化为专利

    阿里、腾讯、华为等知名企业都很注重专利并设置了专利奖励,但在专利挖掘方面,技术人常常陷入误区:技术不够牛不能申请专利?尚未实现的技术方案不能申请专利?本主题将结合案例详解专利的挖掘方法和误区。

     

  • 主题 11:如何打造能力护城河

    近些年,中年危机话题甚嚣尘上,互联网领域的工程师焦虑尤甚。对于工程师,为长久计,必须打造自己的能力护城河。本主题由一位正值中年的资深技术专家撰稿,分享其在过往职业生涯中构建、完善自身能力体系的经验。

     

  • 主题 12:实践案例集锦

    本专栏最后一个主题由 4 篇文章构成,内容取材于阿里的典型应用实践,涉及系统架构、业务模型抽象、稳定性保障、推荐等方面,将以真实的案例诠释实战方法论。

  •  

如果你满足以下任何一个条件:

  • 有计划换工作或正在准备面试的互联网行业工程师

  • 计算机、软件、信电等相关专业有意向从事软件开发的在校生

  • 希望提升系统设计、模型设计、稳定性设计等软件工程能力的工程师

  • 尤其适合 Java 技术栈工程师

那么在认真学习后,你将不仅可以掌握系统设计、模型设计、API 设计、预案设计等方面的实战方法论,快速提升设计能力,还将通过可现学现用的实战案例,在工作、面试、晋升答辩中赢得优势!

即日起至 3 月 20 日,《工程师实战方法论核心 12 讲》限时特惠!现在订阅专栏,让进阶之路事半功倍,扫清升职加薪的最后障碍!

 

 

你可能感兴趣的:(职场)