Java技术大纲

系统架构:


前端浏览器地址的一个 http 请求到后端整个流程

常用的设计模式,23种

哪些设计模式可以增加系统的可扩展性

如果AB两个系统互相依赖,如何解除依赖?

什么场景应该拆分系统,什么场景应该合并系统?

常用的设计模式 link

如何构建高可用系统?link

性能优化:使用单例、使用Future模式、使用线程池、选择就绪、减少上下文切换、减少锁粒度、数据压缩、结果缓存

Nginx负载均衡

分布式系列

如何设计一个高并发的分布式系统?你会引入哪些开源框架?

缓存

搭建Redis缓存高可用集群

高并发下如何正确优雅的使用缓存

设计缓存要注意什么

本地缓存用过哪些框架?Guava

分布式缓存:缓存一致性、缓存命中率、缓存冗余

分布式数据库

怎样打造一个分布式数据库?什么时候需要分布式数据库、mycat、otter、HBase

网关框架了解过哪些?能为后端服务带来哪些好处?

如何保证消息幂等 link

如何实现分布式Session

如何保证消息的一致性

CDN实现原理

微服务

zookeeper之服务注册与订阅

使用Docker部署微服务

微服务架构--分布式事务解决方案

微服务划分的粒度

微服务的高可用怎么保证的?

什么场景应该拆分系统,什么场景应该合并系统

锁相关

死锁定义;如何避免死锁 link

synchronized和 ReentrantLock 的区别?

java读写锁,读写锁设计主要解决什么问题?

乐观锁,悲观锁,使用场景?

设计一个分布式锁

常见的锁有哪些? link

不用synchronized和lock,实现线程安全的单例模式?link

框架

java

动态代理与Cglib实现的区别 link

看过哪些JDK源码

JAVA并发编程艺术

java8的新特性 link

lambda表达式、Stream API

HotSpot 即时编译器、编译优化 link

CPU缓存,L1,L2,L3和伪共享 link

Java 9,Reactive Streams link

JVM如何加载字节码文件

双亲委派,Bootstrap ClassLoader、Extension ClassLoader、ApplicationClassLoader

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

什么情况会出现young GC,什么情况会出现Full GC

怎样判断Full GC是否正常?link

内存泄露原因?如何排查?

OOM 出现的有哪些场景?

JVM 内存结构

熟悉哪些jvm 命令,jstack、jmap、jstat?

jvm调优经验

bio、nio和aio的区别、三种IO的用法与原理

线程有哪些状态? blocked 和 wait 有什么区别? link link

JDK 中有哪几个线程池?拒绝策略? linklink

如何保证线程安全问题?

JUC 常用的类 linklink

ThreadLocal 内部原理?

HashMap,为什么线程不安全link

HashMap 怎么解决碰撞问题?

Concurrenthashmap 是怎么做到线程安全的?

String、StringBuffer与StringBuilder的区别

try catch finally,try里面有return,finally还执行吗?

泛型中K T V E link

Thread 和 Runnable区别?

关键字 volatile、transient、final link

Object 的 equals方法重写了,hashCode 方法必须重写 link link

基础

集合

线程

IO

JVM

其它

spring

为什么要使用Spring,Spring的优缺点有哪些

Spring的IOC容器初始化流程

Spring Bean 的生命周期 link

Spring AOP实现原理

SpringMVC模式

Spring Boot 与 Spring 的区别link

Spring cloud了解过哪些

Spring 5 响应式编程 link

mysql

表级锁和行级锁对比link

事务特性,有哪几种事务隔离级别link

分布式事务,两阶段提交

当MySQL单表记录数过大时,数据库的CRUD性能会明显下降,一些常见的优化措施link

SQL 优化的常见方法有哪些

如何查看执行计划,如何根据执行计划进行SQL优化 link

数据库主备搭建

redis

Redis有哪些数据结构?

使用过Redis分布式锁么,代码怎么写?

假如Redis里面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,如果将它们全部找出来?

Redis如何做持久化的?

Pipeline有什么好处,为什么要用pipeline?

Redis的同步机制了解么?

为什么要用Redis,Redis有哪些优缺点?Redis如何实现扩容?

10个redis常见问题link

kafka

Kafka的整体架构

netty

Netty的一次请求过程

Netty核心精讲之Reactor线程模型

dubbo

底层原理

支持哪些负载算法?默认哪种?

怎么设置超时时间?

tomcat

Tomcat 调优

Servlet线程安全问题 link

HTTP 协议

OSI模型分为哪几层?

TCP

TCP 和 UDP 的区别?TCP 数据传输过程中怎么做到可靠的?

TCP 三次握手、四次挥手过程

TCP拥塞控制 link

http

Cookie和Session的区别

Http的状态码

HTTP 301 、302有啥区别

HTTP连接池实现原理

Http怎么处理长连接

OS系统

centos7 的内存分配方式和6有啥不同 link

linux

常用的linux命令 link

缓冲区溢出

分段和分页

虚拟内存与主存

Linux 库函数与系统调用的关系与区别 link

进程和线程的区别link

实战能力

有没有处理过线上问题?出现内存泄露,CPU利用率飙高,应用无响应时如何处理?

如果有几十亿的白名单,每天白天需要高并发查询,晚上需要更新一次,如何设计这个功能

双十一电商秒杀系统性能优化实战

电商网站,如何保证一件商品不被超卖

让您做一个电商平台,您如何设置一个在买家下订单后的”第60秒“发短信通知卖家发货,您需要考虑的是 像淘宝一样的大并发量的订单link

其它

一致性Hash算法

看过哪些开源框架的源码

消息中间件是如何实现的,技术难点有哪些

工作案例。怎么提高研发效率。

HttpClient 讲下里面的具体实现,(涉及了哪些东西)

那要你设计一个高性能的 Http ,你会怎么设计?

说出一个空间换时间的场景

怎么防止订单重复提交?

ORM框架用过哪些?

hibernate 和 IBatis 的区别?

抽象能力,乐高模式,怎么提高研发效率

什么情况用接口,什么情况用消息

加密与解密:MD5,SHA1、DES、AES、RSA、DSA

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,039评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,223评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,916评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,009评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,030评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,011评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,934评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,754评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,202评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,433评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,590评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,321评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,917评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,568评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,738评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,583评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,482评论 2 352

推荐阅读更多精彩内容

  • 包含的重点内容:JAVA基础JVM 知识开源框架知识操作系统多线程TCP 与 HTTP架构设计与分布式算法数据库知...
    消失er阅读 4,317评论 1 10
  • 在一个方法内部定义的变量都存储在栈中,当这个函数运行结束后,其对应的栈就会被回收,此时,在其方法体中定义的变量将不...
    Y了个J阅读 4,416评论 1 14
  • 1.java基本数据类型 java一共8个基本数据类型 byte 1字节(1byte = 8 bit)sh...
    陽_young阅读 2,122评论 3 20
  • 一 基础篇 1.1 Java基础 面向对象的特征抽象:将一类对象的共同特征总结出来构建类的过程。继承:对已有类的一...
    essential_note阅读 693评论 0 0
  • 常常感觉这世间就像个大刺猬,只要自己稍稍伸出妄心的触角,就会被扎疼。所以越来越离不开佛号,只有乖乖躲在佛光里,贴着...
    念佛的女人佛淑阅读 538评论 2 1