面试
文章平均质量分 92
Apple_Web
吃苹果的程序员正在努力ing...
展开
-
如何回答面试官最喜欢问的“三高“?
文章目录前言正文一、缓存1.1 缓存为什么有效?1.2 缓存分类1.3 缓存使用指南1.4 缓存更新的策略1、Cache-Aside:2、Cache-As-SoR:二、预处理和延后处理2.1 预处理2.2 延后处理三、池化3.1 内存池3.2 线程池3.3 连接池四、同步变异步五、消息队列5.1 服务解耦5.2 异步处理5.3 流量削峰5.4 总结六、批量处理七、数据库7.1 索引7.2 读写分离7.3 分库分表八、具体技法8.1 零拷贝8.2 无锁化8.3 序列化与反序列化总结前言金九银十,又是一年校转载 2020-09-15 20:41:37 · 762 阅读 · 0 评论 -
一次非常有意思的sql优化经历
文章目录场景索引优化单列索引多列索引索引覆盖排序场景我用的数据库是mysql5.6,下面简单的介绍下场景课程表create table Course(c_id int PRIMARY KEY,name varchar(10))数据100条学生表:create table Student(id int PRIMARY KEY,name varchar(10))数据70000条学生成绩表SCCREATE table SC( sc_id int PRIMA转载 2020-06-22 10:40:51 · 291 阅读 · 0 评论 -
强化基础,HashMap源码全角度详细解析
文章目录一、重新认识HashMap二、知其所以然----撸源码1. 从类注释开始,能够掌握整个HashMap大致框架2. 初始化2.1、构造方法解析2.2、负载因子、阈值深度解析3. 新增3.1、新增源码分析:3.2、扩容3.3、链表树化3.4、红黑树拆分、链化4. 删除5. 查找6. 遍历三、总结一、重新认识HashMap什么是HashMap?HashMap底层基于散列(Hash)算法,采用hash表实现键值对集合,继承了AbstractMap,实现了Map接口。最早出现在jdk1.2,允许nu转载 2020-05-27 23:23:49 · 362 阅读 · 0 评论 -
Java统一异常处理--实战篇
文章目录背景什么是统一异常处理目标统一异常处理实战用 Assert(断言) 替换 throw exceptionAssert善解人意的Enum定义统一异常处理器类异常处理器说明handleServletExceptionhandleBindExceptionhandleValidExceptionhandleBusinessException、handleBaseExceptionhandleException异于常人的404统一返回结果验证统一异常处理主要代码开始验证捕获自定义异常捕获进入 Control转载 2020-05-26 09:31:38 · 4292 阅读 · 1 评论 -
24个经典的MySQL索引问题,你都会了吗?
文章目录1、什么是索引?2、索引有哪些优缺点?索引的优点索引的缺点3、索引使用场景(重点)whereorder byjoin索引覆盖4、索引有哪几种类型?主键索引:唯一索引:普通索引:全文索引:5、索引的数据结构(b树,hash)(1)B树索引(2)哈希索引6、索引的基本原理7、索引算法有哪些?BTree算法Hash算法8、索引设计的原则?9、创建索引的原则(重中之重)10、创建索引的三种方式,删除索引第一种方式:在执行CREATE TABLE时创建索引第二种方式:使用ALTER TABLE命令去增加索引第转载 2020-05-19 13:15:58 · 731 阅读 · 0 评论 -
redis 分布式锁的 5个坑,真是又大又深
文章目录引言二、B的锁被A给释放了三、数据库事务超时四、锁过期了,业务还没执行完五、redis主从复制的坑总结引言最近项目上线的频率颇高,连着几天加班熬夜,身体有点吃不消精神也有些萎靡,无奈业务方催的紧,工期就在眼前只能硬着头皮上了。脑子浑浑噩噩的时候,写的就不能叫代码,可以直接叫做Bug。我就熬夜写了一个bug被骂惨了。由于是做商城业务,要频繁的对商品库存进行扣减,应用是集群部署,为避免并发造成库存超买超卖等问题,采用 redis 分布式锁加以控制。本以为给扣库存的代码加上锁lock.tryLock转载 2020-05-09 14:16:02 · 473 阅读 · 0 评论 -
两种数据库迁移方案你了解吗
停机迁移方案我先给你说一个最 low 的方案,就是很简单,大家伙儿凌晨 12 点开始运维,网站或者 app 挂个公告,说 0 点到早上 6 点进行运维,无法访问。接着到 0 点停机,系统停掉,没有流量写入了,此时老的单库单表数据库静止了。然后你之前得写好一个导数的一次性工具,此时直接跑起来,然后将单库单表的数据哗哗哗读出来,写到分库分表里面去。导数完了之后,就 ok 了,修改系统的数据库连接配置啥的,包括可能代码和 SQL 也许有修改,那你就用最新的代码,然后直接启动连到新的分库分表上去。验证一下,原创 2020-05-08 17:49:09 · 1840 阅读 · 1 评论 -
一文搞定Java并发面试
文章目录1、Object的wait()和notify() 方法2、并发特性 - 原子性、有序性、可见性3、synchronized 实现原理?4、volatile 的实现原理?5、Java 内存模型(JMM)6、有关队列 AQS 队列同步器7、锁的特性8、ReentrantLock 锁9、ReentrantReadWriteLock10、Synchronized 和 Lock 的区别11、Java 中线程同步的方式12、CAS 是一种什么样的同步机制?多线程下为什么不使用 int 而使用 AtomicInt转载 2020-05-08 17:33:56 · 363 阅读 · 0 评论 -
最全阿里 JVM 面试题总结
文章目录1.操作系统中 heap 和 stack 的区别?2.什么情况下会发生栈内存溢出?2.什么情况下会发生堆溢出?3.JVM的内存结构,Eden和Survivor比例?4.JVM内存为什么要分成新生代,老年代,持久代?新生代中为什么要分为Eden和Survivor?5.JVM中一次完整的GC流程是怎样的?对象如何晋升到老年代?说说你知道的几种主要的JVM参数?6.你知道哪几种垃圾收集器?各自的...转载 2020-05-08 16:58:02 · 569 阅读 · 0 评论 -
最全阿里开源框架知识面试题总结
文章目录1.简单讲讲tomcat结构,以及其类加载器流程,线程模型等?2.tomcat如何调优?涉及哪些参数?3.讲讲Spring加载流程?4.Spring AOP的实现原理?5.讲讲Spring事务的传播属性?6.Spring如何管理事务的?7.Spring怎么配置事务(具体说出一些关键的xml 元素)?8.说说你对Spring的理解,非单例注入的原理?它的生命周期?循环注入的原理,aop的实现...转载 2020-05-08 17:19:17 · 488 阅读 · 0 评论 -
41 道 Spring Boot 面试题,帮你整理好了!
今天跟大家分享下SpringBoot 常见面试题的知识。1 什么是springboot ?用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件)创建独立的spring引用程序 main方法运行嵌入的Tomcat 无需部署war文件简化maven配置自动配置spring添加对应功能starter自动化配置答:spring boot来...转载 2020-05-08 16:37:41 · 3444 阅读 · 0 评论 -
MySQL之优化实战记录
文章目录MySQL之SQL优化实战记录背景部分网络架构图业务简单说明原数据库设计原查询效率目标业务缺陷问题排查前台慢 or 后台慢sql有什么问题查询优化去除不必要的字段去除不必要的嵌套查询分解sql将分解的sql异步执行优化MySQL配置根据业务,再加上筛选条件将where条件中除时间条件外的字段建立联合索引将where条件中索引条件使用inner join的方式去关联性能瓶颈环境对比优化结果及...转载 2020-05-08 16:08:01 · 396 阅读 · 0 评论 -
一次SQL查询优化原理分析(900W+数据,从17s到300ms)
有一张财务流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时16 s 938 ms (execution: 16 s 831 ms, fetching: 107 ms),按照下文的方式调整SQL后,耗时347 ms (execution: 163 ms, fetching: 184 ms);操作: 查询条件放到子查询中,子查询只查主键ID,然后使用...转载 2020-04-28 14:43:34 · 293 阅读 · 0 评论 -
为什么代码规范要求SQL语句不要过多的join?
送分题面试官:有操作过Linux吗?我:有的呀面试官:我想查看内存的使用情况该用什么命令我:free 或者 top面试官:那你说一下用free命令都可以看到啥信息我:那,如下图所示 可以看到内存以及缓存的使用情况total 总内存used 已用内存free 空闲内存buff/cache 已使用的缓存avaiable 可用内存面试官:那你知道怎么清理已使用的缓存吗(bu...转载 2020-03-25 08:56:35 · 941 阅读 · 0 评论 -
Spring 中经典的 9 种设计模式,打死也要记住啊!
文章目录1.简单工厂(非23种设计模式中的一种)2.工厂方法3.单例模式4. 适配器模式5.装饰器模式6.代理模式7.观察者模式8.策略模式9.模版方法模式1.简单工厂(非23种设计模式中的一种)实现方式:BeanFactory。 Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体...转载 2020-03-19 15:37:58 · 260 阅读 · 0 评论 -
Redis面试常见问题大综合
文章目录一、项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?面试官心理分析面试题剖析项目中缓存是如何使用的?为什么要用缓存?高性能高并发用了缓存之后会有什么不良后果?二、redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?面试官心理分析面试题剖析redis 和 memcached 有啥区别?redis 支持复杂...原创 2020-02-10 11:44:25 · 1859 阅读 · 0 评论 -
消息队列面试常见问题大综合
文章目录一、为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么优点和缺点?面试官心理分析面试题剖析为什么使用消息队列解耦异步削峰消息队列有什么优缺点Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点?二、如何保证消息队列的高可用?面试官心理分析面试题剖析RabbitMQ 的高可用性单机模式普通集群模式...原创 2020-02-09 17:17:02 · 3516 阅读 · 0 评论 -
Java中String字符串面试详解
从一个博客上看到的6个题,先看看吧,如果都会了,这部分的知识就掌握的不错啦!输出结果在代码注释后面:test1:package StringTest;public class test1 {public static void main(String[] args){String a = "a1";//“a1”在编译的时候就能确定,所以编译的时候,a1被放进了常量池中,同时a指向常...转载 2019-12-01 20:41:01 · 362 阅读 · 0 评论 -
Java面试必知HashMap的工作原理
“你用过HashMap吗? 什么是HashMap?你为什么用到它?”几乎每个人都会回答“是的”,然后回答HashMap的一些特性,譬如HashMap可以接受null键值和值,而Hashtable则不能;HashMap是非synchronized;HashMap很快;以及HashMap储存的是键值对等等。这显示出你已经用过HashMap,而且对它相当的熟悉。但是面试官来个急转直下,从此刻开始问出一...转载 2019-10-22 16:05:02 · 379 阅读 · 0 评论 -
HashMap问题总结
文章目录hashmap的一些基础原理为什么是2的n次幂1、hashmap的数据结构2、hash算法3、hashmap的resize4、key的hashcode与equals方法改写5 、HashMap 中为什么需要一个hashCode 值6、当数组长度不为2的n次幂其他为什么加载因子是0.75hashmap的一些基础原理关于浏览hashmap基础原理之后的一些汇总:1、在JDK8及以后的版本...原创 2019-10-20 15:40:42 · 517 阅读 · 0 评论 -
深入探讨HashMap的底层结构、原理、扩容机制
文章目录摘要简介内部实现存储结构-字段功能实现-方法1. 确定哈希桶数组索引位置2. 分析HashMap的put方法3. 扩容机制线程安全性JDK1.8与JDK1.7的性能对比Hash较均匀的情况Hash极不均匀的情况小结摘要HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMa...转载 2019-09-16 14:47:40 · 2122 阅读 · 0 评论 -
ConcurrentHashMap的实现原理(JDK1.7和JDK1.8)
文章目录哈希表ConcurrentHashMap与HashMap等的区别JDK1.7版本的CurrentHashMap的实现原理JDK1.8版本的CurrentHashMap的实现原理总结HashMap、CurrentHashMap 的实现原理基本都是BAT面试必考内容,阿里P8架构师谈:深入探讨HashMap的底层结构、原理、扩容机制深入谈过hashmap的实现原理以及在JDK 1.8的实现区...转载 2019-09-16 14:49:55 · 1805 阅读 · 0 评论 -
为什么面试官总喜欢问String?
关于 Java String,这是面试的基础,但是还有很多童鞋不能说清楚,所以本文将简单而又透彻的说明一下那个让你迷惑的 String在 Java 中,我们有两种方式创建一个字符串String x = "abc";String y = new String("abc");你常见也常写第一种,很少见第二种,但面试还总问这类问题,双引号和构造器两种形式创建字符串到底有什么差别呢?先来看例子...转载 2019-09-16 15:11:43 · 369 阅读 · 0 评论 -
让我再撸一次HashMap
正文(1)HashMap的实现原理?此题可以组成如下连环炮来问你看过HashMap源码嘛,知道原理嘛?为什么用数组+链表?hash冲突你还知道哪些解决办法?我用LinkedList代替数组结构可以么?既然是可以的,为什么HashMap不用LinkedList,而选用数组?你看过HashMap源码嘛,知道原理嘛?针对这个问题,嗯,当然是必须看过HashMap源码。至于原理,下面...转载 2019-09-16 16:01:41 · 326 阅读 · 0 评论 -
HashMap?面试?我是谁?我在哪
1、为什么用HashMap?2、HashMap的工作原理是什么?3、有什么方法可以减少碰撞?4、HashMap中hash函数怎么是是实现的?5、拉链法导致的链表过深问题为什么不用二叉查找树代替,而选择红黑树?为什么不一直使用红黑树?6、说说你对红黑树的见解?7、解决hash 碰撞还有那些办法?8、如果HashMap的大小超过了负载因子(load factor)定义的容量,怎么办?...转载 2019-09-16 14:42:01 · 264 阅读 · 0 评论