Java Software Engineer Skill Map
# 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的更多相关文章
- 2018阿里-研发工程师JAVA Software Engineer, Java
岗位描述Job Description如果你想了解JAVA开发在阿里巴巴互联网生态系统中无与伦比的应用广度与深度: 如果你对基础技术感兴趣,你可以参与基础软件的设计.开发和维护,如分布式文件系统.缓存 ...
- software engineer's resume(帮助你写程序员简历)
关键词 参考 简历模板 参考 下面开始是正文(关键词原文) 介绍 本项目由海外兔 (https://osjobs.net) 维护,海外兔团队由一线互联网面试官组成,提供海内外公司一对一入职套餐以及算法 ...
- Software Engineer
1, 软件工程师 软件工程师英文是Software Engineer,是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格.软件工程师是从事软件开发相关工作的人员的统称. 它是一个广 ...
- 微软职位内部推荐-Software Engineer II-Web app
微软近期Open的职位: The Office App Services team is working on the powerful Office Web Apps including Word ...
- 微软职位内部推荐-Senior Software Engineer -Web
微软近期Open的职位: Location: Beijing, China The Office App Services team is working on the powerful Office ...
- Software Engineer Title Ladder
http://changelog.ca/log/2013/08/09/software_engineer_title_ladder Within the software engineering pr ...
- Sr Software Engineer - Big Data Team
Sr Software Engineer - Big Data Team About UberWe’re changing the way people think about transport ...
- Security Software Engineer
Security Software Engineer Are you excited to be part of the VR revolution and work on cutting edge ...
- 微软职位内部推荐-Software Engineer II-Senior Software Engineer for Satori
微软近期Open的职位: Title: Software Engineer II-Senior Software Engineer for Satori, STC Location: Beijing ...
随机推荐
- (转)Windows下zookeeper安装及配置
转:https://blog.csdn.net/qq_36332827/article/details/79700239 zookeeper有单机.伪集群.集群三种部署方式,可根据自己对可靠性的需求选 ...
- ACM中java的使用 (转)
ACM中java的使用 这里指的java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目. 1. 输入: 格式为:Scanner ...
- 转-调用HTMLTestRunner生成的报告中不能显示用例中print函数的输出
官方原生的HTMLTestRunner.py支持python2.0版本,python3.0版本的使用需要做一些修改: Python3调用HTMLTestRunner执行用例生成测试报告中,不能正常显示 ...
- linux文本查看与搜索
1. cat-->全文本显示 cat file #全文本显示在终端 cat -n file #显示全文本,并显示行号 cat file1 file2 >file3 #将file1 file ...
- mybatis 学习视频总结记录
学习mybaits简单增删改查例子记录 此整理是学习视频后的视频内容整理,后半段还没有整理 网易云课堂 SSM高级整合视频 地址 : http://study.163.com/course/cours ...
- cabal替代脚本
由于网络原因,直接使用cabal update不成功,只能自己写脚本直接从网上拖包下来,自己安装. 但是这样做的缺点是需要手动处理dependency,当然,也可以把脚本写的复杂些,自动来处理depe ...
- 正则findall的使用
import re title = 'hello, 你好,world' print(title) title = u'hello, 你好,world' print(title) #汉字匹配 +的意思是 ...
- HTML图片
HTML图片 html图片 <img>标签可以在网页上插入一张图片,它是独立使用的标签,通过“src”属性定义图片的地址,通过“alt”属性定义图片加载失败时显示的文字,以及对搜索引擎和盲 ...
- spring注解开发:Configuration&Bean
1.使用xml创建bean的方式 1.首先新建一个maven工程,添加如下依赖 <dependency> <groupId>org.springframework</gr ...
- 注册服务到服务中心(Consul)
注册服务到服务中心(Consul) 添加POM文件中的依赖 在POM文件添加如下依赖: <dependency> <groupId>org.springframework.bo ...