阿里巴巴 120w 年薪 P7 架构师的简历长什么样?

前言

互联网大厂比如阿里巴巴、腾讯、字节跳动、百度、美团等公司是 IT 工程师梦想中的公司,不仅福利待遇很好而且还可以与行业顶尖的人才共事,但是由于行业竞争激烈,大厂对于技术人员的技能水平也是比较严苛的,尤其是对于技术底层的理解,本场 chat 会分享一份阿里 P7 架构师的面试简历,来分析下怎么写简历可以获得大厂面试官的青睐。

简历怎么写才不会被互联网大厂筛选掉

这是一份普通架构师的简历,简历中个人优势的部分描述思路是这样子的:

首先一定要在简历中明确负责系统的并发指标,比如日活、注册人数、QPS、TPS等,也就是俗称中的 “上天”;

然后一定要写明有高并发分布式系统的架构经验;

然后 JDK 并发编程的底层原理、集合的底层原理、NIO 编程的底层原理、数据结构和算法、设计模式等基本功一定要扎实,也就是俗称中的 “入地”;

最后有 JVM、Mysql、Tomcat 的调优经验一定会很加分。

在这里插入图片描述

这是一份经验更丰富的阿里 P7 架构师的个人优势描述,可以看到其简历编写技巧和上一份架构师的简历如出一辙,不过多了 3 年管理经验,现在的大厂对于技术功底深厚而且有团队管理经验的候选人非常青睐。

在这里插入图片描述

从 P7 大佬的个人技能描述中可以看到今年最值钱的技术栈,你是否都掌握了呢?

Java 基础方面,数据结构、算法、设计模式、并发编程,这些基本功一定要扎实,要能从最基本的原理一直讲到机器码级别,其实基本的 Java 语法和并发编程才是最难的,了解了 Linux 内核的原理、编译原理、操作系统才会真正的理解并发编程;

框架方面,Spring、SpringMVC、Mybatis、Dubbo、SpringCloud 的源码是必然要精通的,而且要具备这些框架的二次开发能力,可以根据需要进行相应的扩展;

分布式事务插件方面,2PC、TCC、Saga、事务型消息、最大努力通知方案都需要有深入的了解,分布式事务问题解决起来还是很棘手,不然不会到目前为止还没有出现一个统一的框架去处理,而蚂蚁金服的分布式事务框架 Seata 最近还曝出了漏洞;

JVM 调优方面,最近几年关于 JVM 面试问的越来越深啦,尤其是调优参数,不想记也得硬啃下来,也就是俗称中的 “八股文”,没办法 IT 行业的程序员越来越多,内卷现象以后也会越来越严重,比其他候选人技术深度更深或广度更广才不会被淘汰,由于 JVM 的学习成本非常高,一旦掌握可以跟其他的同行之间形成技术壁垒碾压对手;

Mysql 调优方面,大厂非常重视 Mysql 的原理和调优经验,如果你比 DBA 的同学还精通 Mysql 调优那么一定会惊艳到面试官的;

中间件方面,需要掌握的技术栈其实挺多的,不单单需要了解原理,有实战经验才是最宝贵的;

在这里插入图片描述

怎么结合自己的工作经历给自己的简历润色

看完上面大佬的简历有没有吓到呢?其实很多同学所在的公司并不是互联网企业,并没有 “上天”即:千万甚至上亿的高并发架构经验,但是可以结合自己的工作经历,最近几年大部分中小型公司都开始进行压力测试,中型公司可能还有全链路压测,那么你就可以将其写到简历上,把全链路压测的整个系统有条不紊的描述清楚也是很加分的。

可能有的同学所在的公司只是一个传统型的公司,没有高并发甚至没有全链路压测,只有一个管理台系统,那么你可以往业务上靠,你们项目中肯定有很复杂的业务,然后你就可以写到简历上,比如因为你负责的某个订单管理系统给兄弟团队带来了很大的便利,给公司创造了很大的价值。

另外有很多的同学喜欢在简历上写很多业务,项目责任里写满了各种各样的业务,其实这样子的写法是很不讨面试官的喜欢的,因为突不出技术难点,你都无法完整的总结出技术架构的细节写满业务又有什么意义。

阿里巴巴希望的架构师需要具备哪些技术能力

