# Java Software Engineer Skill Map
## Basic
### Core Java
- Java The Complete Reference Ninth Edition.pdf
* Core
+ Basic Language Characteristics
- Data Types
- Syntax
- Control Flow
+ Object-Oriented
- Class
- Object
- Method
- Interface
- Inheritance
+ Miscellaneous
- Generics
- Autoboxing
- Enumerations
- Annotations
+ Parallelism
- Multithreaded Programming
+ Functional Programming
- Lambda Expression
- Stream API
* Commonly-used Libraries
+ String Handling
- java.lang.String
- StringBuffer and StringBuilder
- Regular Expression
+ java.lang.*
+ java.util.*
- Collections Framework
- Concurrency Framework
- i18n or g11n
* Currency
* Data & Time
* Language Locale
- Miscellaneous Utilities
+ java.io.*
+ java.nio.*
+ java.net.*
+ java.rmi.*
+ java.sql.*
+ javax.sql.*

### Algorithms & Data Structure
- Algorithms *
* https://www.coursera.org/learn/java-data-structures-algorithms-2
* https://www.coursera.org/learn/introduction-to-algorithms
- Data Structures *
* https://en.wikipedia.org/wiki/List_of_data_structures
* http://www.tutorialspoint.com/data_structures_algorithms/
- Object Oriented Programming *
* head_first_design_patterns.pdf
* Effective Java 2nd Edition.pdf
- Computer Architecture
* Memory Hierarchy
* Parallelism
* Multiprocessor Systems
- Operating System
* Memory Management
* MemProcess Management
* MemFile System *
- Computer Network
* OSI Model
* TCP/IP
* HTTP / HTTPS
* HTTP 1.X / HTTP 2

