面试题
-
【310期】面试官:MySQL主备、主从、读写分离你了解多少?
一、MySQL主备的基本原理 在状态1中,客户端的读写都直接访问节点A,而节点B是A的备库,只是将A的更新都同步过来,到本地执行。这样可以保持节点B和A的数据是相同的。当需要切换的…
-
【309期】阿里巴巴菜鸟网络——面试经历记录
在boss直聘上无意间看到了阿里巴巴菜鸟网络的招聘信息,现在的部门已经有两名同学被蚂蚁金服录取了,自己就不服气的也想试试。这次面试其实并没有准备充分。 之前就听说总共有很多轮数,不…
-
【308期】面试官:为什么kafka效率这么高?
kafka的IO效率这么高的原因: (1)第一个是在写入数据的时候第一个就是因为kafka是顺序写入数据的,把普通的那种随机IO变成了顺序IO,这样的话写入数据的速度就比较快 (2…
-
【307期】面试官:什么是NIO?NIO的原理是什么?
NIO和IO到底有什么区别?有什么关系? 首先说一下核心区别: NIO是以块的方式处理数据,但是IO是以最基础的字节流的形式去写入和读出的。所以在效率上的话,肯定是NIO效率比IO…
-
【306期】面试官:解决集群环境下定时任务多次执行的办法有哪些?
一、只在一台服务器上部署该定时任务代码。 优点:解决方法容易理解 缺点:部署麻烦,需要多套代码,且当这台服务器出问题时就没定时任务了。 二、在定时任务代码上加上某个特定的ip限制,…
-
【305期】面试官:Redis用过是吧?那你讲讲Redis都有哪些监控指标?
监控指标 性能指标:Performance 内存指标: Memory 基本活动指标:Basic activity 持久性指标: Persistence 错误指标:Error 性能指…
-
【304期】堆排序算法(图解详细流程)
堆排序的时间复杂度O(N*logN),额外空间复杂度O(1),是一个不稳定性的排序 一 准备知识 堆的结构可以分为大根堆和小根堆,是一个完全二叉树,而堆排序是根据堆的这种数据结构设…
-
【303期】如何理解算法中的时间复杂度?
概念 常数时间的操作:一个操作如果和数据量没有关系,每次都是固定时间内完成的操作,叫做常数操作。 时间复杂度为一个算法流程中,常数操作数量的指标。常用O(读作big O)来表示。具…
-
【302期】面试官:幂等性的接口该如何设计?
幂等性设计 今天我们来聊聊接口的幂等性设计,所谓幂等,就是任意多次执行所产生的影响均与一次执行的影响相同。 幂等性接口是指可以使用相同参数重复执行,并能获得相同结果的接口。这里就不…
-
【301期】面试官:dubbo为什么没有采用jdk的spi机制?
1,jdk中的spi机制 1.1 spi的设计目标 面向的对象的设计里,模块之间是基于接口编程,模块之间不对实现类进行硬编码。 一旦代码里涉及具体的实现类,就违反了可拔插的原则,如…
-
【300期】面试官:Elasticsearch 是如何做到快速检索的
一、前言 最近接触的几个项目都使用到了 Elasticsearch (以下简称 ES ) 来存储数据和对数据进行搜索分析,就对 ES 进行了一些学习。本文整理自我自己的一次技术分享…
-
【299期】面试官:详细说一说MySQL InnoDB 中意向锁的作用
前言 InnoDB 支持多粒度锁(multiple granularity locking),它允许行级锁与表级锁共存,而意向锁就是其中的一种表锁。 意向锁(Intention L…
-
【298期】面试官:如何保证token的安全
接口的安全性主要围绕token、timestamp和sign三个机制展开设计,保证接口的数据不会被篡改和重复调用,下面具体来看: Token授权机制: 用户使用用户名密码登录后服务…
-
【297期】面试官:为什么在new 对象里面使用自动注入对象会报空指针异常?
根本原因在于当Spring框架帮我们管理的时候就会自动的初始化接下来会用到的属性,而通过new对象的方式,在该new对象中使用到的一些实例就需要自己去做初始化,否则就会报空指针异常…
-
【296期】面试官:详细说说对MQ消息队列的理解以及主流MQ的优缺点
前言 近期有了想跳槽的打算,所以自己想巩固一下自己的技术,想了解一些面试比较容易加分的项,近期准备深入研究一下Redis和MQ这两样,这总体上都是为了解决服务器并发的原因,刚翻到了…
-
【295期】面试官:已经用k8s来部署运维各个微服务的组件,是否可以不用整套微服务?
问题: 已经用k8s来部署运维各个微服务的组件,是否可以不用整套微服务框架了,比如熔断,服务发现等可以不用呢? 回答: 可以,但要看情况。 以主流的SpringCloud为例,其提…