说明

架构师训练营会讲啥? 第一课还没开始之前,笔者猜会是从全局视角先整体概括。比如提供一个思维导图,涉及到的全部课程内容。类似演讲的总-- 分 – 总。

讲课老师 – 首席架构师 李智慧

1. 看书、上课等学习第一课的门道

读书的时候,看一本书的目录就可以看出作者的思路是什么。老师上第一课也是一样的道理,要告诉同学们: 要解决的问题是什么? 是如何解决的。

架构师不一定技术很牛,但是没有技术是不行的。

架构师最主要的靠悟性。悟性悟到了,就类似一层窗户纸,一捅就破,一点就通。

  • 面对的问题、困难是什么?
  • 解决的方法是什么?
  • 真实的场景是什么?
  • 用什么的思维方式去解决问题?

2. 架构师的核心输出是什么

掌握的能力:架构方案、架构设计
学了很多内容,任命为架构师,才能去做架构师。

成为架构师的途径有哪些?

  1. 跳槽,应聘为架构师。
  2. 内部晋升,任命为架构师。

3. 架构师的主要职责

  1. 编写架构设计文档
  2. 并发编程框架
  3. 重构软件代码
  4. 设计系统架构
  5. 进行技术选型,解决技术应用中的问题。
  6. 优化系统性能
  7. 模块分解与微服务架构重构
  8. 保障系统安全与高可用
  9. 大数据应用
  10. 技术创新
  11. 沟通管理

从招聘要求拆解架构师能力

架构师要求的能力

  1. 整体架构设计。

  2. 核心组件代码的实现、核心服务的实现。

  3. 定位系统瓶颈、提高系统性能、稳定性以及业务扩展性。如何去证明已经解决问题。

  4. 主导跨部门协作和负责功能的调研。跨部门最重要的关注点是什么?利益相关方的诉求是什么?边界是什么?如何平衡相关利益?如何沟通?就算架构设计比较清晰,如何满足更多利益方的需求,如何落地也是一种能力。

  5. 具备海量数据和大规模分布式系统的设计和开发经验。能通过学习获取到经验吗?通过学习可以提高经验,对成长是有帮助,有一些小技巧。比如,学习训练营以后,重新看以前的设计,是否有提高。比如,以前公司没有的功能,自身通过思考,设计出整个架构,也可以是应用的一种。

  6. 从设计到实现始终对齐业内一流产品水准。阿里巴巴平台架构组、Intel大数据开源组的PPT是怎么设计的?进步的空间在哪里?

  7. 对多种数据库中间件、消息中间件以及其他大规模数据选型。

  8. 领域模型、微服务架构

  9. 消息中间件、分布式事务等互联网应用架构

  10. 对Spring、MyBatis等常用开源框架应用经验丰富。框架的原则是什么? 能否设计出这个框架?设计框架关注点是什么?

  11. 数据结构有深刻的理解和优秀的编码能力、算法设计能力。

  12. 良好的沟通表达能力和团队协作能力。

4. 越多面的知识支撑越牢固

老师讲的是一层面,自身的经验是一层面,自身的思考也是一层面,跟别人交流,多渠道学习。
面越多就越立体,面越多,知识才会越牢固。

这个很像GPS,要3颗以上的卫星校准会更准确。卫星信号越多,定位约准确。

5. 软件架构

如何写一个架构设计文档,文档中应该包含哪些方面的内容?

6. 如何面试别人?

面试的套路,不断的层层深入,要知道候选人的知识广度和深度?

  1. 自我介绍
  2. 讲一个你觉得最有技术含量的项目?考点:项目经验,强调业务背景,围绕问题这些点,是如何解决的?画一些时序图,流程图,组件图。要看语言组织能力,是否有条理性,方法是否成体系?提供的建议都能否定掉,那么就加分了。
  3. 具体的技术技能问题
  4. 手写代码,纸笔写一下10来行代码。

7. 面试的问题

