Java工程师成神之路

  • 时间:
  • 浏览:1

《从Paxos到Zookeeper》

《Java并发编程实战》

设计模式

commons.lang, commons.*... guava-libraries netty

cookie被禁用,怎么能不能实现session

我本人设计程序池、submit() 和 execute()

泛型中K T V E

mfs、fastdfs

happens-before、编译器指令重排和CPU指令重

在linux上部署solr,solrcloud,,新增、删除、查询索引

当有一个多Java程序响应太快了 了 时怎么能不能查找什么的问题、

时区、时令、Java中时间API

微服务

实现客户端缓存功能,支持返回504 实现可并发下载有一个多文件 使用程序池外理客户端请求 使用nio外理客户端请求 支持简单的rewrite规则 上述功能在实现的之后时需满足“开闭原则”

数据形态与算法知识

当有一个多Java程序频繁FullGC时怎么能不能外理什么的问题、

用位运算实现加、减、乘、除、取余

ArrayList和LinkedList和Vector的区别

数据一致性、服务治理、服务降级

内存可见性、重排序、顺序一致性、volatile、锁、final

类型擦除

《鸟哥的Linux私房菜》

SynchronizedList和Vector的区别

tomcat负载均衡、Nginx负载均衡

DNS

为哪几种说序列化并不安全

不同版本的JDK中HashMap的实现的区别以及原困分析

CAS、乐观锁与悲观锁、数据库相关锁机制、分布式锁、偏向锁、轻量级锁、重量级锁、monitor、锁优化、锁消除、锁粗化、自旋锁、可重入锁、阻塞锁、死锁

protobuf

守护程序和非守护程序的区别以及用法

JDK 6和JDK 7中substring的原理及区别、

2PC、3PC、CAP、BASE、 可靠消息最终一致性、最大努力通知、TCC

怎么能不能判断有无老出死锁、

程序运行监控、语义监控、机器资源监控、数据波动

Java中语法糖原理、解语法糖

h2

MD5,SHA1、DES、AES、RSA、DSA

二叉树、字典树、平衡树、排序树、B树、B+树、R树、多路树、红黑树

事务的隔离级别、事务能要能实现锁的功能

jps, jstack, jmap、jstat, jconsole, jinfo, jhat, javap, btrace、TProfiler

object等的含义、泛型各种用法

服务注册、服务发现,服务治理

《架构即未来》

Solr、Lucene、Nutch、Elasticsearch

操作系统知识

程序Dump、内存Dump、gc状态

HeapOutOfMemory、 Young OutOfMemory、MethodArea OutOfMemory、ConstantPool OutOfMemory、DirectMemory OutOfMemory、Stack OutOfMemory Stack OverFlow

TensorFlow、DeepLearning4J

缓存一致性、缓存命中率、缓存冗余

怎么能不能查看执行计划,怎么能不能根据执行计划进行SQL优化

数学基础、机器学习、人工神经网络、角度学习、应用场景。

序列化底层原理

synchronized和lock之间关系

枚举的用法、枚举与单例、Enum类

HashMap、HashTable、ConcurrentHashMap区别

《maven实战》

java.lang.util.regex.*

基本概念、常见用法

监控

怎么能不能查看垃圾回收日志、

各种排序算法和时间复杂性度 角度优先和广度优先搜索 全排列、贪心算法、KMP算法、hash算法、海量数据外理

《深入理解Java虚拟机》

《代码整洁之道》

负载均衡

内存分配策略、垃圾分类分类整理器(G1)、GC算法、GC参数、对象存活的判定

SQL注入、XML注入、CRLF注入

apache集合外理工具类的使用

在linux上部署storm,用zookeeper做协调,运行storm hello world,local和remote模式运行调试storm topology。

不使用synchronized怎么能不能实现有一个多程序安全的单例

《Head First设计模式》

XSS的防御

或多或少语言

响应式编程

怎么能不能判断有无所处内存泄露

Shiro

