一、架构师简历总体介绍
1.1、何为有“技术能力”
梳理一下,一般我们认为有“技术能力”的特质:
- 有大厂背景(已被其他大厂证明过)
- 热门开源软件的发起人或贡献者
- 开源框架原理与源码烂熟于心
- 主导解决过大数据量高并发的实际问题
- 对多项技术的底层原理研究得比较透彻,在工作中有借鉴其思想解决过问题
- 能描述出技术方案核心关键点
- 团队里的杠把子,主导解决过线上的重大故障
简历可以结合这些特质展开。
1.2、架构师关键词筛选
HR、技术人员筛选简历内容关键词:
架构、重构、优化、架构设计、架构方案、架构规划、难题攻关、规划、指导、培训、开发(核心模块)、编写规范...
架构师技能要求关键词:
大型应用系统、大规模并发、分布式架构、SOA、框架、高并发、高可用、高性能、设计模式、多线程、JVM、缓存、消息队列、经验、学习能力、新技术(敏感)、(喜欢)钻研、调优...
1.3、转型成功的架构师特征
- 缺乏实际的架构经验,具备一定的系统分析能力、系统设计能力
- 架构知识广度、架构知识深度尚可
- 有架构师的潜力,性价比高
1.4、招聘需求和简历的关系
- 架构师招聘的岗位描述是架构师简历的架构师日常职责;
- 架构师招聘的岗位要求是架构师简历的自我评价中的架构技能和具体的技术。
1.5、写好架构师简历的关键要点
- 写好简历中的日常职责和自我评价
- 日常职责(突出架构师日常职责关键词)尽可能和架构师日常职责挂钩
- 自我评价(突出架构师技能关键词)尽可能和架构技能和具体技术挂钩
- 写好项目介绍(项目简介、项目职责)
二、如何写好项目经验
2.1、开发工程师和架构师的日常职责
开发工程师 | 架构师 |
---|---|
熟悉需求 | 架构规划(前瞻性) |
写设计文档 | 架构方案(方向性) |
开发业务功能 | 技术研究(攻关性) |
自测 | 技术选型(合理性) |
代码review | 解决难题(挑战性) |
修改bug | 架构落地(可实施) |
2.2、如何把项目写成偏架构风格
- 主title是工程师,次title可以是架构师,高级工程师/架构师
- 以架构师的思维写项目经验
- 参与架构工作,非主导,突出架构能力
- 项目(产品、平台)的业务架构图、技术架构图
- 突出系统分析、系统架构能力
- 列出技术栈,晒技术难点、技术亮点
- 建议掌握 Star 面试模型,设置面试埋点
- 项目收获(个人或团队)
- 切忌列一堆开发的功能,并且毫无技术含量,毫无亮点
2.3、架构经验不足?
设置架构埋点
关键点:
高性能、高扩展、高可用、伸缩性、分布式、重构、优化、性能调优 ...;
架构功底支撑、合理的场景设置、自圆其说并展现个人的架构潜力。
好的项目埋点
- 架构知识深度
- 架构知识广度
- 分析设计能力
- 系统架构能力
- 业务架构图
- 技术架构图
日常职责、项目经验的埋点
架构师日常职责关键词:架构规划、架构方案、架构设计、重构、优化、难题攻关、直到、培训、开发(核心模块)、编写规范等
- 架构方案的设计和讨论 - 项目的业务架构图、技术架构图
- 系统分析能力、设计能力 - UML的核心用例模型、分析模型、包图
- 重构 - 服务化、业务拆分、jar包拆分、代码分层、具体代码重构
- 性能调优 - 集群、缓存、消息中间件、线程池、多线程、批量处理、数据库等等
- 核心功能 - 突出难点、流程复杂等特点,避免纯 CRUD 功能
- 技术分享 - 分享相关热点技术、难点技术
2.4、项目经验
内容包括:项目简介、项目职责、核心技术
项目分类:新创型项目、重构型项目、成熟型项目
2.4.1、项目简介
- 简单描述项目
- 突出项目亮点,以架构师的视角描述项目
- 切忌描述内容太多,重点不突出,无亮点
好的项目简介示例:
所在公司:块钱支付清算信息有限公司
项目简介:针对目前基础账户系统群服务分布不合理,接口目录不全,外围业务系统的高依赖性,进行服务治理。项目职责:
1.前期服务治理方案设计
2.账户前置机架构设计与实现
3.性能压力测试
2.4.2、项目职责
突出架构潜力/能力
突出分析、设计能力
突出项目架构方案
学习能力
架构经验(架构能力埋点)
项目职责关键词:
1、自我评价关键词:概念型技术性名词、具体的技术性名词
2、架构师职责关键词
种类 | 关键词说明 |
---|---|
概念性技术性名词 | 大型应用系统、大规模并发、大访问量、高负载、分布式架构、分布式系统、UML、SOA、微服务、框架、高并发、高可用、高性能、设计模式、多线程、JVM、缓存、消息队列、负载均衡、网络编程、算法、敏捷开发、大数据、流式计算 ... |
具体的技术性名词 | dubbo、RPC、zookeeper、dapper、Spring Cloud、spring boot、Cassandra、zuul、NIO、Netty、Mina、activemq、rabbitmq、kafka、rocketmq、MongoDB、Hbase、Quartz、solar、ES、AKKA、Memcached、Redis、Nginx、HAProxy、LVS、Squid、FastDFS、TFS、GFS、HDFS、NFS、Scrum、XP、TDD、jenkins、hadoop、spark、storm、spring、springmvc、Mybatis、Hibernate、Struts、Freemarker、Jquery、tomcat、jetty、oracle、mysql ... |
架构师职责关键词 | 架构、重构、优化、难题攻关、架构设计、架构方案、架构规划、规划、指导、培训、开发(核心模块)、编写规范 ... |
好的项目职责示例:
项目职责:
负责为客户提供 JavaEE 的企业级架构和实施的解决方案,基于 Spring 平台实现 OAuth 第三方登录集成,为满足高并发及海量数据,采用分布式的 SpringMVC Web 程序,基于二次节点数据同步和备份机制满足高可用,ORM 采用 MyBatis,消息中间件基于 RabbitMQ。
项目职责:
根据客户需求设计 n-tiers 架构文档,来满足新平台的业务需求,实现平台的可测试性、可维护性、可扩展性。
主要包括前端 web 应用服务器、后台 SOA 服务、负载均衡、分布式缓存、分布式文件存储、关系型数据库存储、消息队列、搜索引擎框架、基础底层开发框架。
基于 Logstash、ElasticSearch、Kibana 三件套的分布式系统监控方案,产生 TB 级的日志数据存储在 Hadoop 的 HDFS 中,通过 Hive 查询接口实现基于 HBase 的一个数据仓库。
2.4.3、核心技术
核心技术需要根据具体项目开展示,如不适合对外展示时,讲解概念性技术点即可。
三、如何写好自我评价
架构师自我评价示例
- 12年以上IT技术经验,7年电子商务经验,10年以上Java开发和设计经验,6年以上系统设计和架构设计经验;
- 熟悉分布式系统架构设计,具有大流量、大访问量、高负载环境下的系统开发及优化经验;
- 熟悉主流数据库:SQL Server、MySQL、Oracle;
- 熟练 hadoop/spark/storm 等常用的分布式产品;
- 熟悉 Redis/mongodb/hbase 等 NoSQL产品;
- 熟悉主流开源框架:spring、mybatis、quartz、elasticsearch、AKKA、Netty、RabbitMQ、Kafka、Granfana、VUE;熟悉SOA和微服务架构体系;
- 了解其他编程语言,如 NodeJS、Python、GoLang;
- 熟练掌握 Power Designer 软件建模工具,制作数据流程图、概念数据模型、物理数据模型以及面向对象模型(OOM)、DDD等;同时具有软件敏捷开发及项目管理经验。
互联网公司常见架构技术栈
技术栈 | 具体产品 |
---|---|
基础 | 多线程、JVM、编解码、动态代理、反射、负载均衡算法、网络通信Netty、CAP、BASE、Spring、Zookeeper |
微服务 | RPC、SOA、Dubbo、Spring Cloud、Sentinel、Guava |
消息队列 | kafka、RocketMQ、rabbitMQ、activeMQ、zeroMQ |
缓存 | Redis、memcached |
监控 | Dapper、CAT、SkyWalking、PinPoint、Zipkin |
调度中间件 | Quartz、Zues、xxl-job、Elastic-job |
配置中心 | Apollo |
网关 | Zuul、GateWay |
数据层中间件 | MyCAT、Sharding-Jdbc、Otter、Druid、Databus |
合适的动宾短语组合
精通
深刻理解
熟悉
掌握
具备
了解
四、总结
实践建议:
- 写好技术栈,晒亮点,前提是对技术栈掌握得比较好;
- 认真写好项目经验,并且偏架构风格,而不是记开发流水账;
- 建议架构师简历一般至少修改 2-3 次,原因是工程师思维、架构师思维有冲突;
- 一定要实践,看一千遍不如实践一遍。
附录
STAR法则(Situation Task Action Result)
Situation: 事情是在什么情况下发生;
Task:你是如何明确你的任务的;
Action:针对这样的情况分析,你采用了什么行动方式;
Result:结果怎样,在这样的情况下你学习到了什么。
简而言之,STAR法则,就是一种讲述自己故事的方式,或者说,是一个清晰、条理的作文模板。不管是什么,合理熟练运用此法则,可以轻松的对面试官描述事物的逻辑方式,表现出自己分析阐述问题的清晰性、条理性和逻辑性。
FAB 法则(Feature Advantage Benefit)
Feature:是什么;
Advantage:比别人好在哪些地方;
Benefit:如果雇佣你,招聘方会得到什么好处。
简单来说,这个法则主要是让你的面试官知道你的优势、招了你之后对公司有什么帮助。
网友评论