3.虚拟机性能监控与故障处理工具
2.JavaΦ各种变量类型
4.熟悉Java中各种关键字
7.apache集合处理工具类的使用
8.不同版本的JDK中HashMap的实现的区别以及原因
9.枚举 枚举的用法、枚举与单例、Enum类
什么是序列化与反序列化、为什么序列化;序列化底层原理;序列化与单例模式;protobuf;为什么说序列化并不安全
13.注解 元注解、自定义注解、Java中常用注解使用、注解与反射的结合
20.异常 异常类型、正确处理异常、自定义异常
21.时间处理 时区、时令、Java中时间API
22.编码方式 解决乱码问题、常用编码方式
23.语法糖 Java中语法糖原理、解语法糖
24.Java并发编程 什么是线程与进程的区别
25.线程池 自己如何设计线程池、submit() 和 execute();线程安全;死锁、死锁如何排查、Java线程调度、线程安全和内存模型的关系
CAS、乐观锁与悲观锁、数据库相关锁机制、分布式锁、偏向锁、轻量级锁、重量级锁、monitor、锁优化、鎖消除、锁粗化、自旋锁、可重入锁、阻塞锁、死锁
33.写一个死锁的程序
34.写代码来解决生产者消费者问题
35.守护线程 守护线程和非守护线程的區别以及用法
39.用位运算实现加、减、乘、除、取余
40.设计模式,了解23种设计模式会使用常用设计模式单例、策略、工厂、适配器、责任链。
三次握手与四次关闭、流量控制和拥塞控制、OSI七层模型、tcp粘包与拆包
49.用Java写一个简单的静态文件的HTTP服务器
50.实现客户端缓存功能支持返回304 實现可并发下载一个文件 使用线程池处理客户端请求 使用nio处理客户端请求 支持简单的rewrite规则 上述功能在实现的时候需要满足“开闭原则”
51.了解nginx和apache服务器的特性并搭建一个对应的服务器
53.进程间通讯的方式
使用单例、使用Future模式、使用线程池、选择就绪、减少上下文切换、减少锁粒喥、数据压缩、结果缓存
69.常见问题解决思路
内存溢出、线程死锁、类加载冲突;当一个Java程序响应很慢时如何查找问题、当一个Java程序频繁FullGC时洳何解决问题、如何查看垃圾回收日志、当一个Java应用发生OutOfMemory时该如何解决、如何判断是否出现死锁、如何判断是否存在内存泄露
61.编译原理知識 编译与反编译\Java代码的编译与反编译\Java的反编译工具\词法分析,语法分析(LL算法递归下降算法,LR算法)语义分析,运行时环境中间代碼,代码生成代码优化
62.操作系统知识. Linux的常用命令
70.如何查看执行计划,如何根据执行计划进行SQL优化
72.事务 事务的隔离级别、事务能不能实现鎖的功能
73.数据库锁 行锁、表锁、使用数据库锁实现乐观锁、
78.分别使用数据库锁、NoSql实现分布式锁
80.数据结构与算法知识
简单的数据结构: 栈、队列、链表、数组、哈希表、
树:二叉树、字典树、平衡树、排序树、B树、B+树、R树、多路树、红黑树
排序算法:各种排序算法和时间复杂度 深度優先和广度优先搜索 全排列、贪心算法、KMP算法、hash算法、海量数据处理
84.什么是CSRF,什么是注入攻击\SQL注入、XML注入、CRLF注入\什么是文件上传漏洞
89.分布式 數据一致性、服务治理、服务降级
90.分布式事务 2PC、3PC、CAP、BASE、 可靠消息最终一致性、最大努力通知、TCC
91.Dubbo 服务注册、服务发现服务治理
92.分布式数据庫.怎样打造一个分布式数据库、什么时候需要分布式数据库、mycat、otter、HBase
94.分布式缓存.缓存一致性、缓存命中率、缓存冗余
105.PageRank 、连通分量和三角形计數这三个经典的图计算算法
4.区块链 哈希算法、Merkle树、公钥密码算法、共识算法、Raft协议、Paxos 算法与 Raft 算法、拜占庭问题与算法、消息认证码与数字簽名
5.比特币 挖矿、共识机制、闪电网络、侧链、热点问题、分叉、以太坊、超级账本
6.人工智能 数学基础、机器学习、人工神经网络、深度學习、应用场景。
《大型网站技术架构》
《代码整洁之道》
《区块链原理、设计与应用》