### Essentials
- Linux/Unix
* Shell commands (bash) (http://linuxcommand.org/index.php)
+ Text Processing
- AWK / SED
+ File Operation
- cd/ls/find/ (Pipe and I/O Redirection)
* VIM / Emacs ( Either of them)
* Shell Script(bash)
- Java Commonly-used 3rd-party Libraries
* Logging
+ log4j
+ slf4j
+ logback
* Unit Test
+ Junit
+ Mockito
+ TestNG
* Code Coverage
+ jacoco
+ Clover
+ EMMA
* Apache Commons
+ commons-io
+ commons-lang
+ commons-math
+ commons-codec
+ commons-collections
+ commons-beanutils
+ commons-logging
+ ...
* Apache HttpComponents
* Google Guava
- Software Engineering
* Project Organization
+ Maven
+ Gradle
+ Ant + Ivy (Optional)
* Versioning
+ git
+ svn
* UML

### Front-end (Web)
- Web Development (http://www.w3schools.com)
* HTML
+ HTML4
+ xhtml
+ HTML5
* css
+ css2
+ CSS3
* Data Representation
+ XML
+ JSON
+ JSONP
* Javascript
+ ECMAScript 6
+ Basics (https://developer.mozilla.org/en-US/docs/Web/JavaScript)
+ Ajax
+ AngularJS (plus)
+ JQuery (plus)
* TypeScript
* Responsive Web Page development (plus)

### Back-end Development(Server side)
- JavaEE
* JSP *
* JSTL
* Java Servlet *
* JavaServer Faces *
* JPA *
* JTA *
* JAX-RS *
* Managed Beans / CDI 1.1/ DI /IOC
* Bean Validation
* JAX-WS
* JavaMail
* JACC
* JASPIC
* Java WebSocket
* Java JSON Processing
* Concurrency Utilities for JavaEE
* Batch processing framework
- Java Containers
* Tomcat / TomEE
* GlassFish
* Jetty
- Java mid-ware
* Spring
+ Spring-Framework (Dependency Injection & AOP)
+ Spring-Web
+ Spring-Data
+ Spring-security
+ Spring-boot (Micro-service Architecture)
* Struts(MVC)
* SpringMVC
* Hibernate/JPA (Data Persistency)
* MyBatis
- Java Performance Tuning
* java performance the definitive guide.pdf
- Database
* MySQL
* SqlServer
* Oracle
* Nosql
+ Memcache
+ Redis
+ MongoDB
+ Neo4j
- Serialization
* Google protobuf
* Apache Avro
- Java RPC
* Apache Thrift
* Motan
- MessageQueue
* AMQP - RabbitMQ
* Apache ActiveMQ
* Apache Kafka
- Messaging
* XMPP
- Searching/Indexing
* Apache Lucene
* Apache Solr
* Elasticsearch
* CoreNLP
- Big Data(Optional)
* Hadoop
+ Yarn (MapReduce)
+ HDFS
+ HBase
+ Hive
+ Mahout
* Spark
+ Spark-Core
+ Spark-SQL
+ Spark-machine learning
+ Spark Streaming
* Apache Storm
- Cloud
* Scalable Architecture
+ VM
- OpenStack
+ Container
- Docker
* Hands-on
+ Amazon AWS
- EC2
- S3
- DynamoDB
- JVM-based Programming Language
* Scala
* Groovy
* Clojure
* Kotlin
* http://www.oracle.com/technetwork/articles/java/architect-languages-2266279.html

### IDE
- IntelliJ IDEA
- NetBeans
- Eclipse

### Typical Java Applications
- Online Chatting (Web/Desktop System)
- Library Management System (Web System)
- Ticket Booking System(RESTful Web Service)
- HTTP File Downloader (Console / Desktop)
- P2P File Sharing (Console / Desktop)
- Blogging System (Web / REST)
- RDBMS UI Toolkit (Web /Desktop)

### Desktop Development
- awt
- Applet
- swing
- Netbeans Platform
- JavaFX
- swt

### Mobile Development
- Android
- JavaME

Java Software Engineer Skill Map的更多相关文章

  1. 2018阿里-研发工程师JAVA Software Engineer, Java

    岗位描述Job Description如果你想了解JAVA开发在阿里巴巴互联网生态系统中无与伦比的应用广度与深度: 如果你对基础技术感兴趣,你可以参与基础软件的设计.开发和维护,如分布式文件系统.缓存 ...

  2. software engineer's resume(帮助你写程序员简历)

    关键词 参考 简历模板 参考 下面开始是正文(关键词原文) 介绍 本项目由海外兔 (https://osjobs.net) 维护,海外兔团队由一线互联网面试官组成,提供海内外公司一对一入职套餐以及算法 ...

  3. Software Engineer

    1, 软件工程师 软件工程师英文是Software Engineer,是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格.软件工程师是从事软件开发相关工作的人员的统称. 它是一个广 ...

  4. 微软职位内部推荐-Software Engineer II-Web app

    微软近期Open的职位: The Office App Services team is working on the powerful Office Web Apps including Word ...

  5. 微软职位内部推荐-Senior Software Engineer -Web

    微软近期Open的职位: Location: Beijing, China The Office App Services team is working on the powerful Office ...

  6. Software Engineer Title Ladder

    http://changelog.ca/log/2013/08/09/software_engineer_title_ladder Within the software engineering pr ...

  7. Sr Software Engineer - Big Data Team

    Sr Software Engineer - Big Data Team   About UberWe’re changing the way people think about transport ...

  8. Security Software Engineer

    Security Software Engineer Are you excited to be part of the VR revolution and work on cutting edge ...

  9. 微软职位内部推荐-Software Engineer II-Senior Software Engineer for Satori

    微软近期Open的职位: Title: Software Engineer II-Senior Software Engineer for Satori, STC Location: Beijing ...

随机推荐

  1. C#-Newtonsoft.Json遍历并修改JSON

    遍历 JObject:https://www.newtonsoft.com/json/help/html/JObjectProperties.htm 遍历 JArray: string json = ...

  2. 同步架构OR异步架构

    把智能系统比喻成KFC营业厅,处理器是窗口和窗口后面的服务员(把一个窗口当作一个核心),指令集是后面排队的人,窗口是数据吞吐量.当中午就餐人多的时候,一个窗口肯定忙不过来,这时候可以增加窗口,有两种方 ...

  3. Linux操作系统(五)_部署Zentao

    一.部署Zentao 1.检查服务器信息 uname -a 2.下载相应的部署包(一键安装包) http://dl.cnezsoft.com/zentao/9.8.1/ZenTaoPMS.9.8.1. ...

  4. ASP.NET MVC4获取当前系统时间

    <p>当前时间是:@ViewBag.CurrentDate.ToLongDateString()</p>

  5. BCrypt密码加密

    快速入门 (1)我们从官网下载源码 BCrypt 官网 http://www.mindrot.org/projects/jBCrypt/ (2)新建工程,将源码类BCrypt拷贝到工程 (3)新建测试 ...

  6. matplotlib系列——饼图

    import matplotlib.pyplot as plt import numpy as np import matplotlib import sys 1.主体函数 #饼图 def die(l ...

  7. MVC使用Area:CS0234: 命名空间“System.Web”中不存在类型或命名空间名称“Optimization”(是否缺少程序集引用?)

    一,如图: 解决方法是:将区域生成的的文件夹下的web.config中的using System.Web.Optimization删掉 如下,Area文件目录找到Web.config Web.conf ...

  8. 创建Uboot 环境变量 bin 文件

    As we know, the bootloader stores its configuration into an area of the flash called the environment ...

  9. PHP- 搜索插入位置

    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1,3,5,6], 5输出 ...

  10. 修改Docker中容器的时间和宿主主机时间一致

    修改Docker容器的时间和宿主时间一致 在查看容器的日志的,发现时间有和宿主主机时间相差有8个小时,而且宿主主机使用的是CST时间,容器容器使用的是UTC时间 主机时间 DOCKER容器的时间 世界 ...