从程序员进阶成为架构师,并非一蹴而就,需要系统化、阶段性地学习,在实战项目中融会贯通,这如同打怪通关,我们得一关一关突破,每攻破一个关口,就能得到更精良的装备,技能值也随之不断增长,直至大获全胜。
凡事预则立,在开始行动之前,我们有必要先来了解下这个岗位的核心要求,以及必知必会的技术能力,只有目标清晰、方向明确,才能事半功倍。
01 架构师岗位职责 ……继续阅读 »
陈睿
1年前 (2019-12-06) 3318浏览 0评论
10个赞
整理一份成长为阿里Java技术专家的7个技能体系,希望对你的高薪之路有所参考。
1.Java编程必备
多线程:创建与使用、线程同步与锁、线程池等的掌握
JVM:你只有深入理解虚拟机的内存回收机制,才能正确使用JVM性能调优
掌握NIO,以及对应NIO框架……继续阅读 »
陈睿
2年前 (2019-07-24) 3651浏览 0评论
5个赞
很多同学想成为一名架构师,但是对于其中的技能掌握程度,以及编程功底的要求?设计能力的要求有哪些?
我简要从以下7点经验来谈,从技能的角度抛砖引玉。
编程基本功:数据结构和算法
1.数据结构相关的哈希表、链表、二叉树等等
2.常见的算法有哪些?至少下图的算法我认为应该要掌握。
比如:HashMap如何扩容……继续阅读 »
陈睿
2年前 (2019-01-24) 2833浏览 0评论
2个赞
计算机基础:网络和协议
Java编程:并发编程、NIO等
数据:MySQL、NoSQL、搜索引擎、大数据
设计模式
分布式架构设计
还有算法和数据结构、Java并发编程、工具类这里就不一一列出了。
……继续阅读 »
陈睿
2年前 (2018-12-26) 3989浏览 1评论
10个赞
进阶成为架构师是大多数java程序员们的梦想,架构师从广义上可分为软件架构师、系统架构师,软件架构师是程序员最容易突破、最可能进阶的一条职业发展路径,我这次主要分享软件架构师的相关知识点。
一:架构师的定义
架构师,是一个既需要掌控整体又要洞悉局部瓶颈,……继续阅读 »
陈睿
2年前 (2018-11-13) 2917浏览 0评论
5个赞
分布式架构
阿里P8架构师谈:淘宝技术架构从1.0到4.0的架构变迁
优知学院」淘宝技术架构的前世今生(上)
优知学院」淘宝架构的前世今生(下)
揭秘:一位亲历者眼中的淘宝技术架构发展之路
淘宝发展历程最具决定性的一次技术架构演变
大型网站架构设计谈过了多期,本篇大部分内容来源与大型网站技术架构这本书,算是大……继续阅读 »
陈睿
2年前 (2018-11-05) 3123浏览 0评论
10个赞
很多同学对于高并发总是讳莫如深,今天主要谈谈高并发需要掌握的技术集,文末有高并发技术资料~
高并发、多线程
1.高并发
高并发是请求,指的是多个客户端同一时刻向服务端发送请求, 它是一种现象。
比如,在双11凌晨12:00分同时有10万个下单请求。
高并发标准:
高并发用户数
TP……继续阅读 »
陈睿
2年前 (2018-10-19) 5625浏览 2评论
16个赞
1、Java基础技术体系掌握牢固:
JVM内存分配
垃圾回收
类装载机制
JVM性能优化
反射机制
多线程
网络编程
常用数据结构和相关算法
2、对面向对象的软件开发思想有清晰的认识、熟悉掌握常用……继续阅读 »
陈睿
2年前 (2018-10-10) 2868浏览 2评论
18个赞
Docker容器
阿里P8架构师谈:Docker简介、组成架构、使用步骤、以及生态产品
阿里P8架构师谈:Docker容器的原理、特征、基本架构、与应用场景
消息中间件
阿里P8架构师谈:消息中间件介绍、典型使用场景、以及使用原则
阿里P8架构师谈:分布式消息K……继续阅读 »
陈睿
2年前 (2018-10-09) 5434浏览 2评论
10个赞
数据拆分前其实是要首先做准备工作的,然后才是开始数据拆分,我先讲拆分前需要做的事情:
第一步:采用分布式缓存redis、memcached等降低对数据库的读操作。
第二步:如果缓存使用过后,数据库访问量还是非常大,可以考虑数据库读、写分离原则。
第三步:当我们使用读写分离、缓存后,数据库的压力还是很大的时候,这就需要使用到数据库拆……继续阅读 »
陈睿
2年前 (2018-10-06) 3897浏览 1评论
13个赞
Java并发编程实战 (java并发的圣经)
多处理器编程的艺术 (并发编程的各种算法,java实现,有点难度)
并发的艺术 (多核处理器的共享内存模型中的各种算法)
Java虚拟机并发编程 (jvm平台上各种语言的并发比较,如java,scala,clojure)
Jav……继续阅读 »
陈睿
2年前 (2018-10-06) 6439浏览 0评论
2个赞
淘宝技术架构变迁
自2003年创立以来的,淘宝业务发展非常迅速,几乎是每年以100%的速度在成长。创立之初,为了快速上线,抢占市场,选择了当时流行的LAMP架构,用PHP作为网站开发语言, Linux作为操作系统,Apache作为Web服务器,MySQL为数据库,用了三个月不到的时间淘宝就上线了。当时整个网站应用服务器大概10台左右,MySQL数据库采用了读……继续阅读 »
陈睿
2年前 (2018-09-19) 3533浏览 1评论
5个赞
在高并发分布式环境下,对于访问量大的业务、接口等,需要及时的监控网站的健康程度,防止网站出现访问缓慢,甚至在特殊情况出现应用服务器雪崩等场景,在高并发场景下网站无法正常访问的情况,这些就会涉及到分布式监控系统,对于核心指标提前监控,防患于未然。
常见的开源监控系统
1.Zabbix
Zabbix是一个基于WEB界面的提供分布式系统……继续阅读 »
陈睿
3年前 (2018-09-13) 3241浏览 1评论
3个赞
分布式架构设计是成长为架构师的必备技能,涵盖的内容很广,今天一次打包分享,文末有:最全分布式架构设计资料获取方式~
负载均衡
负载均衡的原理和分类
负载均衡架构和应用场景
分布式缓存
常见分布式缓存比较:memcached和redis
memca……继续阅读 »
陈睿
3年前 (2018-09-10) 10484浏览 36评论
37个赞
分布式架构设计包含:
分布式缓存
分布式消息中间件
分库分表、读写分离
单点登录等
想成为阿里160万年薪的P8架构师?你必须掌握如下6大技能体系!
阿里P8架构师谈:分布式架构系统拆分原则、需求、微服务拆分步骤
阿里P8架构师谈:高并发与多线程的关系、区别、高并发的技术
……继续阅读 »
陈睿
3年前 (2018-09-03) 4420浏览 0评论
3个赞
为什么需要应用拆分
我以淘宝技术架构演进为例,淘宝从一个大系统工程向分布式架构演变过程,你就能很清楚的知道为什么要需要进行应用拆分。
1 人员的角度。
维护一个代名工程Denali的百万级代码怪兽(虽然物理部署是分离的),从发布到上线,从人员的角度,百号人同时在一个工程上开发,一旦线上出问题,所有代码都需要回滚,从人员的角度,……继续阅读 »
陈睿
3年前 (2018-09-03) 7197浏览 0评论
4个赞
1,JAVA基础扎实,理解io、多线程、集合等基础框架,对JVM原理有一定的了解,熟悉常见类库,常见java api不仅会用更能知其所以然;
2,对Spring,MyBatis/Hibernate,Struts2,SpringMVC等开源框架熟悉并且了解到它的基本原理和机制;
3,熟悉HTML/HTML5, CSS/CSS3, JavaScript……继续阅读 »
陈睿
3年前 (2018-08-22) 2779浏览 0评论
1个赞
java初级工程师技能要求:
工作1-3年
要求:能独立完成分配的模块开发任务
技术要求:
1、掌握最基础的数据结构:数组、链表、堆、栈、队列、Hash表、二叉树等
2、算法:经典排序:插入排序、冒泡排序、快排(分划交换排序)、直接选择排序、堆排序、合并排序等。
3、语言要求:基本的开发基础语言……继续阅读 »
陈睿
3年前 (2018-08-21) 4532浏览 0评论
3个赞
阿里架构师必读书单
数据结构与算法:算法、算法导论等。
编程语言:java编程思想、java核心技术等
模式与设计:设计模式、代码重构、深入理解java虚拟机
数据库:mysql优化、oracle、redis实战、mongodb权威指南等。
架构设计:大型网站架构、中间件等……继续阅读 »
陈睿
3年前 (2018-08-20) 3170浏览 0评论
3个赞
优秀的架构师的核心能力模型包含:编程、性能调优、架构设计等能力等。
编程能力
对工程师而言,编程是最基础的能力,必备技能。其本质是一个翻译能力,将业务需求翻译成机器能懂的语言。
提升编程能力的书籍有很多。精通面向对象和设计模式是高效编程的基础。初级工程师应……继续阅读 »
陈睿
3年前 (2018-08-17) 2442浏览 0评论
1个赞
秒杀活动场景
淘宝双11秒杀场景,大量的用户短时间内涌入,瞬间流量巨大(高并发),比如:1000万人同一时间抢购100件商品。秒杀活动是一个特别考验后台数据库、缓存服务的业务,对于数据库、缓存的性能要求特别严格。
秒杀背后的技术挑战
1、突增的服务器及网络需求
通常情况下,双 11 的服务器使用是平时的 3-5 倍,网络……继续阅读 »
陈睿
3年前 (2018-08-16) 6641浏览 5评论
12个赞
阿里P7技能(一):数据结构和算法:
常用数据结构:链表、堆与栈、哈希表等,常用的排序等。
掌握:精通
阿里P7技能(二):java高级
java相关的高级特性:JVM、多线程高并发、网络等。
掌握:精通
阿里P7技能(三):Web核心
熟练掌握前段开发知识:H5……继续阅读 »
陈睿
3年前 (2018-08-13) 2224浏览 0评论
0个赞
架构设计更多的是实践经验总结,以下架构设计经验,我会陆续补充完整。
一:数据库拆分原则
阿里P8架构师谈:架构设计之数据库拆分六大原则
二:缓存选择原则
阿里P8架构师谈:分布式缓存的应用场景、选型比较、问题和挑战
三:消息中间件原则
阿里P8架构师谈……继续阅读 »
陈睿
3年前 (2018-08-11) 2829浏览 0评论
1个赞
程序设计和开发
数据结构和算法:常用数据结构,排序,检索等
面向对象编程、设计模式,掌握建模语言和建模工具:UML、MVC编程思想
高质量编码能力:重用性,低耦合,可扩展性,高性能,可维护性,安全性高
集成开发,版本控制,构建等工具:eclipse, svn, maven 等
脚本语言:Pe……继续阅读 »
陈睿
3年前 (2018-08-10) 5149浏览 2评论
8个赞
架构设计之数据库拆分原则
数据拆分前其实是要首先做准备工作的,然后才是开始数据拆分,我先讲拆分前需要做的事情:
第一步:采用分布式缓存redis、memcached等降低对数据库的读操作。
第二步:如果缓存使用过后,数据库访问量还是非常大,可以考虑数据库读、写分离原则。
第三步:当我们使用读写分离、缓存后,数据库的压力还是……继续阅读 »
陈睿
3年前 (2018-08-04) 2319浏览 0评论
1个赞
算法与数据结构:
数据结构(严蔚敏)
java数据结构和算法(美:拉佛)
算法导论
大话数据结构
剑指Offer
程序员面试金典
编程珠玑
编程之美
程序员笔试面试最优解
数据结构与算法经典问……继续阅读 »
陈睿
3年前 (2018-08-02) 2628浏览 0评论
2个赞
如何从程序员进阶到架构师?今天完整的把我积累的经验和技能分享给大家! 作者:陈睿|优知学院创始人
数据结构+算法=程序
数据是一切能输入到计算机的信息总和,结构是指数据之间的关系,数据结构就是将数据及其之间的关系有效地存储在计算机中。
算法是指对特定问题求解步骤的一种描述,说白了就是解决问题的方法策略。
总……继续阅读 »
陈睿
3年前 (2018-07-30) 2490浏览 0评论
5个赞
“
书籍推荐分为如下:
大型网站架构系列
分布式系统系列
BAT技术系列
架构设计系列
一:大型网站架构系列
第一本:《大型网站技术架构:核心原理与案例分析》
这本书主要从大型网站架构的特点,架构目标(高性能,高可……继续阅读 »
陈睿
3年前 (2018-07-17) 2287浏览 0评论
2个赞
每一个技术人都有着一个架构师的梦,希望自己有朝一日能登上技术之巅,以下结合我自己13年的从业经验,分别从架构师进阶之路、架构师能力模型(这里是亮点)、架构师技能树、架构师业务技能树谈起,完整的剖析一个好的架构师的能力模型,希望这篇文章能让大家清晰的了解架构师的能力和要求,以及找到自己的不足,努力去提升自己缺乏的技能(不仅仅只是技术)。
本文作者,陈睿|mikechen,优知学院创始人……继续阅读 »
陈睿
3年前 (2018-05-08) 2632浏览 0评论
4个赞
“
大型网站的架构设计,涉及到的面非常多,并不像大家想象的那样,就是一个网站这么简单,今天抛砖引玉,希望大家正确看待架构设计。
什么是架构设计的本质?
任何系统,自然情况下,都是从有序到无序,这是有科学依据的, 按照热力学第二定律,自然界的一切自发过程都有方向性,一个孤立系统会由有序变为无序,即它的熵会不断增加……继续阅读 »
陈睿
3年前 (2018-05-03) 2284浏览 0评论
2个赞