- 博客(28)
- 收藏
- 关注
原创 美团二面:为什么Redis会有哨兵?
话不多说,发车发车!提纲为什么要有哨兵机制?在 Redis 的主从架构中,由于主从模式是读写分离的,如果主节点(master)挂了,那么将没有主节点来服务客户端的写操作请求,也没有主节点给从节点(slave)进行数据同步了。主节点挂了这时如果要恢复服务的话,需要人工介入,选择一个「从节点」切换为「主节点」,然后让其他从节点指向新的主节点,同时还需要通知上游那些连接 Redis 主节点的客户端,将其配置中的主节点 IP 地址更新为「新主节点」的 IP 地址。这样也不太“智能”了,要是有一个节点能监控「主节点」
2022-06-07 15:49:26
123
1
原创 用2W字梳理50道计算机网络必问面试题
1. 说说HTTP常用的状态码及其含义?思路: 这道面试题主要考察候选人,是否掌握HTTP状态码这个基础知识点。不管是不是面试需要,我们都要知道,日常开发中的这几个状态码的含义哈:2. HTTP 常用的请求方式,区别和用途?思路: 这道题主要考察候选人,是否掌握HTTP请求方式这个基础知识点,我们用得比较多就是GET和POST啦。3. 请简单说一下你了解的端口及对应的服务?4. 说下计算机网络体系结构思路: 这道题主要考察候选人,计算机网络体系结构这个基础知识点。计算机网路体系结构呢,有三层:ISO七层模型
2022-06-07 15:44:09
618
原创 各大厂在三月问得最多的50道Java基础面试题
1. Arraylist与LinkedList区别可以从它们的底层数据结构、效率、开销进行阐述哈ArrayList是数组的数据结构,LinkedList是链表的数据结构。随机访问的时候,ArrayList的效率比较高,因为LinkedList要移动指针,而ArrayList是基于索引(index)的数据结构,可以直接映射到。插入、删除数据时,LinkedList的效率比较高,因为ArrayList要移动数据。LinkedList比ArrayList开销更大,因为LinkedList的节点除了存储数据,还需要
2022-06-06 22:41:22
257
原创 15张图让你了解Redis为什么单线程还这么快了
作为一名后端工程师,工作中你肯定和 Redis 打过交道。Redis 为什么快,这点想必你也知道,至少为了面试也做过准备。很多人知道 Redis 快仅仅因为它是基于内存实现的,对于其它原因倒是模棱两可。那么今天就来一起看看:- 思维导图 -基于内存实现这点在一开始就提到过了,这里再简单说说。Redis 是基于内存的数据库,那不可避免的就要与磁盘数据库做对比。对于磁盘数据库来说,是需要将数据读取到内存里的,这个过程会受到磁盘 I/O 的限制。而对于内存数据库来说,本身数据就存在于内存里,也就没有了这方面的开销
2022-06-06 22:18:53
338
原创 35道MySQL面试必问题图解,这样也太好理解了吧
关于面试题的文章之前发过不少,但读者们给的反馈是普遍是理解难,看完就忘。所以今天我会用画图来给大家分析一下这35道题,希望能够加深你们的理解。篇幅所限,本文先写MySQL的35问,其他的技术栈我也都整理好了,后面会持续更新,点个关注不迷路[看]好了,那废话不多说,我们一起来揭开这35道题的神秘面纱1.说一说三大范式「第一范式」:数据库中的字段具有「原子性」,不可再分,并且是单一职责「第二范式」:「建立在第一范式的基础上」,第二范式要求数据库表中的每个实例或行必须「可以被惟一地区分」。为实现区分通常需要为表加
2022-06-06 22:11:00
728
原创 Java程序员不得不会的124道面试题(含答案)
专注于编程、互联网动态。最终将总结的技术、心得、经验(数据结构与算法、源码分析等)享给大家,这里不只限于技术!还有职场心得、生活感悟、以及面经。多线程、并发及线程的基础问题1)Java 中能创建 volatile 数组吗?能,Java 中可以创建 volatile 类型数组,不过只是一个指向数组的引用,而不是整个数组。我的意思是,如果改变引用指向的数组,将会受到 volatile 的保护,但是如果多个线程同时改变数组的元素,volatile 标示符就不能起到之前的保护作用了。2)volatile 能使得一个
2022-06-06 19:52:57
311
1
原创 啃完这份独家“Spring高级源码笔记”,面试P7问源码不带心虚的
前言Spring是分层的full-stack(全栈)轻量级开源框架,以IOC和APO和内核,提供了展现层SpringMVC和业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,已经成为使用最多的JavaEE企业应用开源框架。而我们经常说的Spring其实指的是Spring Framework(Spring框架)。今天咱们来分享个《Spring高级源码笔记》,总共包含七大部分的内容第一部分 Spring概述(基本情况)第二部分 核心思想IOC和APO第三部分 手写实现IOC和AP
2022-05-29 15:20:55
76
原创 听说你很懂源码?Spring读懂了?还有这20道源码面试题接得住吗?
面试官(非常严肃):听说你很懂源码?Spring读懂了?还有这20道源码面试题接得住吗?话说,看戏的盆友们,能抵挡的住面试官的连环炮疯狂轰炸吗????挡不住,那就来看前方高能预警,深度源码分析之Spring,还有20道源码面试题带你一网兜住面试问源码——20道经典题(附解析)问题一:看到这个图,你会想到什么?问题二:列出常见的集合,并进行简单的介绍问题三:关于Iterator,聊聊你的看法问题四:对于Collection,你了解多少?问题五:那么AbstractCollection呢?问题六: 能否详细说一
2022-05-29 14:35:36
85
原创 这份Java面试八股文让329人成功进入大厂,堪称2021最强
前言2021秋招即将来临,很多同学会问Java面试八股文有必要背吗?我的回答是:很有必要。你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂。国内的互联网面试,恐怕是现存的、最接近科举考试的制度。而且,我国的八股文确实是独树一帜。以美国为例,北美工程师面试比较重视算法(Coding),近几年也会加入Design轮(系统设计和面向对象设计OOD)和BQ轮(Behavioral question,行为面试问题)。那么为什么国内面试不采取这样的考察方式呢?简单来说,互联网IT行业的求职者太多了,如果考察的
2022-05-28 21:26:42
148
原创 三面滴滴失败,总结了Java面试题,有几个题还是一直搞不懂
前言这是我在工作、面试中学习并总结到的一些知识点,都是一些比较典型的、面试常常被问到的问题。如果你平时没有注意去总结的话,那么当你面试被问到的时候可能会是一脸懵圈,就算这个问题你知道怎么回事,但是你平时没有认真总结,你也可能会出现逻辑混乱的情况,从而错失工作机会。有些知识点不经常使用就会忘记,但是面试还会问,对此,我也是深受其害,所以我决定将这些遇见的问题整理下来,分享出去,帮助更多的人,我们共同进步。为了让大家更清晰地了解整份面试题包含的内容,小编这里也直接整理了一份思维导图。如下图所示;本文包含Java
2022-05-28 15:12:24
197
原创 面试宝典:java常见面试46题 含答案福利
1. 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。2. JDK和JRE的区别是什么?Java运行时环境(JRE)。它包括Java虚拟机、Java核心类库和支持文件。它不包含开发工具(JDK)--编译器
2022-05-27 17:17:05
874
原创 精选2020年大厂高频Java面试真题集锦(含答案),面试一路开挂
本文涵盖了阿里巴巴、腾讯、字节跳动、京东、华为等大厂的Java面试真题,不管你是要面试大厂还是普通的互联网公司,这些面试题对你肯定是有帮助的,毕竟大厂一定是行业的发展方向标杆,很多公司的面试官同样会研究大厂的面试题。与此同时,今年算法面试一定是会被问的,而算法不是光靠背面试题就有用的,它是需要数学逻辑思维的,因此,小编会在文末为大家准备一份非常优质的算法学习手册,重点在于学习思维方法,话不多说,直接开始上精选的大厂面试真题!由于文章篇幅限制,不可能将所有面试题以文字形式把大厂面试题展示出来,本篇为大家精选了
2022-05-27 15:41:52
343
原创 牛客网付费的Java最新面试宝典(附答案解析)被我搞到手了
前言2022届高校毕业生规模预计1076万人,同比增加167万人,对于22届的同学们来说,今年下半年大规模进行的秋招是获得全职Offer的最重要的途径!对于程序员来说,大家都知道校招难度相对于社招来说会有所降低,同时把握好应届生这个身份对我们进入大厂也更有优势!为了能够帮助更多Java岗位同学就业,小编淘来了牛客网最新Java面试宝典,本套题库均来自海量真实校招面试题目大数据进行的整理,学完这个题库,把此题库都理解透彻应对各家企业面试完全没有问题。(当然要加上好的项目以及透彻掌握和你有足够强的手撕代码的能力
2022-05-27 13:59:16
542
原创 ES 的分布式架构原理能说一下么(ES 是如何实现分布式的啊)?
面试官心理分析在搜索这块,lucene 是最流行的搜索库。几年前业内一般都问,你了解 lucene 吗?你知道倒排索引的原理吗?现在早已经 out 了,因为现在很多项目都是直接用基于 lucene 的分布式搜索引擎—— ElasticSearch,简称为 ES。而现在分布式搜索基本已经成为大部分互联网行业的 Java 系统的标配,其中尤为流行的就是 ES,前几年 ES 没火的时候,大家一般用 solr。但是这两年基本大部分企业和项目都开始转向 ES 了。所以互联网面试,肯定会跟你聊聊分布式搜索引
2022-05-25 20:10:37
205
原创 消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么优缺点?
面试题 为什么使用消息队列? 消息队列有什么优点和缺点? Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?面试官心理分析其实面试官主要是想看看:第一,你知不知道你们系统里为什么要用消息队列这个东西? 不少候选人,说自己项目里用了 Redis、MQ,但是其实他并不知道自己为什么要用这个东西。其实说白了,就是为了用而用,或者是别人设计的架构,他从头到尾都没思考过。 没有对自己的架构问过为什么的人,一定是平时没有思考的人,面试官对这类候选人印象
2022-05-25 16:46:13
88
原创 10次面试9次被刷?吃透这500道大厂Java高频面试题后,怒斩offer
很多Java工程师的技术不错,但是一面试就头疼,10次面试9次都是被刷,过的那次还是去了家不知名的小公司。问题就在于:面试有技巧,而你不会把自己的能力表达给面试官。应届生:你该如何准备简历,面试项目和面试说辞?Spring底层逻辑是什么?1-3年经验的程序员:面试中你该讲哪些值钱的技术?如何用这些值钱的技术最大程度展示自己的技能?分布式组件底层逻辑是什么?3-5年经验的程序员:k8s怎么搭建实践?这些问题,相信每一位Java程序员都曾遇到过,甚至有的人至今也不知道要怎么解决,屡面屡败,最终导致你的面试通过率
2022-05-25 15:43:46
65
原创 真香,180页100+题15W+字解析的《Java高级面试指南》,果断收下
近期有很多朋友在考虑跳槽,“面试造火箭,工作拧螺丝”这话说得十分吻合他们的现状!而说到准备面试,那是真不容易,趁着空挡我也收集了不少Java高级面试资源!而这180页100+题15W+字解析的《Java高级面试指南》更是深得我心,100+题包含:消息队列、Redis缓存、MySQL的分库分表读写分离、高并发系统设计、分布式、高可用、SpringCloud微服务架构等的内容,每一道题皆从面试官的角度分析题意,然后再附带完整的解析,先看题目,答不上的再翻阅答案!注意:考虑到篇幅原因,这份《Java高级面试指南》
2022-05-24 20:41:14
81
原创 2022年春招牛客网最热门的Java岗面试八股文汇总
前言2022年了各行各业都不容易,互联网行业更是卷得没法看,但还是那句话,在没有能力制定规则之前最好老老实实遵守规则,这会让你活得更轻松一些,。今天也不搞那些花里胡哨的了,单纯的总结了一下今年面试被问得最多的1000道题,说1000道就是1000道,一题都不少,希望对还没找到合适工作的同学有所帮助。除了这些之外我个人也整理了一些还不错的学习资料。资料获取方式:关注小编+转发文章+私信【面试题】获取上述资料~面向对象什么是面向对象?对比面向过程,是两种不同的处理问题的角度面向过程更注重事情的每一个步骤及顺序,
2022-05-24 20:02:30
89
原创 追根溯源Redis,阿里Redis速成笔记Github新开源
RedisRedis作为当前互联网世界最为流行的NoSQL数据库,在互联网系统中的作用非常大,因为它可以在很大程度上提高互联网系统的性能。但是绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对Redis整体缺乏一个认知。其实我们大多数人对于Redis的使用只是触及到它的冰山一角,你往深了看就会发现,Redis不止缓存跟分布式锁。那么Redis还有哪些功能?我们平时的项目里又有哪些地方能用到Redis?对Redis的一个整体认知又要如何
2022-05-24 19:12:19
92
原创 面试官:小伙子你给我说说MySql并发事务处理细节
❝最近同事开发时遇到了一个事务阻塞的问题,通过网上查询发现关于MySQL事务、锁这一块的资料都比较絮乱,让人看得云里雾里,所以借着这个机会,刚好也对这一块内容做一个总结梳理,希望能比较全面去写一下MySQL的并发事务处理。❞本文主线:简述事务的特性与隔离级别聊聊MySql中各种类型的锁然后再聊聊MVCC是个什么东东接着再聊聊数据库锁的触发及升级,以及死锁最后说下出现锁问题时的常见排查命令简述事务的特性与隔离级别:❝在讲锁之前,必须要先聊聊 「 事务的特性与隔离级别 」 ,因为锁机制的存在是为了保证事务对应隔
2022-05-24 17:19:33
96
原创 源码不止Spring,阿里Java程序员源码进修指南我粉了
为什么要阅读源码?不知道大家有没有发觉,最近面试关于源码这个东西是问得越来越多!也不知道大家最近有没有去面试,上周我一老友去面试了快手,阿里,美团,字节等大厂,上去就是看不完的源码,搞得他心态大崩,搁家里怀疑人生,前几天才缓回来。可能有的人就会有疑问了,看源码能得到啥?看了能涨薪吗?答案是必然的,能看懂源码是程序员的内功体现。对一个技术栈想要知其然也知其所以然的话肯定是要去看源码的,学会看源码无论是对你工作上排除BUG,或者是改造项目、学习设计思想都是有很大裨益的。如何阅读源码?为了达到事半功倍的效果,一般
2022-05-24 16:20:00
77
原创 Github一夜爆火,阿里微服务全栈实录开源,实战部署齐飞
SpringCloud微服务微服务思想逐渐流行起来的时候,无论是技术论坛还是程序员间的谈话,都在讨论微服务,整个互联网兴起了微服务的浪潮。大势所趋之下阿里于2012年推出了Dubbo框架,但由于种种原因,Dubbo停止了维护,就在这时,Spring Cloud横空出世,它基于Spring Boot,同时集成了市面上比较成熟的微服务组件,形成了一套完整的微服务解决方案。据有关数据表明,现在已经有越来越多的互联网公司都开始在用SpringCloud了。用户量大并发数多,基本都会进行应用拆封,这时候就形成微服务了
2022-05-24 15:09:09
119
原创 IntelliJ IDEA中的神仙插件 写代码必备
IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Java
2022-05-23 16:24:26
231
原创 不会还有程序员不知道跳槽季靠这1700道java面试题就能平淌大厂吧
说快也快,说不快也不慢!年前,陆陆续续,好多大厂都在裁员;年后,又有一大批程序员失业,找不到避风港;这时候,就有人说了,为什么找工作这么难?其实,并不是找工作难,而是你没有找对方法、面试技巧,你更需要的是硬技术+软技能相结合,才能畅通无阻,平淌大厂offer拿到手软!在这激动人心的时候不得不给正在找工作的程序员来一波重大福利了,小编准备了今年最新的1700道大厂的java面试题,希望大家能够喜欢!从java基础语法、JVM、多线程到MySQL、spring、springboot、springcloud,再有
2022-05-23 15:27:35
79
原创 MySQL死锁分析与解决之路
来自:贝壳DBA咱们使用 MySQL 大概率上都会遇到死锁问题,这实在是个令人非常头痛的问题。本文将会对死锁进行相应介绍,对常见的死锁案例进行相关分析与探讨,以及如何去尽可能避免死锁给出一些建议。--什么是死锁 --死锁是并发系统中常见的问题,同样也会出现在数据库MySQL的并发读写请求场景中。当两个及以上的事务,双方都在等待对方释放已经持有的锁或因为加锁顺序不一致造成循环等待锁资源,就会出现“死锁”。常见的报错信息为 ” Deadlock found when trying to get lock...
2022-05-23 14:35:17
347
原创 SpringBoot2.x拥抱本地缓存之王Caffeine
作者:超级小豆丁来源:http://www.mydlq.club/article/56/环境配置:JDK 版本:1.8Caffeine 版本:2.8.0SpringBoot 版本:2.2.2.RELEASE一、本地缓存介绍缓存在日常开发中启动至关重要的作用,由于是存储在内存中,数据的读取速度是非常快的,能大量减少对数据库的访问,减少数据库的压力。之前介绍过 Redis 这种 NoSql 作为缓存组件,它能够很好地作为分布式缓存组件提供多个服务间的缓存,但是 Redis 这种还是需要网络开销,增加时耗。本地缓
2022-05-21 21:57:03
1284
原创 连接池:别让连接池帮了倒忙
今天,我再与你说说另一种很重要的池化技术,即连接池。我先和你说说连接池的结构。连接池一般对外提供获得连接、归还连接的接口给客户端使用,并暴露最小空闲连接数、最大连接数等可配置参数,在内部则实现连接建立、连接心跳保持、连接管理、空闲连接回收、连接可用性检测等功能。连接池的结构示意图,如下所示:业务项目中经常会用到的连接池,主要是数据库连接池、Redis连接池和HTTP连接池。所以,今天我就以这三种连接池为例,和你聊聊使用和配置连接池容易出错的地方。注意鉴别客户端SDK是否基于连接池在使用三方客户端进行网络通信
2022-05-21 20:17:29
267
原创 Java性能优化:Stream如何提高遍历集合效率?
什么是Stream?现在很多大数据量系统中都存在分表分库的情况。例如,电商系统中的订单表,常常使用用户ID的Hash值来实现分表分库,这样是为了减少单个表的数据量,优化用户查询订单的速度。但在后台管理员审核订单时,他们需要将各个数据源的数据查询到应用层之后进行合并操作。例如,当我们需要查询出过滤条件下的所有订单,并按照订单的某个条件进行排序,单个数据源查询出来的数据是可以按照某个条件进行排序的,但多个数据源查询出来已经排序好的数据,并不代表合并后是正确的排序,所以我们需要在应用层对合并数据集合重新进行排序。
2022-05-21 19:32:37
106
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人