@liufor
2016-10-12T03:08:34.000000Z
字数 1539
阅读 623
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
基于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 监控、调优
Tomcat 架构和源码
Jetty
代码风格检查(CheckStyle)
代码质量检查(FindBugs)
集合继承
JUC:CAS,AQS,线程池,Executor等
JMM内存模型
其他并发模型:Actor,Channel, Lambda
BIO
NIO1/NIO2
AIO
Netty
Spring
Tomcat
Jetty
用Java编写
利用JavaAgent能在 ClassLoad 时修改字节码的能力,无侵入的进行请求跟踪,性能分析等(Zipkin)。
JDK动态代理(InvocationHandler)
CGLIB 实现动态代理
Javassist 实现动态代理
ASM 实现AOP http://asm.ow2.org/
Spring AOP
AspectJ
泛型擦除
javax.el 包,Tomcat有使用
SpringEL
JSP EL
JSF EL
JBoss EL
OGNL
三种典型GC算法
Hotspot 为什么要分代?
yong 和 Old 代
GC的监控(启动时配置,启动后获取,UI展现)
Vert.x
Disruptor(OS的缓存层次)
Python爬虫PySpider利用它在WebUI上编辑脚本。
Tomcat使用了一个 WebdavServlet
Stream of Event
RxJS
Rx.NET
RxJava
顺序处理模型(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模式的好处是不使用线程,省下了内核管理线程和上下文切换的开销。