这里要请教读者您,帮忙留言,笔者会补充并留名您的答案。

  1. 子类override父类的方法后,想要修改抛出的异常,那么子类方法抛出的异常类应该是父类方法抛出异常类的子类还是父类?

  2. Spring 是如何实现单例的? 和设计模式中的单例实现方式有什么不同?

  3. 淘宝这样的大规模分布式互联网应用系统使用了哪些技术方案和手段?
    主要解决什么问题?

  4. 知道什么是CAP原理?请描述某个你熟悉的 NoSQL 产品是如何解决 CAP 问题的?

  5. 如何进行性能测试,性能测试的流程是什么?性能测试的主要关注指标有哪些?

  6. 为什么在系统性能测试的时候,随着并发请求数的逐渐增加,错误响应(或者响应超时)的比例快速增加?青葱操作系统的线程和进程调度原理以及计算机内部资源使用角度进行分析。

  7. 为什么支持异步I/O 的Web 服务器(比如 Nginx)要比阻塞式的 Web 服务器(比如Apache)性能好很多,前者要比后者可以处理的并发连接请求多几十甚至数百倍?请从异步 I/O 的线程阻塞特性进行分析。

  8. 给定一个key,为什么可以在Hash表中快速查找到 value?

  9. 数据库索引是如何存储的?

  10. Java虚拟机的垃圾回收原理是什么?

  11. 什么是领域驱动设计, DDD的优缺点是什么?

  12. 导致系统故障无法正常访问的原因有哪些?保障系统稳定高可用的方案有哪些?请列举并描述。

  13. 为什么单项散列加密可以保护用户密码安全,请细化 week2 的时序图设计,使用单项散列表保护用户密码。

  14. Spark为什么比MapReduce 快?

  15. 淘宝,头条这些应用会针对不同用户推荐不同的商品和内容,他们是如何做到的?用了哪些算法?

  16. Google 搜索结果页面是如何排序的,正好使用户最想看到的页面排在前面?

  17. 区块链是如何保证数据无法被篡改的?

  18. 什么是边缘计算?

  19. 如果你觉得系统需要重构,但是老板和团队成员都觉得没必要,你如何说服大家?

8. 什么是软件架构

软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。
– 维基百科

架构类图,架构对象图

架构设计最重要的是,架构是给谁看的,要考虑到相关方的利益。老板,开发,测试,维护人员这些都是相关方,给每个不同的对象看,架构文档是不一样的。

架构元素:服务器,
元素间的关系:静态关系、动态关系
架构:
系统:
架构文档:
相关方
架构视图
关注点

9. 什么是架构师

架构师是做架构设计、对系统架构负责的那个人。

架构师是一顶帽子,而不是一把椅子;架构师是一个角色而不是一个职位。

主要你是做架构,那你就是架构师。如果你的公司,项目经理分配活了以后,程序员就开始开发。这就是个机会,那么你可以尝试画画架构图,分享给同事。多做架构的事情,你就是架构师了。

