21道最新Java面试题剖析(数据库+JVM+微服务+高并发) 前言 纵观几年来的Java面试题,你会发现每家都差不多。你仔细观察就会发现,HashMap的出现几率未免也太高了吧!连考察的知识点都一样,什么hash碰撞啊,并发问题啊!再比如JVM,无外乎考内存结构,GC算法等!因此,如果是为了面试,完全是有套路可以准备的!记住,基础再好,也架不住面试官天...
Redis持久化的原理及优化 作者:全菜工程师小辉 链接:https://www.cnblogs.com/mseddl/p/11465417.html?utm_source=tuicool&utm_medium=referral Redis提供了将数据定期自动持久化至硬盘的能力,包括RDB和AOF两...
开发人员如何解决 Spring Cloud 服务冲突和实例乱窜? 作者:zlt2000原文:https://www.cnblogs.com/zlt2000/p/11459390.html?utm_source=tuicool&utm_medium=referral 一、背景 在我们开发微服务架构系统时,虽然说每个微服务都是孤立的可以...
金九银十面试前必须要知道的“21道Redis面试题” 1、使用redis有哪些好处? 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) 支持丰富数据类型,支持string,list,set,sorted set,hash 支持事务,操作都是原子性,所谓的原子性就...
当面试官问到:《MySQL数据库的锁机制》该如何拿分? 为什么要加锁? 问题背景 当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。 要解决的问题 多用户环境下保证数据库完整性和一致性 锁是什么 在计算...
《Java 编写基于 Netty 的 RPC 框架》 一 简单概念 RPC: ( Remote Procedure Call),远程调用过程,是通过网络调用远程计算机的进程中某个方法,从而获取到想要的数据,过程如同调用本地的方法一样. 阻塞IO :当阻塞I/O在调用InputStream.read()方法是阻塞的,一直等到数据到来时才返回,同...
安排:《蚂蚁花呗1234面:Redis+分布式架构+MySQL+linux+红黑树》 前言: 大厂面试机会难得,为了提高面试通关率,建议朋友们在面试前先复盘自己的知识栈,依据掌握程度划分重要、优先级,系统地去学习!如果不准备充分就去参加面试,既会失去进入大厂的机会,更是对自己的不负责。 蚂蚁花呗一面(一个小时): 1、Java容器有哪些?哪些是同步容器,哪些是并...
《用消息服务来提高微服务的可靠性》 前言: 过去,我们很容易通过:取出裸机服务器、安装所有必需的软件、添加所有应用代码、将数据加载上去的一系列流程,来部署单体应用程序(monolithic application)。由于一切组件都集中在一台服务器上,因此这种应用不但能够处理较大的流量,并且非常容易管理与部署。 然而...
《集群、限流、缓存 BAT 大厂无非也就是这么做的》 前言 前阵子有网友询问,如何优化网站?这个问题真的很大,跟他简单的聊了一下,随便说了几点,觉得有必要整理一篇文章出来,正好前阵子在做爬虫博客,于是把大体思路分享出来,与大家互通有无,共同进步。 优化 版本一 系统开始是这样子的,一个 Tomcat 拖着一个 MySq...
《Tomcat和JVM的性能调优你真的学会了吗?》总结篇 Tomcat性能调优: 找到Tomcat根目录下的conf目录,修改server.xml文件的内容。对于这部分的调优,我所了解到的就是无非设置一下Tomcat服务器的最大并发数和Tomcat初始化时创建的线程数的设置,当然还有其他一些性能调优的设置,下图是我根据我机子的性能设置的一...
脏读、幻读和不可重复读?为啥? 前言: 一致性是指在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。这是说数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。 例子: 对银行转帐事务,不管事务成功还是失败,应该保证事务结束后ACCOUNT表中A和B的存款总额为x元不变。 Isola...
《分布式设计模式—分布式事务》 作者:h-松链接:https://juejin.im/post/5d5569466fb9a06af629a9ab 分布式事务的挑战 在多个服务、数据库和消息代理之间维持数据的一致性的传统方式是采用分布式事务。分布式的事实标注是XA、XA采用了两阶段提交老保证事务中的所有参与方同时完成提...
MySQL高可用架构:mysql+keepalived实现 系统环境及架构 #主机名 系统版本 mysql版本 ip地址mysqlMaster <a href="https://www.linuxprobe.com/" title="centos" target="_blank">centos</a...
《大牛到底是如何阅读JDK源码的?》一起来学习一下 前言: 如何阅读源码,是每个程序员需要面临的一项挑战,为什么需要阅读源码?从实用性的角度来看,主要有三个目的: 第一,解决手头的新问题或者新需求; 第二,真正理解一部分理论的落地实现; 第三,应对面试。 端正心态 在准备投身到阅读源码的事业之前,首先需要端正一下心态: ...
并发环境下,先操作数据库还是先操作缓存? 背景 当你手中抓住一件东西不放时,你只能拥有一件东西,如果你肯放手,你就有机会选择更多。与其在别人的生活里跑龙套,不如精彩做自己。人无所舍,必无所成。跌倒了,失去了,不要紧,爬起来继续风雨兼程,且歌且行。 一、概念 事务到底是什么东西呢?想必大家学习的时候也是对事务的概念...
这几道Redis面试题都不懂,offer肯定与你擦肩而过 今天来分享一下Redis几道常见的面试题: 如何解决缓存雪崩? 如何解决缓存穿透? 如何保证缓存与数据库双写时一致的问题? 一、缓存雪崩 1.1什么是缓存雪崩? 回顾一下我们为什么要用缓存(Redis): 现在有个问题,如果我们的缓存挂掉了,这意味着我们的全...
HashMap 底层实现原理,看完面试不再懵逼。 前言: HashMap是在面试中经常会问的一点,很多时候我们仅仅只是知道HashMap他是允许键值对都是Null,并且是非线程安全的,如果在多线程的环境下使用,是很容易出现问题的。 这是我们通常在面试中会说的,但是有时候问到底层的源码分析的时候,为什么允许为Null,为什么不安全,这些问题的...
果断收藏:《JVM史上最最最最全实践优化》没有之一? 1.Jvm的运行参数 在jvm中有很多的参数可以进行设置,这样可以让jvm在各种环境中都能够高效的运行。绝大部分的参数保持默认即可。 1.1 三种参数类型 jvm的参数类型分为三类,分别是 : 标准参数 : -help -versio...
29个你必须掌握的微服务面试问题(含答案解析) 这29个微服务面试题基本涵盖了方方面,希望对你有所帮助。 一、什么是Spring Cloud? 在微服务中,SpringCloud是一个提供与外部系统集成的系统。它是一个敏捷的框架,可以短平快构建应用程序。与有限数量的数据处理相关联,它在微服务体系结构中起着非常重要的作用。 以下为...
《MySQL重要知识点及面试总结》:推荐收藏 作者:Snailclimb链接:https://segmentfault.com/a/1190000019619667?utm_source=tuicool&utm_medium=referral 前言: 这篇花文章是我花了几天时间对之前总结的MySQL知识点做了完善...