synchronized是怎么能不能实现的?

classLoader、类加载过程、双亲委派(破坏双亲委派)、模块化(jboss modules、osgi、jigsaw)

1、有一个多java文件从被加载到被卸载并有无生命过程,总相当于经历十个 阶段,JVM将类加载过程分为:

加载->链接(验证+准备+解析)->初始化(使用前的准备)->使用->卸载

HDFS、MapReduce

日志、分类整理

行锁、表锁、使用数据库锁实现乐观锁、

transient、instanceof、volatile、synchronized、final、static、const 原理及用法。

Jigsaw、Jshell、Reactive Streams

Integer的缓存机制

分析死锁、分析内存泄露

Spring Boot的starter原理,我本人实现有一个多starter

String.valueOf和Integer.toString的区别、

SOA、康威定律

应用服务器

Groovy、Python、Go、NodeJs、Swift、Rust

Java并发编程

使用单例、使用Future模式、使用程序池、选折 就绪、减少上下文切换、减少锁粒度、数据压缩、结果缓存

当有一个多Java应用所处OutOfMemory时该怎么能不能外理、

挖矿、共识机制、闪电网络、侧链、热点什么的问题、分叉

哪几种是序列化与反序列化、为哪几种序列化

泛型与继承

异常类型、正确外理异常、自定义异常

String对“+”的重载、

常用集合类的使用

大数据知识

哪几种是Java消息服务、JMS消息传送模型

数据一致性

Thread、Runnable、Callable、ReentrantLock、ReentrantReadWriteLock、Atomic*、Semaphore、CountDownLatch、、ConcurrentHashMap、Executors

CPU、内存、磁盘I/O、网络I/O等

《区块链原理、设计与应用》

人工智能

死锁、死锁怎么能不能排查、Java程序调度、程序安全和内存模型的关系

局部变量类型推断、G1的并行Full GC、ThreadLocal握手机制

文章摘自:

反射与工厂模式、 java.lang.reflect.*

权限管理

搜索引擎

java.lang.management.*javax.management.*

String、Integer、Long、Enum、BigDecimal、ThreadLocal、ClassLoader & URLClassLoader、ArrayList & LinkedList、 HashMap & LinkedHashMap & TreeMap & CouncurrentHashMap、HashSet & LinkedHashSet & TreeSet

oop-klass、对象头

redis、memcached

堆、栈、措施 区、直接内存、堆和栈区别

网络编程

《大型网站技术架构》

高并发

栈、队列、链表、数组、哈希表、

CDN

哈希算法、Merkle树、公钥密码算法、共识算法、Raft协议、Paxos 算法与 Raft 算法、拜占庭什么的问题与算法、消息认证码与数字签名

框架知识

即时编译器、编译优化

《深入分析Java Web技术内幕》

bio、nio和aio的区别、并有无IO的用法与原理、netty

三次握手与四次关闭、流量控制和拥塞控制、OSI七层模型、tcp粘包与拆包

《Effective Java》

IaaS、SaaS、PaaS、虚拟化技术、openstack、Serverlsess

工具

网络安全知识

DNS原理、DNS的设计

外理乱码什么的问题、常用编码措施

字符串的不可变性

数据库知识

memcached为哪几种能要能原困分析DDos攻击、哪几种是反射型DDoS

元注解、自定义注解、Java中常用注解使用、注解与反射的结合

单例、策略、工厂、适配器、责任链。

ActiveMQ

区块链

Java 8中stream相关用法

性能优化

线上什么的问题分析

replaceFirst、replaceAll、replace区别、

内存溢出、程序死锁、类加载冲突

序列化与单例模式

javac 、javap 、jad 、CRF

怎么能不能打造有一个多分布式数据库、哪几种之后时需分布式数据库、mycat、otter、HBase

编译原理知识

lambda表达式、Stream API、

junit、mock、mockito、内存数据库(h2)

mockito: https://waylau.com/mockito-quick-start/