0: 数据结构算法

  数组、链表、堆、栈、队列、Hash表、二叉树等;

  算法思想:递推、递归、穷举、贪心、分治、动态规划、迭代、分枝界限;

  排序查找

  B+/B-数、红黑树、图等;

  图的深度优先搜索、图的广度优先搜索、拓扑排序、Dijkstra算法(单源最短路径)、霍夫曼编码、辗转相除法、最小生成树等

1: JAVA基础:

  理解i/o、socket、多线程、集合等基础框架(Collection以及各种List、Set、Queue、Map的实现以及继承关系,实现原理CollectionsArrays);

  要熟练使用各种数据结构和算法,数组、哈希、链表、排序树等等;

熟悉jvm运行机制及内存管理,Jvm虚拟机原理、调优,懂得jvm能写出性能更好的代码;JVM内存模型、类加载机制以及性能优化;

有多线程开发项目经验(线程池,线程安全,线程锁),对Java中concurrent包下的线程池、队列、锁有基本的了解和使用经验;

网络和并发编程有丰富的经验;

池技术也是要掌握的,对象池、连接池、线程池都要会;

Java反射技术,写框架必备的技术;

Java各种集合对象的实现原理,了解这些可以让你在解决问题时选择合适的数据结构,高效地解决问题,写出代码;

2: 框架:

熟悉SpringMvc, Spring Boot, Spring Cloud ,Spring MVC ,mybatis,hibernate框架,并知道原理;

3:Linux

  Linux系统以及常见操作,shell等

4: 中间件:

熟悉分布式、缓存、消息、搜索等机制,有分布式系统、集群架构设计;

  熟悉常见的中间件、分布式解决方案及其原理:分布式缓存、SOA、消息中间件,负载均衡、连接池等;

还有队列中间件也要会操作,如消息推送,可以先把消息写入数据库,推送放队列服务器上,由推送服务器去队列获取处理
        ,这样就可以将消息放数据库和队列里后直接给用户反馈,推送过程则由推送服务器和队列服务器完成,好处异步处理、缓解服务器压力,解藕系统。

5: web相关:

  比如tcp协议,创建连接三次握手和断开连接四次握手的整个过程,不了解就没法对高并发网络应用做优化,
  http协议,session和cookie的生命周期与关联;熟悉系统集群、负载均衡、反向代理、动静分离,网站静态化;
       懂得分布式存储系统nfs,fastdfs,tfs,Hadoop了解他们的优缺点,适用场景,以及分布式缓存技术memcached,redis,提高系统性能必备。

工具nginx必备技能超级好用,高性能,基本不会挂掉的服务器,功能多多,解决各种问题;

熟悉大并发量、高性能优化、大数据等处理技术;

熟悉Apache、Ngnix、Tomcat等主流Web服务器的基本配置和进程监控,熟悉集群及负载均衡技术,熟悉主流应用服务器的架构体系;
        熟悉Hadoop、Spark等分布式计算框架,对开源机器学习,推荐系统有了解者优先;

熟悉apache、nginx、tomcat、redis、MQ 等服务器的配置和调优

了解TCP/IP、HTTP等协议

熟悉分布式系统的设计和应用,熟悉缓存、消息、负载均衡等机制和实现;

熟练使用Tomcat、Jetty、Nginx等应用服务器;
         熟悉常用的互联网技术,包括但不限于MySQL、NoSQL、RPC、MQ、缓存技术、微服务架构等;

6: 数据库:

Mysql必备,最基础的数据工具,主要是免费且好用,对它基本的参数优化,慢查询日志分析,主从复制的配置,至少要成为半个mysql dba;

   熟练掌握常见SQL、NoSQL数据库原理、数据库设计、查询编写和优化;

熟悉数据库原理以及常用性能优化技术;

有在大数据、集群、复制和相关的数据访问设计经验;
         在DB、系统和应用上有性能优化经验;

7: 前端:

