Java 面试常见知识点
分布式
一.大型网站系统的特点:
高并发,高流量,高可用
海量数据
用户分布广泛
网络环境复杂
环境安全恶劣
渐进式发展
二.大型网站架构演化发展历程
初始阶段的网站架构
应用服务和数据服务分离
使用缓存改善网络性能
使用应用服务器集群改善网站的并发处理能力
数据库读写分离
使用反向代理和CDN 加速网络
使用分布式文件系统和分布式数据库
使用NOSQL 和搜索引擎
业务拆分
分布式微服务
三.拆分VS集群
四.微服务 VS SOA
五.前后端分离与 RESFUL 规范
六.CAP 三进二 和Base 管理
中间件
一.缓存
为什么要使用缓存
优秀的缓存系统 Redis
Redis为什么这么快?
Redis的数据类型,以及每种数据类型的使用场景
Redis的过期策略以及内存淘汰机制
渐进式ReHash
渐进式ReHash的原因
渐进式ReHash的步骤
缓存穿透
缓存雪崩
二.消息队列
消息队列应用场景
异步处理
应用解耦
流量削峰
日志处理
消息通讯
消息中间件实例
电商系统
日志收集系统
JMS消息服务
消息模型
消息消费
防止消息丢失
同步的事务————停止等待
同步的事务————连续ARQ
异步的事务————回调机制
消息的幂等处理
消息的按序处理
三.搜索引擎
概述
特点(优势)
使用场景:
倒排索引
创建索引
一些要索引的原文档(Document)
将元文档传给分次组件(Tokenizer)
将得到的词元(Term)传给索引组件(Indexer)
搜索索引
用户输入查询语句
对查询语句进行词法分析,语法分析,及语言处理
搜索索引,得到符合语法树的文档
根据得到的文档和查询语句的相关性,对结果进行排序
Lucene 和 ElasticSerch
分词器
大数据和高并发
一.秒杀架构设计
二.InnoDB 存储引擎
三.MySQL扩展性瓶颈
四.为什么要使用NOSQL
五.传统RDBMS VS NOSQL
六.NOSQL数据库的类型
七.阿里巴巴中文站商品信息如何存放
商品的基本信息
商品的描述,详情,评价信息(多文字类)
商品的图片
商品的关键字
商品的波段性和热点高频信息
商品的交易,价格计算,积分累计
大型互联网应用(大数据,高并发,多样数据类型)的难点和解决方案
八.数据的水平拆分和垂直拆分
垂直拆分
水平拆分
拆分原则
案例分析
九.分布式事务
假如没有分布式事务
什么是分布式事务?
XA的两阶段提交(2PC)
XA的三阶段提交(3PC)
MQ事务
TCC事务