极客大学架构师训练营 架构师职责 听课总结 -- 第一课相关推荐

  1. 极客大学产品经理训练营 认识产品经理下 第2课总结

    说明 讲师:邱岳(二爷) 分享提纲 互联网产品经理的能力模型 互联网产品经理的个人素质 产品经理的特质与气场 互联网产品经理的职业发展阶段与晋级之路 互联网产品经理的若干真相 1. 产品经理的能力模型 ...

  2. 极客大学产品经理训练营:业务流程与产品文档 第11课总结

    讲师:邱岳 1. 原型图 1.1 手绘图 + Scanner Pro 1.2 线框图 1.3 高保真产品图 1.4 做原型图的目的 坍缩:规划时梦到自己成了乔布斯,赶紧画个图让自己冷静冷静: 具体:具 ...

  3. 极客大学产品经理训练营 产品文档和原型 作业4

    作业 [本周作业]写一个用例,挑一个:你自己的产品 / 你喜欢的产品 / [拍东西]发起拍卖/ [知识星球]加入星球/ [极客时间]购买课程: 1. 标题作者修改历史 标题:[极客时间]购买课程 作者 ...

  4. 极客大学产品经理训练营:数据分析与商业分析,商业分析到业务分析 第18课总结

    讲师:邱岳 1. 产品经理眼中的利润.成本.收入 利润 = 收入 - 成本 奶茶利润率极高,达到60%左右.但是奶茶盈利比较难. 所有买水的产品利润率都极高,比如可口可乐,咖啡,奶茶等. 案例:有个面 ...

  5. 极客大学产品经理训练营:产品文档和原型咋弄 - 流程图 第9课总结

    讲师:邱岳 1. 图的意义 流程图.活动图.时序图.状态图,本次聚焦于过程和行为描述. 提效.宏观.点睛. 梳理思路 用例:做什么? 流程图:怎么做? 2. 流程图.活动图.时序图 3. 动手画 – ...

  6. 极客大学产品经理训练营 极客时间购买课程-大作业

    1. 标题作者修改历史 标题:[极客时间]购买课程 作者 历史 时间 易筋 创建 2021-01-09 易筋 添加购买流程图6 2021-03-02 易筋 添加购买时序图7 2021-03-16 2. ...

  7. 极客大学产品经理训练营:业务架构与概念模型 第10课总结

    讲师:邱岳 1. 什么是状态图 系统中的概念或对象随着一些事件的发生,改变了状态,通常这个状态比较多.比较复杂时,我们需要用状态图来表示他们的边界,以及触发状态转换的活动. 2. 动手画 – 员工状态 ...

  8. 极客大学产品经理训练营 解决方案的设计与积累 第6课总结

    说明 讲师:邱岳(二爷) 1. 解决方案 解决方案的前提是明确了 利益相关者 和 待解决的问题 出解决方案是产品经理的天职,不要直接转发 注意 X-Y Problem,核心关注 X 大量的练习/模仿/ ...

  9. 极客大学产品经理训练营:产品经理的职业规划 第20课总结

    讲师:邱岳 1. 简历(你)作为产品 简历可能是你向你未来同事展示的第一个作品,关于你自己的经历.特点.审美,所以要像设计和研发一个产品那样设计好你的简历. 当谈论产品的时候,我们的思路应该依然是:用 ...

  10. 极客大学产品经理训练营:运营思维 第19课总结

    讲师:邱岳 1. 运营是做什么的 运转·经营. 产品经理经常拆房子.盖新房子.经营是要持续经营一个产品. CEO.COO(Apple 的Tim Cook以前就是).CTO.CFO.CIO- 运营其实是 ...

最新文章

  1. ICLR 6-6-6!自注意力可以替代CNN,能表达任何卷积滤波层
  2. 5.1基于JWT的认证和授权「深入浅出ASP.NET Core系列」
  3. 如何查看某个端口被谁占用
  4. 笔记本Wifi连接出现“设置与网络连接不匹配”的解决方法
  5. Python 计算机视觉(十七)—— 基于KNN的图像分类
  6. ML二:NNSearch数据结构--二叉树
  7. 程序员过关斩将--你为什么还在用存储过程?
  8. 使用混合多云每个人都应避免的3个陷阱(第1部分)
  9. 一张图诠释Git所有命令
  10. 分别用邻接矩阵和邻接表实现图的深度优先遍历和广度优先遍历_数据结构与算法:三十张图弄懂「图的两种遍历方式」...
  11. mysql 原理 ~ 并行复制
  12. 桌面高效便捷的多窗口调整管理工具 - AquaSnap
  13. 苹果笔记本下载视频剪辑软件pr cc 2019 for mac
  14. 2016年个人简历模板
  15. android极光推送 消息穿透广告弹窗,极光推送弹出两次消息,请大佬们帮忙指点迷津...
  16. 机器学习- MACHINE LEARNING
  17. 北斗组网大功告成!你的手机真的能连上北斗吗
  18. CSUST 2007 我爱吃烧烤 (状压dp)
  19. Linux系统中编译大型C语言项目必备技能之:Makefile文件的编写
  20. 2018-2019 C++程序设计报告

热门文章

  1. mysql中整理设置__MySQL的常用操作命令整理
  2. 打开gedit_使用 gedit 文本编辑器优化你的 GNOME 体验 | Linux 中国
  3. kaggle房价预测特征意思_未来销量预测——Kaggle基础方案(三):特征工程及线下验证划分...
  4. ckpt下载 deeplabv3_Ubantu下 用deeplabV3+训练自己的数据集 你可能遇到的所有坑都在这了...
  5. 24、List三个子类的特点
  6. LINUX Cacti 安装SOP FOR CentOS6.5
  7. 爱创课堂每日一题第四天8/28日XML和JSON的区别?
  8. 苹果iCloud大调整:干掉1TB版本,2TB降价
  9. CentOS 快速安装ftp
  10. Android SDK Permission大全访问权限