面试
文章平均质量分 86
实际一些面试分类的栏目
Janson_Lin
前中科院开发工程师!
展开
-
MySQL用B+树(而不是B树)做索引的原因
众所周知,MySQL的索引使用了B+树的数据结构。那么为什么不用B树呢?先看一下B树和B+树的区别。1.B树维基百科对B树的定义为“在计算机科学中,B树(B-tree)是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(log n)的时间复杂度运行进行查找、顺序读取、插入和删除的数据结构。B树,概括来说是一个节点可以拥有多于2个子节点的二叉查找树。与自平衡二叉查找树不同,B-树为系统最优化大块数据的读和写操作。B-tree算法减少定位记录时所经历的中间过程,从而加快存取速度。普遍运用在数据转载 2022-02-23 21:20:37 · 1309 阅读 · 0 评论 -
Redis到底是多线程还是单线程?
1、Redis 单线程到底指什么?没错,大家所熟知的 Redis 确实是单线程模型,指的是执行 Redis 命令的核心模块是单线程的,而不是整个 Redis 实例就一个线程,Redis 其他模块还有各自模块的线程的。下面这个解释比较好:Redis基于Reactor模式开发了网络事件处理器,这个处理器被称为文件事件处理器。它的组成结构为4部分:多个套接字、IO多路复用程序、文件事件分派器、事件处理器。因为文件事件分派器队列的消费是单线程的,所以Redis才叫单线程模型。2、Redi.转载 2021-12-06 09:34:32 · 728 阅读 · 0 评论 -
【面试】Redis 都有哪些监控指标
# 监控指标 性能指标:Performance 内存指标: Memory 基本活动指标:Basic activity 持久性指标: Persistence 错误指标:Error 性能指标:Performance Name Description latency Redis响应一个请求的时间 instantaneous_ops_per_sec 平均每秒处理请求总数 hi rate(calculated) 缓存命中率转载 2021-08-16 15:16:07 · 404 阅读 · 0 评论 -
【面试题】RabbitMQ 面试总结
# 前言RabbitMQ是基于AMQP协议的,通过使用通用协议就可以做到在不同语言之间传递。# AMQP协议核心概念 server:又称broker,接受客户端连接,实现AMQP实体服务。 connection:连接和具体broker网络连接。 channel:网络信道,几乎所有操作都在channel中进行,channel是消息读写的通道。客户端可以建立多个channel,每个channel表示一个会话任务。 message:消息,服务器和应用程序之间传递的数原创 2021-08-16 15:08:28 · 256 阅读 · 0 评论 -
深度解析Java 线程池的实现原理
Java 系统的运行归根到底是程序的运行,程序的运行归根到底是代码的执行,代码的执行归根到底是虚拟机的执行,虚拟机的执行其实就是操作系统的线程在执行,并且会占用一定的系统资源,如CPU、内存、磁盘、网络等等。所以,如何高效的使用这些资源就是程序员在平时写代码时候的一个努力的方向。本文要说的线程池就是一种对 CPU 利用的优化手段。线程池,百度百科是这么解释的:线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大转载 2021-05-26 10:26:34 · 3333 阅读 · 0 评论 -
美团二面:Redis与MySQL双写一致性如何保证?
前言四月份的时候,有位好朋友去美团面试。他说,被问到Redis与MySQL双写一致性如何保证?这道题其实就是在问缓存和数据库在双写场景下,一致性是如何保证的?本文将跟大家一起来探讨如何回答这个问题。谈谈一致性一致性就是数据保持一致,在分布式系统中,可以理解为多个节点中数据的值是一致的。 强一致性:这种一致性级别是最符合用户直觉的,它要求系统写入什么,读出来的也会是什么,用户体验好,但实现起来往往对系统的性能影响大 弱一致性:这种一致性级别约束了系统在写入成功后,不承诺立即转载 2021-05-24 10:21:36 · 101 阅读 · 0 评论 -
巧了!面试官问我:String 长度有限制吗?是多少?
前言话说 Java 中 String 是有长度限制的,听到这里很多人不禁要问,String 还有长度限制?是不是都懵了?答案是的有,而且在 JVM 编译中还有规范,而且有的家人们在面试的时候也遇到了。本人就遇到过面试的时候问这个的,而且在之前开发的中也真实地遇到过这个 String 长度限制的场景(将某固定文件转码成 Base64 的形式用字符串存储,在运行时需要的时候在转回来,当时文件比较大),那这个规范限制到底是怎么样的,咱们话不多说先先撸为敬。String首先要知道 String 的长原创 2021-04-14 09:21:08 · 187 阅读 · 2 评论 -
Ajax 原理是什么?如何实现?
一、是什么AJAX全称(Async Javascript and XML)即异步的JavaScript和XML,是一种创建交互式网页应用的网页开发技术,可以在不重新加载整个网页的情况下,与服务器交换数据,并且更新部分网页Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用JavaScript来操作DOM而更新页面流程图如下:下面举个例子:领导想找小李汇报一下工作,就委托秘书去叫小李,自己就接着做其他事情,直到秘书告诉...原创 2021-04-01 20:46:27 · 212 阅读 · 0 评论 -
面试官:谈谈你对ThreadLocal的理解(挖一挖jdk8中的ThreadLocal)
一、ThreadLocal是什么一句话概括:Synchronized用于线程间的数据共享,而ThreadLocal则用于线程间的数据隔离。所以ThreadLocal的应用场合,最适合的是按线程多实例(每个线程对应一个实例)的对象的访问,并且这个对象很多地方都要用到。数据隔离的秘诀其实是这样的,Thread有个TheadLocalMap类型的属性,叫做threadLocals,该属性用来保存该线程本地变量。这样每个线程都有自己的数据,就做到了不同线程间数据的隔离,保证了数据安全。1、在进行对象跨层原创 2021-03-23 10:15:50 · 411 阅读 · 0 评论 -
爬虫项目
WechatSogou[1]-微信公众号爬虫。基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典。DouBanSpider[2]- 豆瓣读书爬虫。可以爬下豆瓣读书标签下的所有图书,按评分排名依次存储,存储到Excel中,可方便大家筛选搜罗,比如筛选评价人数>1000的高分书籍;可依据不同的主题存储到Excel不同的She...原创 2019-08-22 09:31:54 · 468 阅读 · 0 评论