功能场景
【中等】如何设计一个排行榜功能?⭐⭐⭐
🎯 目标等级:L2 | ⏱ 建议用时:15 min | 🏷 标签:功能设计 / 缓存
💎 关键结论
首选 Redis zset(有序集合):以用户为 member、排行指标为 score,天然有序。ZINCRBY 原子加分,ZREVRANGE 取 Top N,ZREVRANK 查个人名次,O(logN) 复杂度,实时且简单。
🎯 目标等级:L2 | ⏱ 建议用时:15 min | 🏷 标签:功能设计 / 缓存
首选 Redis zset(有序集合):以用户为 member、排行指标为 score,天然有序。ZINCRBY 原子加分,ZREVRANGE 取 Top N,ZREVRANK 查个人名次,O(logN) 复杂度,实时且简单。
🎯 目标等级:L2 | ⏱ 建议用时:15 min | 🏷 标签:架构设计 / 微服务拆分
不建议拆。1 万 QPS 不是微服务拆分的理由——拆分的驱动力是业务复杂度与团队协作,不是高并发。单体用缓存、异步、水平扩容三台机器即可扛住 1 万 QPS;只有团队、业务、资源等信号持续恶化(命中 3 个以上)才启动拆分,且拆错的代价远大于晚拆。
🎯 目标等级:L2 | ⏱ 建议用时:12 min | 🏷 标签:分布式设计 / 网关
网关是系统的统一流量入口,承担路由转发、认证鉴权、限流熔断、协议转换、灰度发布、可观测性六大职责。选型上主流是异步非阻塞模型(Spring Cloud Gateway/自研 Netty),实践中常见两层网关:OpenResty 做流量入口 + 自研网关做业务网关。网关自身 RT 控制在 10ms 内,热数据放本地缓存,扩展用插件化 Filter 链。
【设计面试】专题精选系统设计各方向的经典面试题,按知识粒度从微观到宏观覆盖五大板块:面向对象设计与重构 / 组件与框架设计 / 系统架构设计 / 场景与算法设计 / 架构治理与工程实践。题目源自真实面试场景,高星题配备拓展追问与生产场景题,侧重考察架构思维、方案权衡与实战应用能力,适合系统性备战资深岗位设计类面试。
题库统计:共收录 121 道面试题,覆盖 DevOps / Docker / Kubernetes / Nginx 四大板块。其中简单题 23 道(19.0%),中等题 89 道(73.6%),困难题 9 道(7.4%)。整体以中等难度为主,困难题集中在 CI/CD 流水线设计、容器安全与 Nginx 调优,适合中高级岗位深度考察。
题库统计:共收录 291 道面试题,覆盖 Java 基础 / 容器 / 并发 / JVM 四大板块。其中简单题 83 道(28.5%),中等题 161 道(55.3%),困难题 47 道(16.2%)。整体难度呈正态分布,中等题占比过半,适合初中级工程师系统备战;困难题集中在并发和 JVM 模块,适合高级岗位深度考察。
题库统计:共收录 153 道面试题,覆盖 JavaWeb / Spring / MyBatis / Netty 四大板块。其中简单题 53 道(34.6%),中等题 89 道(58.2%),困难题 11 道(7.2%)。整体以中等难度为主,简单题集中在 Spring 和 JavaWeb 基础题,困难题集中在 Spring 核心原理与 Netty 模块,适合中高级岗位深度考察。
题库统计:共收录 77 道面试题,覆盖 Agent / Prompt 两大板块。其中简单题 15 道(19.5%),中等题 49 道(63.6%),困难题 13 道(16.9%)。整体以中等难度为主,困难题集中在 RAG 评估、Agent 规划与提示词安全攻防,适合中高级岗位深度考察。
💧 dunwu.github.io 是个人的技术文档归档仓库。
- 🔁 项目同步维护:Github
- 📖 电子书阅读:Github Pages
【Java 面试】专题精选 Java 核心技术各方向的经典面试题,覆盖基础语法、容器框架、并发编程、JVM 虚拟机四大板块。题目源自真实面试场景,侧重考察原理理解与实战应用能力,适合系统性备战 Java 技术面试。
【Java 基础】专题涵盖语言核心语法、类型系统、面向对象三大范式、控制流与异常体系,以及泛型、反射、注解等运行时机制。这些是 Java 开发的基石,深入理解有助于编写健壮、可维护的代码,也是面试高频考察点。
强类型、访问修饰符、final、操作符、序列化包装类、装箱拆箱、缓存机制、BigDecimal、精度丢失封装、继承、多态、接口、抽象类值传递、重载、覆写、static、可变参数引用类型、多维数组、Arrays、长度固定、下标enum、EnumSet、EnumMap、单例模式、状态机if、switch、while、for、breakThrowable、RuntimeException、try-catch-finally、Checked Exception、异常链类型擦除、通配符、PECS、泛型类、类型边界Class、invoke、动态代理、CGLIB、InvocationHandler元注解、@Retention、@Target、自定义注解、反射解析不可变、字符串常量池、intern、StringBuilder、StringBufferPattern、Matcher、捕获与非捕获、零宽断言、贪婪与懒惰Base64、消息摘要、数字签名、对称加密、非对称加密Locale、ResourceBundle、NumberFormat、DateFormat、MessageFormatSPI、ServiceLoader、ClassLoader、扩展点Instrumentation、premain、ClassFileTransformer、字节码增强、JVMTIStream、Lambda、Optional、@FunctionalInterface【Java 容器】专题以 Collection 和 Map 两大体系为核心,涵盖 List、Set、Queue 等经典数据结构及其底层实现原理(数组、链表、红黑树、哈希表)。结合 Stream API 的声明式数据处理能力,构成 Java 日常开发中数据组织、操作与转换的完整工具链,是面试中考察数据结构与算法功底的核心阵地。
Collection、Map、Iterator、Comparator、fail-fastArrayList、LinkedList、动态扩容、RandomAccess、subListHashMap、LinkedHashMap、TreeMap、红黑树、负载因子HashSet、LinkedHashSet、TreeSet、去重、NavigableSetDeque、ArrayDeque、PriorityQueue、BlockingQueue、二叉堆Stream、中间操作、终结操作、Collector、惰性求值【Java IO】专题涵盖 Java 输入输出体系的核心知识,包括 BIO(同步阻塞)、NIO(多路复用)、AIO(异步非阻塞)三种 IO 模型的原理与实践。同时深入序列化与反序列化机制,涉及 JDK 原生序列化、Protobuf、Hessian 等主流方案的对比与应用。
BIO、NIO、AIO、I/O 多路复用、ReactorBIO、字节流、字符流、InputStream、SocketNIO、Channel、Buffer、Selector、零拷贝Serializable、serialVersionUID、transient、Protobuf、JSON【Java 并发】专题系统梳理多线程并发编程的核心知识体系,涵盖 Java 内存模型(JMM)、线程生命周期与同步机制、锁机制(synchronized/ReentrantLock/AQS)、无锁并发(CAS/原子类/ThreadLocal)等核心主题。同时深入线程池原理、并发容器、同步与分工工具类等实战内容,帮助理解并发编程的本质问题与解决方案。
原子性、可见性、有序性、死锁、上下文切换JMM、Happens-Before、volatile、synchronized、锁升级Thread、Runnable、Callable、线程生命周期、interruptReentrantLock、AQS、CAS、悲观锁、乐观锁CAS、原子类、ThreadLocal、ABA 问题、Copy-on-WriteAQS、CLH 队列、独占锁、共享锁、ConditionConcurrentHashMap、CopyOnWriteArrayList、BlockingQueue、分段锁、CASThreadPoolExecutor、corePoolSize、拒绝策略、workQueue、ExecutorsCountDownLatch、Semaphore、CyclicBarrier、信号量、AQSCompletableFuture、ForkJoinPool、FutureTask、工作窃取、异步编排【Java 虚拟机】专题深入剖析 JVM 的核心运行机制,涵盖运行时数据区(堆、栈、方法区)、垃圾收集算法与主流收集器(CMS、G1、ZGC)、字节码格式与类加载机制(双亲委派模型)等关键主题。同时涉及 JVM 性能调优方法论与常用诊断工具(Arthas、jstat、jmap、MAT),助力生产环境问题排查与性能优化。
JVM、Hotspot、运行时数据区、类加载器、JIT堆、方法区、元空间、虚拟机栈、OutOfMemoryErrorGC Roots、可达性分析、分代收集、CMS、G1字节码、常量池、字节码指令、ASM、ByteBuddy类加载机制、双亲委派、ClassLoader、热部署、SPIArthas、jstat、jmap、jstack、MATCPU 飙升、内存泄漏、OOM、GC 频繁、死锁-Xms、-Xmx、GC 日志、吞吐量、停顿时间JavaWeb 专题围绕 Java EE Web 层开发的核心技术栈,系统梳理 Servlet 容器模型与生命周期、JSP 动态页面渲染、Filter 与 Listener 扩展机制、Cookie/Session 会话管理等经典主题。这些技术构成了 Spring MVC 等现代框架的底层规范基础,深入理解有助于把握 Web 应用的请求处理链路与状态管理本质。
Servlet、生命周期、Servlet API、HTTP 状态码、Web 容器JSP、EL 表达式、JSTL、指令、内置对象Filter、FilterChain、Listener、拦截链、Servlet 扩展Cookie、Session、会话管理、URL 重写、分布式会话Java 服务器专题围绕 Servlet 容器的核心架构与性能优化展开,深入剖析 Tomcat 的连接器模型(NIO/NIO2)、容器体系(热部署、类加载、Servlet 规范实现)、启动优化策略,以及 Jetty 的 Handler 架构与线程模型。同时对比 Tomcat 与 Jetty 的设计差异与适用场景,帮助理解 Web 容器的请求处理链路与运维调优实践。
Tomcat、Server 架构、Service、生命周期、server.xmlNioEndpoint、Acceptor、Poller、NIO、SocketProcessor热部署、类加载机制、应用隔离、Servlet 规范、异步 Servlet启动优化、TLD 扫描、Web-Fragment、并行启动、随机数熵源Tomcat、Jetty、Web 容器、架构对比、选型Jetty、Handler、Connector、线程策略、SelectorJava 项目需要通过 构建工具 来管理项目依赖,完成编译、打包、发布、生成 JavaDoc 等任务。
- 目前最主流的构建工具是 Maven,它的功能非常强大。
- Gradle 号称是要替代 Maven 等构件工具,它的版本管理确实简洁,但是需要学习 Groovy,学习成本比 Maven 高。
- Ant 功能比 Maven 和 Gradle 要弱,现代 Java 项目基本不用了,但也有一些传统的 Java 项目还在使用。
Maven、pom.xml、依赖管理、生命周期、中央仓库Maven、pom.xml、Project Object Model、依赖配置、坐标Maven、settings.xml、全局配置、镜像、仓库认证Maven、dependencyManagement、多模块、版本管理、最佳实践Maven、Sonatype、中央仓库、jar 发布、GPG 签名Maven、插件、生命周期、Mojo、maven-compiler-pluginAnt、build.xml、构建工具、自动化构建、Apache自从有了 IDE,写代码从此就告别了刀耕火种的蛮荒时代。
- Eclipse 是久负盛名的开源 Java IDE,我的学生时代一直使用它写 Java。 - 关键词:
Eclipse、IDE、代码提示、插件、Java 开发- 曾经抗拒从转 Intellij Idea ,但后来发现真香,不得不说,确实是目前最优秀的 Java IDE。 - 关键词:
IntelliJ IDEA、快捷键、IDE、代码重构、JetBrains- 你可以在 vscode 中写各种语言,只要安装相应插件即可。如果你的项目中使用了很多种编程语言,又懒得在多个 IDE 之间切换,那么就用 vscode 来一网打尽吧。 - 关键词:
VS Code、IDE、快捷键、命令面板、轻量编辑器
IntelliJ IDEA、快捷键、IDE、代码重构、JetBrainsEclipse、IDE、代码提示、插件、Java 开发VS Code、IDE、快捷键、命令面板、轻量编辑器监控/诊断 工具主要用于 Java 应用的运维。通过采集、分析、存储、可视化应用的有效数据,帮助开发者、使用者快速定位问题,找到性能瓶颈。
监控工具、APM、CAT、Zipkin、SkyWalkingCAT、分布式监控、实时告警、链路追踪、美团Zipkin、分布式追踪、Dapper、链路分析、TwitterSkyWalking、APM、分布式追踪、微服务监控、服务网格Arthas、Java 诊断、在线排查、JVM、AlibabaJSON、序列化、Jackson、Gson、Fastjson二进制序列化、Protobuf、Thrift、Hessian、KryoFreeMarker、模板引擎、FTL、MVC、模板渲染Thymeleaf、模板引擎、标准方言、Spring Boot、自然模板Velocity、模板引擎、VTL、模板语法、MVCJUnit5、单元测试、Jupiter、TestEngine、断言Mockito、Mock 框架、单元测试、Mock 对象、行为验证JMeter、性能测试、压力测试、HTTP 测试、ApacheJMH、微基准测试、性能测试、Benchmark、OpenJDK日志框架、SLF4J、Log4j、Logback、Log4j2Guava、Commons、工具类、集合操作、StringUtilsReflections、反射、类扫描、注解扫描、元数据JavaMail、邮件发送、SMTP、IMAP、MIMEJsoup、HTML 解析、CSS 选择器、DOM 操作、网页爬虫Thumbnailator、图片处理、图片缩放、水印、缩略图ZXing、二维码、条形码、扫码、QR CodeSpring、IoC、AOP、Bean、Spring FrameworkSpring Boot、自动配置、起步依赖、Actuator、IoC 容器Spring Boot、自动配置、SpringApplication、启动原理、@SpringBootApplicationBean、BeanDefinition、@Bean、BeanFactory、FactoryBeanIoC、BeanFactory、ApplicationContext、依赖注入、配置元数据依赖查找、BeanFactory、ObjectProvider、ListableBeanFactory、getBean依赖注入、@Autowired、构造器注入、Setter 注入、自动装配依赖来源、BeanDefinition、单例对象、ResolvableDependency、registerSingletonScope、singleton、prototype、request、sessionBean 生命周期、BeanPostProcessor、@PostConstruct、@PreDestroy、InitializingBean配置元数据、BeanDefinition、@Configuration、@PropertySource、Extensible XMLAOP、@Aspect、Pointcut、Advice、动态代理Resource、ResourceLoader、ResourcePatternResolver、classpath、ClassPathResourceValidator、@Valid、@Validated、Hibernate Validator、ConstraintValidatorDataBinder、BeanWrapper、PropertyValues、WebDataBinder、数据绑定类型转换、PropertyEditor、Converter、GenericConverter、ConversionServiceSpEL、ExpressionParser、@Value、#{}、${}ApplicationEvent、ApplicationListener、@EventListener、事件发布、事件多播MessageSource、Locale、国际化、ResourceBundle、i18n泛型、ResolvableType、ParameterizedType、TypeVariable、类型擦除@Component、@Configuration、@ComponentScan、模式注解、元注解Environment、PropertySource、Profile、@Profile、占位符处理SpringBoot、@SpringBootApplication、自动配置、Starter、快速入门属性加载、application.properties、@Value、@ConfigurationProperties、PropertySourceProfile、@Profile、多环境配置、spring.profiles.active、条件装配DataSource、HikariCP、Druid、数据源配置、连接池JDBC、JdbcTemplate、NamedParameterJdbcTemplate、SQLException、数据访问事务、@Transactional、PlatformTransactionManager、传播行为、隔离级别JPA、Hibernate、@Entity、JpaRepository、Spring Data JPAMyBatis、Mapper、SqlSessionFactory、PageHelper、MyBatis-SpringRedis、RedisTemplate、Spring Data Redis、Lettuce、JedisMongoDB、MongoTemplate、Spring Data MongoDB、MongoRepository、文档数据库Elasticsearch、Spring Data Elasticsearch、搜索引擎、全文检索、RepositorySpring MVC、Web 应用、@RestController、@RequestMapping、HTTPController、@Controller、@RequestMapping、请求映射、参数绑定DispatcherServlet、前端控制器、HandlerMapping、HandlerAdapter、ViewResolverFilter、FilterRegistrationBean、OncePerRequestFilter、过滤器链、请求拦截CORS、@CrossOrigin、CorsFilter、WebMvcConfigurer、跨域资源共享ViewResolver、Thymeleaf、JSP、视图技术、ModelAndViewEasyUI、SpringBoot、DataGrid、前后端交互、Web 页面异步请求、@Async、Callable、DeferredResult、CompletableFutureJSON、Jackson、@JsonFormat、HttpMessageConverter、序列化邮件、JavaMailSender、@EnableAsync、MimeMessage、邮件模板缓存、@Cacheable、@CacheEvict、CacheManager、EhCache调度器、@Scheduled、ThreadPoolTaskScheduler、定时任务、Cron 表达式Dubbo、@DubboService、@DubboReference、RPC、服务注册Spring4、版本升级、Java 8、泛型注入、@ConditionalBanner、banner.txt、SpringApplication、启动横幅、定制Actuator、Endpoint、健康检查、监控、生产就绪MyBatis、ORM、SQL 映射、Mapper、XML 配置MyBatis、源码分析、SqlSession、Executor、插件机制Java 领域比较流行的安全框架就是 Shiro 和 Spring-Security。
Shiro 更为简单、轻便,容易理解,能满足大多数基本安全场景下的需要。
Spring-Security 功能更丰富,也比 Shiro 更复杂。值得一提的是由于 Spring-Security 是 Spring 团队开发,所以集成 Spring 和 Spring-Boot 框架更容易。
Shiro、认证、授权、Realm、会话管理Spring Security、安全框架、认证授权、FilterChain、OAuth2Netty、NIO、网络通信、零拷贝、EventLoop缓存可以说是优化系统性能的第一手段,在各种技术中都会有缓存的应用。
如果想深入学习缓存,建议先了解一下 缓存基本原理,有助于理解缓存的特性、原理,使用缓存常见的问题及解决方案。
缓存、JSR 107、Spring Cache、CacheManager、J2CacheEhcache、进程内缓存、缓存淘汰、Hibernate、缓存策略进程内缓存、Caffeine、Guava Cache、LRU、ConcurrentHashMapHTTP 缓存、强缓存、协商缓存、Cache-Control、ETagHystrix、断路器、熔断、服务降级、Netflix数据结构、算法、时间复杂度、空间复杂度、学习路线时间复杂度、空间复杂度、大 O 表示法、复杂度量级线性表、一维数组、多维数组、随机访问、单链表先进后出、后进先出、循环队列查找算法、二分查找、顺序查找、散列表、查找效率排序算法、冒泡排序、快速排序、归并排序、堆排序树、二叉树、完全二叉树、二叉树遍历、满二叉树堆、大顶堆、小顶堆、优先队列、堆排序B+树、索引、磁盘存储、范围查询、数据库索引LSM 树、顺序写入、WAL、Merge、NoSQL字典树、Trie、前缀树、字符串匹配、前缀搜索红黑树、平衡二叉树、AVL 树、旋转操作、自平衡哈希函数、装载因子、哈希冲突、开放寻址法、拉链法多级索引图、有向图、无向图、图的遍历、最短路径NoSQL、列式数据库、K-V数据库、文档数据库、图数据库B+树、LSM树、倒排索引、哈希索引、聚簇索引ShardingSphere、分库分表、数据分片、读写分离、分布式事务Flyway、数据迁移、Migration、版本管理、Schema关系型数据库 整理主流关系型数据库知识点。
关系型数据库、SQL、范式、ER图、函数依赖SQL、CRUD、JOIN、事务、索引PostgreSQL、psql、RDBMS、数据库安装、SQLH2、嵌入式数据库、内存模式、JDBC、兼容模式SQLite、嵌入式、轻量级、无服务器、动态类型MySQL、关系型数据库、RDBMS、InnoDB、存储引擎数据类型、VARCHAR、CHAR、DECIMAL、BIGINTCRUD、DDL、INSERT、SELECT、UPDATEInnoDB、MyISAM、存储引擎、Buffer Pool、聚簇索引B+Tree索引、聚簇索引、覆盖索引、最左匹配、Hash索引ACID、MVCC、事务隔离级别、可重复读、ReadView行锁、间隙锁、Next-Key Lock、死锁、悲观锁主从复制、binlog、读写分离、relay log、主备配置Server层、存储引擎、redo log、binlog、WALEXPLAIN、慢查询、索引优化、SQL优化、覆盖索引mysqldump、用户管理、主从部署、my.cnf、慢查询MongoDB 是一个基于文档的分布式数据库,由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系型数据库和非关系型数据库之间的产品。它是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较复杂的数据类型。
MongoDB 最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
BSON、文档模型、NoSQL、面向文档、集合insertOne、find、updateOne、deleteOne、bulkWrite聚合管道、$match、$group、$project、Map-ReduceB-tree、复合索引、多键索引、文本索引、地理空间索引ACID事务、多文档事务、读关注、写关注、分布式事务嵌入式文档、引用式、一对多关系、树形结构、实体化路径副本集、主节点、从节点、oplog、故障转移分片键、mongos、配置服务器、哈希分片、范围分片mongodump、mongorestore、mongoimport、mongoexport、WiredTigerString、Hash、List、Set、ZsetBitMap、HyperLogLog、Geo、Stream对象、SDS、链表、字典、跳表定时删除、惰性删除、定期删除、LRU、LFURDB、AOF、SAVE、BGSAVE、appendfsync文件事件、时间事件SLAVEOF、SYNC、PSYNC、命令传播、心跳高可用、监控、选主、故障转移、Raft高可用、监控、选主、故障转移、分区订阅、SUBSCRIBE、PSUBSCRIBE、PUBLISH、观察者模式事务、ACID、MULTI、EXEC、DISCARDPipelineLua安装、配置、命令、集群、客户端缓存、分布式锁、布隆过滤器HDFS、列式数据库、Row Key、Column Family、CellRow Key、Column Family、Column Qualifier、Region、TimestampRow Key设计、热点问题、加盐、哈希、反转Region、RegionServer、Master、WAL、MemStoreHBaseClient、Connection、Table、Put、Get计数器、incr、CAS、原子操作、BulkLoadFilter、CompareFilter、RowFilter、ValueFilter、SingleColumnValueFilterCoprocessor、Observer、Endpoint、二级索引、RegionServerhbase-site.xml、RegionServer、分布式部署、ZooKeeper、HDFSHBase Shell、create、put、scan、getElasticsearch 是一个基于 Lucene 的搜索和数据分析工具,它提供了一个分布式服务。Elasticsearch 是遵从 Apache 开源条款的一款开源产品,是当前主流的企业级搜索引擎。
Lucene、倒排索引、分布式、全文搜索、Elastic StackMapping、动态映射、静态映射、数据类型、动态模板Index API、Bulk API、Update API、Delete API、Multi Get倒排索引、正排索引、Shard、Segment、Index Setting_search API、分页、排序、深分页、search_afterQuery DSL、全文查询、词项查询、bool查询、function_scoreBucket聚合、Metric聚合、Pipeline聚合、terms聚合、date_histogramAnalyzer、Tokenizer、Token Filter、Character Filter、中文分词集群健康、主分片、副本分片、水平扩容、故障转移协调节点、数据路由、Query阶段、Fetch阶段、深度分页JVM内存、分片策略、Bulk提交、refresh_interval、SSD集群规划、elasticsearch.yml、vm.max_map_count、内存锁定、节点发现REST API、URI Search、Request Body、Bulk API、索引别名RestHighLevelClient、Java REST Client、索引API、文档CRUD、SearchRequestElastic Stack、ELK、Elasticsearch、Logstash、KibanaDiscover、Visualize、Dashboard、Index Pattern、查询语法数据处理管道、Input插件、Filter插件、Output插件、GrokBeats、轻量级采集器、日志采集、filebeat.yml、Prospector如果你是做通信领域的开发,或者是 Web 应用的开发,那就或多或少需要了解一些计算机网络的知识 。
理解计算机网络,首先需要从宏观层面了解计算机网络通信的分层结构。最有代表性的是 OSI 七层结构模型,但现实中更流行的是五层结构模型。
了解网络分层结构,需要了解每个网络层级在网络通信中的定位,以及这个层级主要的通信设备、通信协议。
PPP、CSMA/CD、局域网、以太网、MAC、适配器、集线器、网桥、交换机IP、ICMP、ARP、路由UDP、TCP、滑动窗口、拥塞控制、三次握手HTTP、DNS、FTP、TELNET、DHCPHTTP、HTTPS、HTTP 状态码、HTTP 方法、HTTP 缓存TCP、三次握手、四次挥手、流量控制、拥塞控制UDP、无连接、数据报、低延迟、实时传输ICMP、Ping、Traceroute、差错报文、网络诊断WebSocket、全双工通信、长连接、实时通信、帧协议CDN、内容分发、边缘节点、缓存加速、负载均衡VPN、隧道技术、加密通信、远程访问、虚拟专用网络发展、指标、分类、挑战逻辑时钟、向量时钟、版本时钟、全序、偏序ACID、CAP、BASE、一致性共识共识、Paxos、两阶段提交、多数派决议共识、Raft、选主、日志复制、安全性共识、ZAB、ZooKeeperGossip、去中心化、最终一致性、反熵、谣言传播主从、多主、无主分区再均衡、路由共识、广播、epoch、quorum2PC、3PC、TCC、本地消息表、消息事务互斥、可重入、死锁、容错、自旋尝试UUID、自增序列、雪花算法、Leaf服务容错、熔断、降级、限流、重试ZooKeeper、ZAB 协议、Watcher、znode、分布式协调ZooKeeper、Java API、Curator、Watcher、异步回调ZooKeeper、zkCli、四字命令、znode 操作、命令行工具ZooKeeper、集群部署、配置管理、性能调优、故障排查ZooKeeper、ACL、权限控制、访问控制列表、安全认证服务注册、服务发现、元数据路由、条件路由、脚本路由、标签路由轮询、随机、最少连接、最少响应时间、哈希限流、熔断、降级、计数器法、时间窗口法ActiveMQ、JMS、消息中间件、点对点模式、发布订阅Kafka、消息队列、Topic、Partition、BrokerKafka、Producer、分区策略、消息发送、幂等生产者Kafka、Consumer、消费组、Offset、重平衡Kafka、集群管理、ZooKeeper、Controller 选举、副本机制Kafka、可靠传输、ACK 机制、ISR、Exactly-OnceKafka、存储机制、日志段、PageCache、零拷贝Kafka、流式处理、Kafka Streams、事件流、窗口计算Kafka、运维、集群监控、性能调优、故障排查RocketMQ、消息模型、NameServer、Broker、消息类型编程语言、学习方法、编程范式、学习路线、编程思维系统设计、需求分析、顶层设计、瓶颈分析、水平扩展架构演化、分层架构、微服务、事件驱动、微核架构高性能、缓存、并发模型、Reactor、负载均衡高可用、CAP、主从复制、限流降级熔断、失效转移伸缩性、负载均衡、集群、一致性 Hash、分库分表扩展性、分层架构、SOA、微服务、消息队列SSO、OAuth2、RBAC、XSS、CSRF分布式锁、分布式 Session、分布式缓存、负载均衡、分布式存储黑盒测试、白盒测试、单元测试、集成测试、性能测试定义、演进、利弊、如何拆分、容量规划服务定义、注册中心、元数据、健康检查、服务订阅RPC、通信协议、传输方式、序列化微服务、序列化、动态代理、通信、服务注册发现认证、授权、身份验证、访问控制、安全架构认证、多因素认证、OAuth2、JWT、单点登录授权、RBAC、ABAC、ACL、权限控制XSS、CSRF、SQL 注入、安全漏洞、漏洞防护对称加密、非对称加密、消息摘要、数字签名、Base64面向对象原则 - 关键词:SOLID、单一职责、开闭原则、里氏替换、依赖倒置
创建型模式提供了创建对象的机制, 能够提升已有代码的灵活性和可复用性。
简单工厂、工厂类、产品类、创建型、switch-case工厂方法、创建型、Creator、Product、子类决定实例化抽象工厂、创建型、产品族、AbstractFactory、跨平台 UI建造者、Builder、创建型、Director、分步构建复杂对象原型、Prototype、创建型、Cloneable、深浅拷贝单例、Singleton、创建型、getInstance、私有构造函数结构型模式介绍如何将对象和类组装成较大的结构, 并同时保持结构的灵活和高效。
适配器、Adapter、结构型、接口转换、不兼容对象协作桥接、Bridge、结构型、抽象与实现分离、多维度扩展组合、Composite、结构型、树形结构、部分-整体装饰、Decorator、结构型、动态添加职责、替代继承外观、Facade、结构型、统一接口、简化子系统享元、Flyweight、结构型、共享对象、内存优化代理、Proxy、结构型、访问控制、虚拟代理行为模式负责对象间的高效沟通和职责委派。
模板方法、Template Method、行为型、算法骨架、基本方法命令、Command、行为型、请求封装、撤销操作迭代器、Iterator、行为型、遍历集合、隐藏内部结构观察者、Observer、行为型、发布-订阅、事件通知解释器、Interpreter、行为型、文法解析、Context中介者、Mediator、行为型、解耦对象交互、集中协调职责链、Chain of Responsibility、行为型、处理者链、请求传递备忘录、Memento、行为型、状态快照、撤销恢复策略、Strategy、行为型、算法族、运行时切换访问者、Visitor、行为型、双重分派、对象结构操作状态、State、行为型、状态转换、行为随状态改变坏味道、重构、代码质量、Refactoring、技术债代码臃肿、基本类型偏执、过长函数、过大类、提取方法滥用面向对象、Switch 声明、临时字段、以多态取代条件、数据泥团变革障碍、发散式变化、霰弹式修改、特性依恋、提取类非必要的、冗余类、重复代码、过度泛化、内联类耦合、过度亲密、不完美的库类、中间人、委托关系UML、统一建模语言、结构图、行为图、建模概述UML、部署图、组件图、类图、包图UML、活动图、状态机图、用例图、时序图Git、版本控制、分支管理、Git Flow、代码合并Git、常用命令、Cheat Sheet、配置管理、Git 工作流正则表达式、元字符、贪婪匹配、分组、字符串匹配技术文档、写作规范、文档格式、Markdown 规范、技术写作目录管理、文件分类、命名规范、知识管理、MECE 原则代码规范、项目结构、命名规则、日志规范、工程规范Markdown、标记语言、文档写作、语法教程、技术文档◾ 💧 钝悟的 IT 知识图谱 ◾ 🎯 钝悟的博客 ◾