技能方面上文已经描述过很多了,阿里巴巴对于技术的底层原理的理解要求很严格,另外技术的实战经验也是一定要具备的,不然遇到问题你又没有这方面的经验,需要你马上处理你才开始学习了解那真的是很难受的,现在的架构都追求接近百分之百不宕机,如果面对高并发大流量经常宕机会丢失很多的用户和流量,从而业务上败给竞争对手。

你需要完整的通读并且掌握哪些框架的源码

JDK 源码比如集合源码、JUC 源码、NIO 源码一定要掌握,这些是其他所有框架的基础所以一定要打好基础;

Spring、SpringMVC、Mybatis、Dubbo、SpringCloud 框架的源码是一定要掌握的;

RocketMQ、Kafka 中间件的源码也是一定要掌握的,其他 MQ 中间件是用其他的语言写的,但是如果能学习下对应的语言了解下源码也会对其原理理解更深刻;

Redis 中间件源码虽然是用 C 语言写的,同样也需要对源码有大致的了解,甚至可以自己用 GO 语言模仿 Redis 写一个自己的中间件,理解其源码蕴含的思维也是极好的;

Zookeeper 中间件作为 Dubbo 的服务注册中心最近几年热度不减,对于源码的考察也是一个重点;

Skywalking 中间件为分布式服务提供链路跟踪的功能,所以其源码的掌握也是必须的;

Sentinel 中间件为分布式服务提供了服务降级熔断的功能,对其源码的掌握是符合大厂分布式技术栈要求的;

Seata/XTS 中间件是蚂蚁金服的分布式事务中间件,或者是其他公司开发的分布式事务中间件一定要掌握一款中间件的源码;

Mycat/Zdal 中间件是分布式数据库中间件,对其源码的大体了解也是必须的,大厂非常喜欢进行突击提问让你针对某个技术场景对分布式数据库插件进行扩展,以满足某个需要让你谈谈自己的想法,通过这种方式考察你对其原理的理解程度;

Webflux 是基于 Netty 的一款响应式编程框架,常用来做网关,大厂最近非常青睐这款框架,如果你对其源码有基本掌握的话会很契合大厂的技术栈;

Netty 作为高并发网络通信框架应用非常的广泛,所以对于原理的掌握也是必须的,不会 Netty 连大厂的一面都很难过,可见大厂对其的重视程度;

介绍自己做过的项目的时候怎么给面试官留下好印象

很多同学面试的时候总是等待面试官提问,面试官问一个问题回答一个,这样子面试官就很累了而且浪费时间,如果面试官提问一个问题你能马上联想到相关的技术难点进行拓展,就可以更加完整的向面试官展现自己的技术水平。

比如面试官问你 ThreadLocal 的原理,如果你只回答基本的原理那么面试官就会觉得你只了解这么点儿自然不会给你高薪,但是如果你在回答完 ThreadLocal 后还提出了 ThreadLocal 可能会造成内存泄漏,然后巴拉巴拉讲讲解决方案,然后再讲讲线程池复用线程的时候,父线程无法将更新后的数据通过 ThreadLocal 传递给子线程的问题,InheritableThreadLocal 是怎么解决的还有哪些遗留问题,阿里巴巴开源的 TransmittableThreadLocal 工具类是怎么解决 InheritableThreadLocal 的遗留问题的,最后再讲讲 Skywalking 是怎么跨线程将 TranceID 传递到下一个链路的,巴拉巴拉讲了一大堆。

有的面试官这个时候可能已经不耐烦了,但是起码可以给面试官留下一个技术深度和广度都不错的好印象。

另外有的同学在面试的时候态度不够端正,面试官问在项目里面负责的工作,就说一大堆业务方面的东西而不提技术方面的细节,平时工作中或多或少会接触技术,总会有一些积累如果只说业务体现不出你对复杂系统的设计经验。

比如有一个订单管理的系统,有的同学面试的时候只会讲一些基本的业务逻辑,数据库库表中数据的流转,这样子描述根本不合格,如果订单系统中用到了分布式事务,你应该说做订单管理的系统的时候还学习了 2PC、TCC 等相关组件,设计了可靠消息最终一致性方案,最终使用了最大努力通知方案,一定要把技术细节讲出来体现自己的复杂系统的设计能力。

总结

同学们写简历的时候一定要付出足够的重视,面试官从简历中就可以看出你的工作态度和技术水平。

另外想学习更多欢迎订阅我的精品文章:

阿里巴巴 120w 年薪 P7 架构师的简历长什么样?

猜你喜欢

转载自blog.51cto.com/14892619/2541687