随笔分类 -  面试题

1 2 3 4 5 ··· 8 下一页
摘要:1、一个键值对如何插入hashmap? 方法一:使用hashmap的put()方法hashmap.put(key, value);方法二:使用hashmap的putIfAbsent()方法hashmap.putIfAbsent(key, value); 2、哈希的应用场景? 哈希可以应用于多种领域, 阅读全文
posted @ 2023-01-02 15:29 开源遗迹 阅读(77) 评论(0) 推荐(0) 编辑
摘要:Eureka Server的⾃我保护机制会检查最近15分钟内所有EurekaClient正常⼼跳的占⽐,如果低于85%就会被触发。我们如果在Eureka Server的管理界⾯发现如下的红⾊内容,就说明 已经触发了⾃我保护机制。EMERGENCY! EUREKA MAY BE INCORRECTLY 阅读全文
posted @ 2022-08-02 11:44 开源遗迹 阅读(133) 评论(0) 推荐(0) 编辑
摘要:1 private static final String LOCK_SUCCESS = "OK"; 2 private static final String SET_IF_NOT_EXIST = "NX"; 3 private static final String SET_WITH_EXPIR 阅读全文
posted @ 2022-08-02 11:33 开源遗迹 阅读(615) 评论(0) 推荐(0) 编辑
摘要:1、匿名管道通信: a. ⽗进程创建管道,得到两个⽂件描述符指向管道的两端b. ⽗进程fork出⼦进程,⼦进程也有两个⽂件描述符指向同⼀管道。c. ⽗进程关闭fd[0],⼦进程关闭fd[1],即⽗进程关闭管道读端,⼦进程关闭管道写端(因为管道只⽀持单向通信)。⽗进程可以往管道⾥写,⼦进程可以从管道⾥ 阅读全文
posted @ 2022-08-02 11:21 开源遗迹 阅读(57) 评论(0) 推荐(0) 编辑
摘要:1、⼀致性hash算法:我们的memcached客户端(这⾥我看的spymemcache的源码),使⽤了⼀致性hash算法ketama进⾏数据存储节点的选择。与常规的hash算法思路不同,只是对我们要存储数据的key进⾏hash计算,分配到不同节点存储。⼀致性hash算法是对我们要存储数据的服务器进 阅读全文
posted @ 2022-08-02 11:00 开源遗迹 阅读(27) 评论(0) 推荐(0) 编辑
摘要:1. 调优时机:a. heap 内存(⽼年代)持续上涨达到设置的最⼤内存值;b. Full GC 次数频繁;c. GC 停顿时间过⻓(超过1秒);d. 应⽤出现OutOfMemory 等内存异常;e. 应⽤中有使⽤本地缓存且占⽤⼤量内存空间;f. 系统吞吐量与响应性能不⾼或下降。 2. 调优原则:a 阅读全文
posted @ 2022-08-02 10:23 开源遗迹 阅读(66) 评论(0) 推荐(0) 编辑
摘要:Https协议就是基于SSL的HTTP协议 HTTPS使用与HTTP不同的端口(HTTP:80,HTTPS:443) 提供了身份验证与加密通信方法,被广泛用于网上安全敏感的通信。 1、客户端请求SSL连接,并将⾃⼰⽀持的加密规则发给⽹站。 2、服务器端将⾃⼰的身份信息以证书形式发回给客户端。证书⾥⾯ 阅读全文
posted @ 2022-08-02 10:10 开源遗迹 阅读(44) 评论(0) 推荐(0) 编辑
摘要:1. TCP建⽴连接的过程。三次握⼿: 1. 第⼀次握⼿(客户端发送syn包到服务器端):客户端发送syn包到服务器端,进⼊syn_send状态,等待服务器端的确认; 2. 第⼆次握⼿(服务器返回syn+ack包给客户端):服务器端收到客户端的syn包,发送syn+ack包给客户端,进⼊syn_re 阅读全文
posted @ 2022-08-02 09:50 开源遗迹 阅读(57) 评论(0) 推荐(0) 编辑
摘要:在⼀个⾼度服务化的系统中,我们实现的⼀个业务逻辑通常会依赖多个服务,⽐如:商品详情展示服务会依赖商品服务, 价格服务, 商品评论服务. 如图所示: 调⽤三个依赖服务会共享商品详情服务的线程池. 如果其中的商品评论服务不可⽤, 就会出现线程池⾥所有线程都因等待响应⽽被阻塞, 从⽽造成服务雪崩. 如图所 阅读全文
posted @ 2022-08-02 09:09 开源遗迹 阅读(57) 评论(0) 推荐(0) 编辑
摘要:熔断器模式定义了熔断器开关相互转换的逻辑 服务的健康状况 = 请求失败数 / 请求总数.熔断器开关由关闭到打开的状态转换是通过当前服务健康状况和设定阈值⽐较决定的. 1. 当熔断器开关关闭时, 请求被允许通过熔断器. 如果当前健康状况⾼于设定阈值, 开关继续保持关闭. 如果当前健康状况低于设定阈值, 阅读全文
posted @ 2022-08-02 08:57 开源遗迹 阅读(625) 评论(0) 推荐(0) 编辑
摘要:1、业务⽅⾯拆分:所有技术⽅⾯的考虑,包括架构设计和解耦拆分都要考虑业务的需要。在服务拆分时,先从业务⻆度确定拆分的 ⽅案。拆分的边界要充分考虑业务的独⽴性和专业性,⽐如搜索类服务、⽀付类服务、购物⻋类服务,按服务的业务功能合理地划出拆分边界。 2、减少维护成本:拆分前的维护成本 - 拆分后的维护成 阅读全文
posted @ 2022-08-02 08:41 开源遗迹 阅读(131) 评论(0) 推荐(0) 编辑
摘要:1、概念:Akka是⼀个构建在JVM上,基于Actor模型的并发框架,为构建伸缩性强,有弹性的响应式并发应⽤提⾼更好的平台。 2、Actor模型:Akka的核⼼就是Actor,所以不得不说Actor,Actor模型我通俗的举个例⼦,假定现实中的两个⼈,他们只知道对⽅的地址,他们想要交流,给对⽅传递信 阅读全文
posted @ 2022-08-02 08:24 开源遗迹 阅读(154) 评论(0) 推荐(0) 编辑
摘要:1、简介:mapreduce源⾃google的⼀篇⽂章,将海量数据处理的过程拆分为map和reduce。mapreduce 成为了最早的分布式计算框架,这样即使不懂的分布式计算框架的内部运⾏机制的⽤户,也可以利⽤分布式的计算框架实现分布式的计算,并在hadoop上⾯运⾏。 2、设计思想:hadoop 阅读全文
posted @ 2022-08-02 08:13 开源遗迹 阅读(97) 评论(0) 推荐(0) 编辑
摘要:1、概念:CMS全称 Concurrent Mark Sweep,是⼀款并发的、使⽤标记-清除算法的垃圾回收器, 2、使⽤场景:GC过程短暂停,适合对时延要求较⾼的服务,⽤户线程不允许⻓时间的停顿。 3、缺点:1、服务⻓时间运⾏,造成严重的内存碎⽚化。2、算法实现⽐较复杂(如果也算缺点的话)。 4、 阅读全文
posted @ 2022-08-02 07:33 开源遗迹 阅读(77) 评论(0) 推荐(0) 编辑
摘要:1、kafka数据分区和消费者的关系:1个partition只能被同组的⼀个consumer消费,同组的consumer则起到均衡效果 2、kafka的数据offset读取流程​ 1.连接ZK集群,从ZK中拿到对应topic的partition信息和partition的Leader的相关信息​ 2. 阅读全文
posted @ 2022-08-02 07:26 开源遗迹 阅读(362) 评论(0) 推荐(0) 编辑
摘要:https://www.jianshu.com/p/2b47a3078a46a. git init:使⽤git init初始化⼀个新的⽬录时,会⽣成⼀个.git的⽬录,该⽬录即为本地仓库。⼀个新初始化的本地仓库是这样的:|——HEAD|——branches|——config|—— descripti 阅读全文
posted @ 2022-08-01 18:08 开源遗迹 阅读(48) 评论(0) 推荐(0) 编辑
摘要:1、选择最合适的字段属性:类型、⻓度、是否允许NULL等;尽量把字段设为not null,⼀⾯查询时对⽐是否为null; 2.要尽量避免全表扫描,⾸先应考虑在 where 及 order by 涉及的列上建⽴索引。 3.应尽量避免在 where ⼦句中对字段进⾏ null 值判断、使⽤!= 或 <> 阅读全文
posted @ 2022-08-01 17:44 开源遗迹 阅读(175) 评论(0) 推荐(0) 编辑
摘要:a. InnoDB:1. ⽀持事务处理2. ⽀持外键3. ⽀持⾏锁4. 不⽀持FULLTEXT类型的索引(在Mysql5.6已引⼊)5. 不保存表的具体⾏数,扫描表来计算有多少⾏6. 对于AUTO_INCREMENT类型的字段,必须包含只有该字段的索引7. DELETE 表时,是⼀⾏⼀⾏的删除8.  阅读全文
posted @ 2022-08-01 17:39 开源遗迹 阅读(43) 评论(0) 推荐(0) 编辑
摘要:1、Zookeeper:基于zookeeper瞬时有序节点实现的分布式锁,其主要逻辑如下(该图来⾃于IBM⽹站)。⼤致思想即为:每个客户端对某个功能加锁时,在zookeeper上的与该功能对应的指定节点的⽬录下,⽣成⼀个唯⼀的瞬时有序节点。判断是否获取锁的⽅式很简单,只需要判断有序节点中序号最⼩的⼀ 阅读全文
posted @ 2022-08-01 17:33 开源遗迹 阅读(105) 评论(0) 推荐(0) 编辑
摘要:1. 通过 SpringFactoriesLoader加载 META-INF/spring.factories⽂件,获取并创建SpringApplicationRunListener对象2. 然后由 SpringApplicationRunListener来发出 starting 消息3. 创建参数 阅读全文
posted @ 2022-08-01 17:08 开源遗迹 阅读(1824) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 8 下一页
点击右上角即可分享
微信分享提示