随笔分类 - 面试题素材库
双亲委派模型
摘要:双亲委派模型 #类加载器 #加载类的开放性 类加载器(ClassLoader)是 Java 语言的一项创新,也是 Java 流行的一个重要原因。在类加载的第一阶段“加载”过程中,需要通过一个类的全限定名来获取定义此类的二进制字节流,完成这个动作的代码块就是 类加载器。这一动作是放在 Java 虚拟机
阅读全文
MySQL 优化
摘要:MySQL 优化 表关联查询时务必遵循 小表驱动大表 原则; 使用查询语句 where 条件时,不允许出现 函数,否则索引会失效; 使用单表查询时,相同字段尽量不要用 OR,因为可能导致索引失效,可以使用 UNION 替代; LIKE 语句不允许使用 % 开头,否则索引会失效; 组合索引一定要遵循
阅读全文
设计千万级用户量网站的高并发架构!!!
摘要:(1)单块架构 网站开始建立时,用户少 , 网站架构都是用单体架构设计,共部署3台服务器,1台应用,1台数据库,1台图片。 1、应用服务器上发布,可能是把应用服务器上的Tomcat给关掉,替换系统的代码war包,重新启动Tomcat。 2、数据库服务器,存全部核心数据。 3、网络文件系统(NFS)作
阅读全文
JDK8 新特性
摘要:概述 以下列出两点重要特性: Lambda 表达式(匿名函数) Stream 多线程并行数据处理(重要) 接口的默认方法只需要使用 default 关键字即可,这个特征又叫做 扩展方法 Lambda 表达式 Functional 接口 函数式接口 是指仅仅只包含一个抽象方法的接口,每一个该类型的 L
阅读全文
JavaScript this 关键字
摘要:概述 任何执行 JavaScript 的环境称之为 执行上下文,默认情况下,执行上下文是全局的,这意味着如果代码作为简单函数调用的一部分执行,则该 this 变量将引用 全局对象 。在浏览器的情况下,全局对象是 windows 对象。但在 NodeJS 环境中,this 值是一个特殊的 global
阅读全文
你如何对需求原型进行理解和拆分
摘要:某公司的产品面试,面试前该公司让面试者做一道笔试题,笔试题目为: 针对以下需求提供一个解决方案:在卡牛-信用卡管家APP里面,我们的用户需要一个寻找 附近银行网点/ATM 的功能: 请交付你针对这个需求,设计的 Axure 原型界面的解决方案 在原型里面标明业务规则和你对这个需求的分析思考过程(脑图
阅读全文
设计能力(二)
摘要:你如何考虑服务化 #集中式与分布式 要谈微服务,那么必须建立在分布式的基础上,对于一个集中式系统也无需谈微服务。 #集中式 集中式系统用一句话概括就是:一个主机带多个终端。终端没有数据处理能力,仅负责数据的录入和输出。而运算、存储等全部在主机上进行。 集中式系统的最大的特点就是部署结构非常简单,底层
阅读全文
设计能力(一)
摘要:说说概要设计 概要设计是一个设计师根据用户交互过程和用户需求来形成交互框架和视觉框架的过程,其结果往往以反映交互控件布置、界面元素分组以及界面整体板式的页面框架图的形式来呈现。这是一个在用户研究和设计之间架起桥梁,使用户研究和设计无缝结合,将对用户目标与需求转换成具体界面设计解决方案的重要阶段。 概
阅读全文
HashMap
摘要:1、为什么用HashMap? 1.1、HashMap是一个散列桶(数组和链表),它存储的内容是键值对(key-value)映射 1.2、HashMap采用了数组和链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改 1.3、HashMap是非synchronized,所以HashM
阅读全文
API管理
摘要:原理 在SpringMVC中RequestMappingHandlerMapping是比较重要的一个角色,它决定了每个URL分发至哪个Controller。 Spring Boot加载过程如下,所以我们可以通过自定义WebMvcRegistrationsAdapter来改写RequestMappin
阅读全文
服务熔断
摘要:Hystrix的熔断 Netflix’ Hystrix是第一个专门用于熔断的服务中间件。当它在2012年向公众发布,以提供“对延迟和失败有更大容忍度”的微服务架构时,Netflix已经在内部广泛使用了一年多的时间了。根据这个项目的描述,Hystrix一直是Netflix服务中间件的基本组成部分之一,
阅读全文
微服服务跟踪
摘要:服务追踪系统实现 上面是服务追踪系统架构图,你可以看到一个服务追踪系统可以分为三层。 数据采集层,负责数据埋点并上报。 数据处理层,负责数据的存储与计算。 数据展示层,负责数据的图形化展示 服务追踪的作用第一,优化系统瓶颈。通过记录调用经过的每一条链路上的耗时,我们能快速定位整个系统的瓶颈点在哪里。
阅读全文
配置中心
摘要:配置实时生效: 传统的静态配置方式要想修改某个配置只能修改之后重新发布应用,要实现动态性,可以选择使用数据库,通过定时轮询访问数据库来感知配置的变化。轮询频率低感知配置变化的延时就长,轮询频率高,感知配置变化的延时就短,但比较损耗性能,需要在实时性和性能之间做折中。配置中心专门针对这个业务场景,兼顾
阅读全文
API网关
摘要:1、API网关介绍 API网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。API网关封装了系统内部架构,为每个客户端提供一个定制的API。它可能还具有其它职责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。 API网关方式的核心要点是,所有的客户端和消
阅读全文
如何设计一个百万级用户的抽奖系统?
摘要:目录 1.抽奖模块的背景引入 2.结合具体业务需求分析抽奖模块 3.一个未经过优化的模块架构 4.负载均衡层的限流 5.Tomcat线程数量的优化 6.基于Redis实现抽奖业务逻辑 7.发放礼品环节进行限流削峰 8.模块架构设计总结 1、抽奖模块的背景引入 本文给大家分享一个之前经历过的抽奖模块的
阅读全文
服务注册发现
摘要:客户端服务发现模式 当使用客户端服务发现的时候,客户端负责决定可用的服务实例的网络地址,以及围绕他们的负载均衡。客户端向服务注册表(service registry)发送一个请求,服务注册表是一个可用服务实例的数据库。客户端使用一个负载均衡算法,去选择一个可用的服务实例,来响应这个请求,下图展示了这
阅读全文
消息列队7
摘要:面试题 如果让你写一个消息队列,该如何进行架构设计?说一下你的思路。 面试官心理分析 其实聊到这个问题,一般面试官要考察两块: 你有没有对某一个消息队列做过较为深入的原理的了解,或者从整体了解把握住一个消息队列的架构原理。 看看你的设计能力,给你一个常见的系统,就是消息队列系统,看看你能不能从全局把
阅读全文
消息列队6
摘要:面试题 如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决? 面试官心理分析 你看这问法,其实本质针对的场景,都是说,可能你的消费端出了问题,不消费了;或者消费的速度极其慢。接着就坑爹了,可能你的消息队列集群的磁盘都快写满了,都没人消费,这个
阅读全文
消息列队5
摘要:面试题 如何保证消息的顺序性? 面试官心理分析 其实这个也是用 MQ 的时候必问的话题,第一看看你了不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这是生产系统中常见的问题。 面试题剖析 我举个例子,我们以前做过一个 mysql binlog 同步的系统,压力还是非常大的,日同步数据要达
阅读全文
浙公网安备 33010602011771号