
面试宝典
文章平均质量分 61
SELECT_BIN
这个作者很懒,什么都没留下…
展开
-
关于大数据下的深度分页
深度分页时随着页数的增加查询性能会逐渐下降,mysql这种的话可以考虑根据id规则及索引特性直接用id来计算分页,或者试下这个:mysql 深度分页,ES的话:分页方式 性能 优点 缺点 场景 from + size 低 灵活性好,实现简单 深度分页问题 数据量比较小,能容忍深度分页问题 scroll 中 解决了深度分页问题 无法反应数据的实时性(快照版本) 维护成本高,需要维护一个 scroll.原创 2020-07-22 11:25:01 · 474 阅读 · 0 评论 -
Spring Transactional(一)
一、事务简单介绍 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。1.1 事务基本要素原子性(Atomicity): 事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 一致性(Consistency): 事务开始前和结束后,数据库的完整性约束没有被破坏。比如A向B转账,不可能A扣了...原创 2020-05-12 14:55:21 · 678 阅读 · 0 评论 -
关于微服务的一些描述
最近面试经常会被问道:“你理解的服务治理是什么?”,想了一下,微服务用了这么久,感觉是怎么解释都不太恰当,搜索一下各个社区也没有统一的解释。自从微服务架构开始变得火热以后,越来越多的系统被拆解成了很多个细胞一样的微服务。设想一下,如果你的系统有100个微服务构成,要对这100个微服务进行管理,这绝对是一个不小的挑战。所以紧接着又出现了一堆让人头晕眼花的概念:服务注册发现,请求链路追踪,服务熔断...原创 2020-03-26 12:06:58 · 566 阅读 · 0 评论 -
缓存穿透,缓存击穿,缓存雪崩问题描述及解决方案
一、缓存概念知识1、是什么缓存我们日常生活中,经常会接触听到缓存这个词,例如,浏览器清空缓存,处理器缓存大小,磁盘缓存等等。经过分类,可以将缓存分为:硬件缓存:一般指的是机器上的 CPU、硬盘等等组件的缓存区间,一般是利用的内存作为一块中转区域,都通过内存交互信息,减少系统负载,提供传输效率。 客户端缓存:一般指的是某些应用,例如浏览器、手机App、视频缓冲等等,都是在加载一次数...原创 2020-03-25 11:14:35 · 418 阅读 · 0 评论 -
Spring中涉及的设计模式总结
1.简单工厂(非23种设计模式中的一种)实现方式:BeanFactory。Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定。实质:由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。实现原理:bean容器的启动阶段: 读取bean的xml配置文...原创 2020-03-20 12:20:55 · 282 阅读 · 0 评论 -
Spring Cloud 知识点总结
1. 什么是 Spring Cloud?Spring Cloud 基于 Spring Boot 使得整体的开发、配置、部署都非常方便,可快速搭建基于微服务的分布式应用,Spring Cloud 相当于微服务各组件的集大成者。 Spring Boot 和 Spring Cloud 的关系可大致理解为,Spring Boot 快速搭建基础系统,Spring Cloud 在此基础上实现分布式系...原创 2020-03-20 11:58:10 · 317 阅读 · 0 评论 -
Spring面试题总结
Spring概述1. 什么是spring?Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。2. 使用Spring框架的好处是什么?轻量:Spring 是轻量的,基...原创 2020-03-20 11:30:29 · 364 阅读 · 0 评论 -
Kafka知识点大全整理
一、kafka概述1.1、定义Kakfa是一个分布式的基于发布/订阅模式的消息队列(message queue),主要应用于大数据的实时处理领域1.2、消息队列1.2.1、传统的消息队列&新式的消息队列的模式上面是传统的消息队列,比如一个用户要注册信息,当用户信息写入数据库后,后面还有一些其他流程,比如发送短信,则需要等这些流程处理完成后,在返回给...原创 2020-03-20 11:19:45 · 413 阅读 · 0 评论 -
Zookeeper面试题总结
Zookeeper选举算法原理Leader选举Leader选举是保证分布式数据一致性的关键所在。当Zookeeper集群中的一台服务器出现以下两种情况之一时,需要进入Leader选举。 (1) 服务器初始化启动。(集群的每个节点都没有数据 → 以SID的大小为准) (2) 服务器运行期间无法和Leader保持连接。(集群的每个节点都有数据 ,或者Leader 宕机→ 以ZXID 和...原创 2020-03-10 11:07:38 · 351 阅读 · 0 评论 -
Spring Cloud与Dubbo优缺点详解
dubbo由于是二进制的传输,占用带宽会更少springCloud是http协议传输,带宽会比较多,同时使用http协议一般会使用JSON报文,消耗会更大dubbo的开发难度较大,原因是dubbo的jar包依赖问题很多大型工程无法解决springcloud的接口协议约定比较自由且松散,需要有强有力的行政措施来限制接口无序升级dubbo的注册中心可以选择zk,redis等多种,spr...转载 2020-02-21 11:54:54 · 288 阅读 · 0 评论 -
Java多线程面实题收集整理
40个Java多线程问题总结:前言Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多、越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的。这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位...原创 2019-10-30 11:09:20 · 198 阅读 · 0 评论 -
Spring AOP 和代理
我们知道,Spring 中 AOP 是一大核心技术,也是面试中经常会被问到的问题,最近我在网上也看到很多面试题,其中和 Spring AOP 相关的就有不少,这篇文章主要来总结下相关的技术点,希望对大家有用。0. 几个常见的问题针对这一块的东西,一般下面几个问题面试官问的比较多:* Spring AOP用的是哪种设计模式?* 谈谈你对代理模式的理解?* 静态代理和动态代理有什么...转载 2018-12-14 16:18:06 · 186 阅读 · 0 评论 -
常见数据结构与算法整理总结(下)
作者丨尘语凡心https://www.jianshu.com/p/230e6fde9c75这篇文章是常见数据结构与算法整理总结的下篇,上一篇主要是对常见的数据结构进行集中总结,这篇主要是总结一些常见的算法相关内容,文章中如有错误,欢迎指出。一、概述二、查找算法三、排序算法四、其它算法五、常见算法题六、总结一、概述以前看到这样一句话,语言只是工具,算法才是程序设...转载 2018-12-04 10:45:59 · 222 阅读 · 0 评论 -
推荐一个不错的学习网站(金丝燕网)
笔记本系列:http://swiftlet.net/archives/category/swiftlet-java转载 2019-02-18 16:24:12 · 292 阅读 · 0 评论 -
常见数据结构与算法整理总结(上)
作者丨尘语凡心https://www.jianshu.com/p/230e6fde9c75数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作。算法是为求解一个问题需要遵循的、被清楚指定的简单指令的集合。下面是自己整理的常用数据结构与算法相关内容,如有错误,欢迎指出。为了便于描述,文中涉及到的代码部分都是用Java语言编写的,其实Java本身对常见的...转载 2018-12-04 10:41:54 · 212 阅读 · 0 评论 -
Java集合框架整理
声明:此系列文章整理自陈树义;集合系列开篇:为什么要学集合?集合可以说是学习 Java 中最重要的一块知识点了,无论做任何业务系统,集合总是最为基础的那块 API。我第一次接触集合,是在我大三的时候,那时候去面试,面试官问我:你了解过集合吗?可惜那时候没什么项目经验,所以基本没有了解过,因此也错失了机会。到了现在,我已经工作了5年了,也做过了大大小小十几个项目。这些项目中有...原创 2019-09-16 09:50:08 · 326 阅读 · 0 评论 -
通过反射了解集合泛型的本质
个人小解,如果不对,欢迎指出;public static void main(String[] args) { ArrayList list1 = new ArrayList(); ArrayList<String> list2 = new ArrayList<String>(); Class c1 = list1.g...原创 2018-11-23 11:12:27 · 290 阅读 · 0 评论 -
为什么java是强类型语言
周六早上半睡半醒间突然想到一个问题:Java bean与Map里面的键值对到底啥关系;因为最近一直在复制粘贴前端,前台取对象属性的时候个人觉得后台传Java bean或者键值对,对前端使用者来说区别并不大,这个问题甚至让我纠结了一早上;但是我忽略了Java毕竟是强类型语言,而JavaScript是弱类型语言;这一早上撤来扯去,好像思考了一个没什么意义的问题;个人觉得前台因为...原创 2019-03-23 11:32:57 · 2686 阅读 · 0 评论 -
MYSQL千万级数据量的优化方法积累
大部分条目转自:https://www.cnblogs.com/crystaltu/p/6877228.html后面还会持续添加1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t whe...原创 2019-05-24 14:50:01 · 1913 阅读 · 0 评论 -
简析MySQL查询性能优化
MySQL应用中经常会遇到因数据量大而导之的查询效率低下,详细的优化参考我之前总结的博文:https://blog.csdn.net/SELECT_BIN/article/details/90516231这里主要介绍下 explain的使用,当然也是站在前辈大佬的肩膀上,explain 翻译过来就是解释的意思, 在 mysql 里被称作执行计划,即可以通过该命令看出 mysql 在经...原创 2019-07-16 04:26:48 · 295 阅读 · 0 评论 -
Spring cloud学习笔记
本文比较系统的介绍了Spring Cloud的技术栈,但是不够深入,1.微服务定义:2.Spring Cloud 技术栈伦敦地铁站命名法,这个是真的皮;3.服务治理服务治理,简单来说就是服务的注册和发现服务调用解释:这里只是画了单向的线,A和B其实是双向的,也就是B也可以去注册服务,A也可以调用;中间是Eureka Server协调4.实...原创 2019-07-20 17:38:11 · 247 阅读 · 0 评论 -
redis学习笔记(转)
转自:https://www.jianshu.com/p/9b71f8ee6e28redis单线程问题单线程指的是网络请求模块使用了一个线程(所以不需考虑并发安全性),即一个线程处理所有网络请求,其他模块仍用了多个线程。1.为什么说redis能够快速执行(1) 绝大部分请求是纯粹的内存操作(非常快速)(2) 采用单线程,避免了不必要的上下文切换和竞争条件(3) 非...转载 2019-07-26 11:46:57 · 222 阅读 · 0 评论 -
Java 面实题目收集系列
面试题目聚合事务1、什么是事务?事务的特性(ACID)什么是事务:事务是程序中一系列严密的操作,所有操作执行必须成功完成,否则在每个操作所做的更改将会被撤销,这也是事务的原子性(要么成功,要么失败)。事务特性分为四个:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Durability)简称ACID。1、原子性:事务是数据库...原创 2019-09-22 20:49:07 · 2794 阅读 · 0 评论 -
【转载】Java IO面试题
从http://www.imooc.com/article/details/id/24305转载Java IO是面试中常问到的问题.什么是IO流?它是一种数据的流从源头流到目的地。比如文件拷贝,输入流和输出流都包括了。输入流从文件中读取数据存储到进程(process)中,输出流从进程中读取数据然后写入到目标文件。字节流和字符流的区别。字节流在JDK1.0中就被引进了,用于操作包含ASCII字符的文...转载 2018-07-10 15:33:19 · 418 阅读 · 0 评论 -
【猴子吃桃问题】但是猴子说桃子走了,心情不好很想抽烟
* 有一只猴子喜欢抽烟,假设买了X根烟,第一天抽了0.5X,还不过瘾,睡觉之前又抽了一根,* 第二天又抽了剩下了一半,睡觉之前又抽了一根,* 第三天还是抽了第二天剩下的一半,睡觉之前又抽了一根,* 日复一日,抽了九天,* 到第十天的时候就剩下一根烟,* 问他第一天抽了多少根??* 用java写一个方法得到答案/** * @version 1.0 * @ClassNam...原创 2018-11-15 15:20:44 · 271 阅读 · 0 评论 -
java常见面试题及答案 1-10
java常见面试题及答案1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程。Java 源文件被编译成能被 Java 虚拟机执行的字节码文件。Java 被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java 虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其...转载 2018-10-31 14:30:37 · 226 阅读 · 0 评论 -
java常见面试题及答案 11-20(JVM)
11.JVM内存分哪几个区,每个区的作用是什么?java虚拟机主要分为以下一个区:方法区:1. 有时候也成为永久代,在该区内很少发生垃圾回收,但是并不代表不发生GC,在这里进行的GC主要是对方法区里的常量池和对类型的卸载2. 方法区主要用来存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数据。3. 该区域是被线程共享的。4. 方法区里有一个运行时常量池,用于存放...转载 2018-10-31 11:30:37 · 189 阅读 · 0 评论 -
Spring 面试问题 TOP 50
原文:http://www.cnblogs.com/jingmoxukong/p/9408037.html#spring-%E9%9D%A2%E8%AF%95%E9%97%AE%E9%A2%98-top-50 Spring 面试问题 TOP 50Spring Framework 现在几乎已成为 Java Web 开发的标配框架。那么,作为 Java 程序员,你对 Spring 的...转载 2018-08-20 09:45:16 · 278 阅读 · 0 评论 -
【转载】35个Java 代码性能优化总结(完整版)
转自:http://www.imooc.com/article/20308前言代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以...转载 2018-07-10 15:55:29 · 246 阅读 · 0 评论 -
【转载】40个Java多线程问题总结
转自:http://www.imooc.com/article/20234 字号前言个人认为,学习,内容越多、越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的。这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的...转载 2018-07-10 15:53:12 · 182 阅读 · 0 评论 -
【转载】20个高级Java面试题汇总
转自:http://www.imooc.com/article/20702这是一个高级Java面试系列题中的第一部分。这一部分论述了可变参数,断言,垃圾回收,初始化器,令牌化,日期,日历等等Java核心问题。1. 什么是可变参数?可变参数允许调用参数数量不同的方法。请看下面例子中的求和方法。此方法可以调用1个int参数,或2个int参数,或多个int参数。 //int(type) followed...转载 2018-07-10 15:51:29 · 251 阅读 · 0 评论 -
【转载】前端面试技巧:面试频繁出现的几个易错点
转自:https://www.imooc.com/article/details/id/244881.前言这段时间,金三银四,很多人面试,很多人分享面试题。在前段时间,我也临时担任面试官,为了大概了解面试者的水平,我也写了一份题目,面试了几个前端开发者。在这段时间里面,我在学,在写设计模式的一些知识,想不到的设计模式的这些知识,就是面试题里面,频繁让人掉坑的考点。所以,今天就总结一下,那些让人掉坑...转载 2018-07-10 15:36:59 · 304 阅读 · 0 评论 -
程序员必学的十个算法
转载请在文章开头注明作者和出处作者: ChainGod(孙飞)原文链接: http://chaingod.io/article/14算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inne...转载 2018-06-22 10:36:32 · 8042 阅读 · 0 评论 -
如何准备算法面试?
主要介绍算法面试的一些问题、以及如何准备算法面试<!--more-->算法面试不仅仅是正确的回答问题对于面试中遇到的大多数问题,都能有一个合理的思考路径什么是算法面试?让大家在面对面试中的算法问题时,有一个合理的思考路径:不代表能够“正确”回答每一个算法问题,但是合理的思考方向其实更重要,也是正确完成算法面试问题的前提算法面试优秀不意味着技术面试优秀技术面试优秀不意味着能够拿到Offe...转载 2018-06-22 10:35:41 · 2630 阅读 · 10 评论 -
数据库常见面试题总结
1. 主键 超键 候选键 外键主 键: 数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。 超 键: 在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。 候选键: 是最小超键,即没有冗余元素的超键。 外 键: 在一个表中存在...转载 2018-04-09 11:03:10 · 231 阅读 · 0 评论 -
第一章:J2EE高级软件工程师面试题集
--JAVA基础部分 1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个...转载 2018-04-09 11:03:24 · 2280 阅读 · 0 评论 -
Java 面试知识点总结
本篇文章会对面试中常遇到的Java技术点进行全面深入的总结,帮助我们在面试中更加得心应手,不参加面试的同学也能够借此机会梳理一下自己的知识体系,进行查漏补缺(阅读本文需要有一定的Java基础)。本文的问题列表来自于www.nowcoder.com/discuss/304…在此感谢原作者的无私分享:) 1. Java中的原始数据类型都有哪些,它们的大小及对应的封装类是什么? booleanbool...转载 2018-04-09 11:03:33 · 431 阅读 · 0 评论 -
Java 虚拟机 ( JVM ) 概述
转自:https://mp.weixin.qq.com/s?__biz=MjM5NzMyMjAwMA==&mid=2651481482&idx=2&sn=ea1d64fa9236e41f7e1f48efdd2c3bfe&chksm=bd2509f58a5280e33d41edb11cc7b1c91b9a23ad46cd53f6a55863518a4fdea53e...转载 2018-08-20 09:58:45 · 210 阅读 · 0 评论 -
Java web一些常用的知识点
POST和GET有什么区别? GET是从服务器上获取数据,POST是向服务器传送数据 GET是通过发送HTTP协议通过URl参数传递进行接收,而POST是实体数据,通过表单提交 GET传送的数据量较小,不能大于2KB。POST传送的数据量较大,一般被默认为不受限制 GET安全性非常低,POST安全性较高 session与cookie的区别 sessio...原创 2018-08-20 10:06:56 · 417 阅读 · 0 评论 -
Java常见面试题及答案 21-30(集合类)
21.HashMap的工作原理是什么?HashMap内部是通过一个数组实现的,只是这个数组比较特殊,数组里存储的元素是一个Entry实体(jdk 8为Node),这个Entry实体主要包含key、value以及一个指向自身的next指针。HashMap是基于hashing实现的,当我们进行put操作时,根据传递的key值得到它的hashcode,然后再用这个hashcode与数组的长度进行模运算...转载 2018-10-31 11:24:43 · 165 阅读 · 0 评论