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 ...
随机推荐
- 梅尔频谱(mel-spectrogram)提取,griffin_lim声码器【python代码分析】
在语音分析,合成,转换中,第一步往往是提取语音特征参数.利用机器学习方法进行上述语音任务,常用到梅尔频谱.本文介绍从音频文件提取梅尔频谱,和从梅尔频谱变成音频波形. 从音频波形提取Mel频谱: 对音频 ...
- Dealing with exceptions thrown in Application_Start()
https://blog.richardszalay.com/2007/03/08/dealing-with-exceptions-thrown-in-application_start/ One a ...
- php与js互相调用
php中调用js <?php echo '<script>var yearid=$("#yearId").val()</script>'; echo ...
- Hive SQL语法总结
Hive是一个数据仓库基础的应用工具,在Hadoop中用来处理结构化数据,它架构在Hadoop之上,通过SQL来对数据进行操作. Hive 查询操作过程严格遵守Hadoop MapReduce 的作业 ...
- Php 单元测试 phpunit && codecept
Php 单元测试 phpunit && codecept phpunit: Windows版本 整体上说,在 Windows 下安装 PHAR 和手工在 Windows 下安装 Com ...
- python多种推导式的实现
- FVWM使用指南
www.ctex.org/documents/shredder/fvwm_frame.html
- Codeforces 1132D(二分答案+堆)
题面 传送门 分析 二分答案,考虑如何判定 可以用贪心的方法,每次找最快没电的电脑,在没电前1单位时间给它充电 正确性显然 实现上可以维护一个堆,存储每个电脑电用完的时刻,每次从堆顶取出最小的一个给它 ...
- Java-技术专区-异步编程指南
通过本文你可以了解到下面这些知识点: Future 模式介绍以及核心思想 核心线程数.最大线程数的区别,队列容量代表什么: ThreadPoolTaskExecutor 饱和策略: SpringBoo ...
- 54.Counting Bits( 计算1的个数)
Level: Medium 题目描述: Given a non negative integer number num. For every numbers i in the range 0 ≤ ...