[关闭]
@liufor 2016-10-12T03:08:34.000000Z 字数 1539 阅读 623

2016年技能图谱

Java 面试 技能 目标


为了今年底回成都能找到好的工作(支付宝、京东)准备的技术栈。

技术栈

语言

工作语言

Java,  JavaScript(Browser), Python, Shell,  CSharp

兴趣语言

Scala, Groovy,Go

重构

开源组件

后端

SpringFramework,SpringMVC,SpringBoot,SpringCloud 以及其他家族成员。
阅读分析过 SpringFramework 源代码。
阅读分析过 Mybatis 源代码。

前端

jQuery
AngularJS 1.x
React, Redux
Vue.js

数据

MySQL
SQL Server
PostgreSQL

缓存

Redis
分布式Session
阅读分析过源代码

搜索

Slor
Elasticsearch

SOA、PRC、REST

基于TCP:Dubbo
基于HTTP:
服务的路由和负载均衡

消息队列

RabbitMQ
Kafka
JMS和AMQP协议

构建工具

后端:Maven, Grade
前端:webpack,Gulp
Jenkins

开发工具

IntelliJ IDEA, Git, Mac(Linux), Docker, JIRA, Vim

运维

常用 Linux 操作
ELK 日志中心(Redis)
Docker
Slat 
Nginx 负载均衡和反向代理

系统调优

Linux 性能检测
JVM 监控、调优

App Server

Tomcat 架构和源码
Jetty

Java后台开发最佳实践

代码风格检查(CheckStyle)
代码质量检查(FindBugs)

Java 语言基础

集合框架

集合继承

并发编程

JUC:CAS,AQS,线程池,Executor等
JMM内存模型
其他并发模型:Actor,Channel, Lambda

IO

BIO
NIO1/NIO2
AIO
Netty

ClassLoader

Spring
Tomcat
Jetty

JavaAgent

用Java编写
利用JavaAgent能在 ClassLoad 时修改字节码的能力,无侵入的进行请求跟踪,性能分析等(Zipkin)。

AOP

JDK动态代理(InvocationHandler)
CGLIB 实现动态代理
Javassist 实现动态代理
ASM 实现AOP http://asm.ow2.org/
Spring AOP
AspectJ

IoC

泛型

泛型擦除

异常

反射

EL 表达式语言

javax.el 包,Tomcat有使用
SpringEL
JSP EL
JSF EL
JBoss EL
OGNL

JVM

GC

三种典型GC算法
Hotspot 为什么要分代?
yong 和 Old 代
GC的监控(启动时配置,启动后获取,UI展现)

JVM调优

其他框架

Vert.x
Disruptor(OS的缓存层次)

WebDAV

Python爬虫PySpider利用它在WebUI上编辑脚本。
Tomcat使用了一个 WebdavServlet

FRP

Stream of Event
RxJS
Rx.NET
RxJava

服务端架构模式(Working with TCP Sockets)

顺序处理模型(Serial):
Process per connection(PPC):老版的Apache就是这种模型,inetd 也是
Thread per connection(TPC):
Preforking:    http://blog.jobbole.com/91920/
Thread Pool:
Evented(Reactor):
Hybirds:混合就是混合使用上面的任意多种pattern,比如 Nginx 在核心部分使用了 Preforking 模式,在启动时预先 fork 出多个worker进程,这样既省去了运行时的开销,又能充分利用多核处理器的资源。每个fork出的进程内使用Evented模式,Evented模式的好处是不使用线程,省下了内核管理线程和上下文切换的开销。
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注