成为java架构师的技能的更多相关文章

  1. IBM Java架构师的技能

    一天,群里飘过一个IBM招聘信息.我看过之后,也只是如此而已. 大家好!我是XXX,IBM招聘java架构师,如今还有38个名额 学历大专以上即可,英语能面试交流的.项目有非常多到时候依据您面试会详谈 ...

  2. Java架构师必备技能:docker使用大全

    前言   java工程师成长为架构师是一个艰难且耗费心力的过程,不仅仅需要熟悉java体系内相关的技术,同时要掌握许多运维相关的操作技能,随着k8s逐渐成为微服务持续集成开发难以越过的基础设施之后,d ...

  3. Java架构师必会的技能

    Java架构师必会的技能 我把它分为了五大专题 工程化专题 工程化专题 git git安装使用 git日常使用:fetch/pull/push/revert/rebase git分支管理git flo ...

  4. 成为一个高级java架构师所需要具备那些技能呢?

    一.什么是架构师 所谓架构师,思考的是全局的东西,是如何组织你的系统,以达到业务要求,性能要求,具备可扩展性(scalability),可拓展性(extendability),前后兼容性等.可能涉及到 ...

  5. Java架构师学习路线

    Java架构师,首先要是一个高级java攻城狮,熟练使用各种框架,并知道它们实现的原理.jvm虚拟机原理.调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,连接池,线程池--   Java ...

  6. 阿里巴巴十年Java架构师分享,会了这个知识点的人都去BAT了

    1.源码分析专题 详细介绍源码中所用到的经典设计思想,看看大牛是如何写代码的,提升技术审美.提高核心竞争力. 帮助大家寻找分析源码的切入点,在思想上来一次巨大的升华.知其然,并知其所以然.把知识变成自 ...

  7. 一位资深Java架构师的晋级心得

    架构师是什么? 是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物.一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清 ...

  8. 【转载】java架构师进阶之路

    Java架构师,应该算是一些Java程序员们的一个职业目标了吧.很多码农码了五六年的代码也没能成为架构师.那成为Java架构师要掌握哪些技术呢,总体来说呢,有两方面,一个是基础技术,另一个就是组织能力 ...

  9. [转]阿里巴巴十年Java架构师分享,会了这个知识点的人都去BAT了

    1.源码分析专题 详细介绍源码中所用到的经典设计思想,看看大牛是如何写代码的,提升技术审美.提高核心竞争力. 帮助大家寻找分析源码的切入点,在思想上来一次巨大的升华.知其然,并知其所以然.把知识变成自 ...

随机推荐

  1. 系统空闲时间 解决 GetLastInputInfo 负数问题

    using System;using System.Collections.Generic;using System.Linq;using System.Runtime.InteropServices ...

  2. pip 安装包 不行 自己下载whl 包自己安装

    https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted

  3. bzoj 3420: Poi2013 Triumphal arch 树形dp+二分

    给一颗树,$1$ 号节点已经被染黑,其余是白的,两个人轮流操作,一开始 $B$ 在 $1$ 号节点,$A$ 选择 $k$ 个点染黑,然后 $B$ 走一步,如果 $B$ 能走到 $A$ 没染的节点则 $ ...

  4. Cogs 2221. [SDOI2016 Round1] 数字配对(二分图)

    [SDOI2016 Round1] 数字配对 ★★★ 输入文件:menci_pair.in 输出文件:menci_pair.out 简单对比 时间限制:1 s 内存限制:128 MB [题目描述] 有 ...

  5. spring boot + mybaits 处理枚举类 enum

    枚举: //实现层调用 orderMapper.getOrder(OrderStatus.DISCOUNT); sql打印: 实际sql: select * from order where orde ...

  6. CF1174C Ehab and a Special Coloring Problem(数论)

    做法 与\(x\)互质的数填不同的数,把有向关系表示出来,发现边数是不能承受的 反过来想,成倍数关系填相同的数,把这些数想象成一条链,而这条链开始的数一定是质数,\(\sum\limits_{prim ...

  7. C++标准库分析总结(一)

    之前学习过标准库,最近身边有人问到相关话题,故在此做一个总结 1 标准库介绍 C++标准库:C++ Standard Library C++标准模板库:Standard Template Librar ...

  8. M有SQL删除数据库提示Error dropping database (can't rmdir './db_test', errno: 39)

    1.执行ps aux | grep mysql,查看mysql的data目录,比如结果是--datadir=/var/lib/mysql.2.进入data目录,删除以该数据库为名字的文件夹.cd /v ...

  9. legend3---19、要更多的从服务器端控制元素的显示和隐藏,而不要是页面端

    legend3---19.要更多的从服务器端控制元素的显示和隐藏,而不要是页面端 一.总结 一句话总结: 这样可以控制很多页面端的非法操作 1.html标签中data方式的数据,修改之后在标签上只显示 ...

  10. Mysql -- BLOB, TEXT, GEOMETRY or JSON column 'result' can't have a default value

    执行上面的代码, 即可解决, 不过mysql重启之后还会有问题. 根本解决: 将mysql的配置文件中的sql_mode项 注释掉.