面试题
晏十一的实验室
吃得咸看得淡
展开
-
Redis-02 redis面试题1
1、基础面试题1.1、简单介绍redisredis本质上是一个key-value的nosql数据库。整个数据库都加载在内存当中进行操作,定期通过异步操作吧数据库数据flush到硬盘上进行保存。redis性能非常出色,每秒可以处理超过10万次读写操作。支持多种数据结构。单个value的最大限制为1GB。可以实现很多功能:list可以做fifo双向链表;可以实现一个轻量级高性能的消息队列;...原创 2019-01-11 18:20:41 · 584 阅读 · 0 评论 -
面试题-反射1
1、什么是反射?反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力;主要提供了以下功能:在运行时判断任意一个对象所属的类。在运行时构造任意一个类的对象。在运行时判断任意一个类所具有的成员变量和方法。在运行时调用任意一个对象的方法。2、什么是java序列化?什么情况下需要序列化?java序列化:为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来。有...转载 2019-03-23 22:43:24 · 142 阅读 · 0 评论 -
面试题-对象拷贝
1、如何实现对象克隆?实现Cloneable接口并重写Object类中的clone()方法。实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆。2、深拷贝和浅拷贝浅拷贝只复制了对象的引用地址,两个对象指向同一个内存地址。将对象和值复制过来,两个对象指向不同的内存地址。...转载 2019-03-23 22:47:26 · 206 阅读 · 0 评论 -
面试题-JVM-GC
1、GC基础1.1、GC基础算法标记清除、标记整理、复制、分代。这些算法做的第一件事都是标记。1.2、JVM标记算法JVM标记算法采用了根搜索引擎,根有几种:1、JVM栈(虚拟机栈)的引用;2、静态类、常量的引用;3、本地栈中的引用;4、本地方法的引用;标记分为几个阶段:1、标记直接和根引用的对象;2、标记间接和根引用的对象;3、由于分代算法,被老年代对象所引用的新生代的...原创 2019-04-10 16:17:25 · 170 阅读 · 0 评论 -
设计模式1-工厂模式
1、简单工厂模式首先,创建一个车的抽象基类,里面有抽象方法用来描述public abstract class ICar { public abstract void desc();}其次,创建各大品牌的车型public class BMW { @Override public void desc() { System.output("BMW是世界上最好的品牌。");...原创 2019-04-02 22:47:30 · 68 阅读 · 0 评论 -
面试题-rabbitmq
1、转载 2019-04-10 01:47:19 · 115 阅读 · 0 评论 -
面试题-容器2-hashMap原理
1、原创 2019-04-13 18:58:31 · 112 阅读 · 0 评论 -
面试题-JVM2-类加载过程
1、代码运行步骤首先,虚拟机进程首先从classpath中找到Text.class文件,读取这个文件中的二进制数据,然后吧Text类的信息存放到运行时数据区的方法区中。然后,JVM定位到方法区中的Text类的Main方法的字节码,开始执行它的指令。在堆内为一个新的实例分配内存,这个实例持有着2、类的加载顺序父类静态代码块(不包括静态方法);子类静态代码块(不包括静态方法);...原创 2019-04-13 22:48:29 · 214 阅读 · 0 评论 -
面试题-基础类型1
1.JDK 和 JRE 有什么区别?JDK:Java Development Kit的简称,java开发工具包,提供java开发环境和运行环境。JRE:Java Runtime Environment的简称,java运行环境,为java的运行提供了所需环境。JDK包含了JRE,如果要运行java程序,需要安装JRE。如果要编写java程序,需要安装JDK。2.== 和 equals 的...转载 2019-03-13 16:42:46 · 90 阅读 · 0 评论 -
面试题-spring事务1
1、spring和事务的关系spring和事务是管理关系。2、spring事务三要素数据源:表示具体的事务性资源,是事务的真正处理者,如MySql。事务管理器:从整体上管理事务,如打开、提交、回滚。事务应用和属性配置:标识符,表明要参与事务的方法;如何参与事务,以及一些相关属性如隔离级别、超时时间。3、spring事务的注解的本质@Transactional这个注解具有两方...转载 2019-03-24 22:46:23 · 292 阅读 · 0 评论 -
集合框架-面试题01
1、基础面试题1、java中常见的集合框架Collection:List:LinkedList;ArrayList;Vector;StackSet:HashSet;TreeSetMapHashTableHashMapWeakHashMap2、ArrayList与LinkedList的异同是否保证线程安全:ArrayList和LinkedList都是不保证线程安...转载 2019-02-17 23:23:33 · 127 阅读 · 0 评论 -
设计模式-单例模式
1、饿汉式(静态变量)public class Singleton { private final static Singleton INSTANCE = new Singleton(); private Singleton() {} public static Singleton getInstance() { return INSTANCE; }}在类加载时完成实例化。避...原创 2019-02-18 21:29:15 · 86 阅读 · 0 评论 -
排序算法-面试题
1、算法汇总2、算法简介2.1、冒泡排序// 时间复杂度 o(n2)public static void BubbleSort(int[] nums) { int count = nums.length; for (int i = 0; i < count - 1; i++) { for (int j = i + 1; j < count; j ++) { if...原创 2019-03-10 21:53:13 · 106 阅读 · 0 评论 -
面试题-多线程1
1、并行和并发的区别并行是指两个和多个时间在同一个时间发生;并发是指两个或多个事件在同一时间间隔内发生;并行实在不同实体上的多个事件,并发是在同一实体上的多个事件;并发:在一台处理器上同时处理多个任务;并行:在多台处理器上同时处理多个任务。2、线程和进程的区别进程是程序运行和资源分配的基本单位,一个程序至少有一个进程。进程在执行过程中有独立的内存单元,线程是进程的一个实体,是cp...转载 2019-03-21 02:37:10 · 77 阅读 · 0 评论 -
面试题-javaweb1
1、jsp的4种作用域page:代表与一个页面相关的对象和属性;request:与web客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,需要在页面显示的临时数据可以置于此作用域;session:代表与某个用户与服务器简历的一次会话相关的对象和属性。application:代表与整个web应用程序相关的对象和属性,实际上是跨越整个web应用程序,包括多个页面、请求和绘画的一...转载 2019-03-24 18:45:37 · 93 阅读 · 0 评论 -
面试题-异常1
1、throw和throws区别?throw是用来生命一个方法可能抛出的所有异常信息;throws是将异常声明出来不处理,将异常往上传,谁调用谁处理。2、final、finally、finalize之间的区别?final可以修饰类、变量、方法,修饰类表示该类不能被继承;修饰方法表示该方法不能被重写;修饰变量表示该变量是一个常量不能被重新赋值;finally一般作用在try-catc...转载 2019-03-24 19:09:22 · 93 阅读 · 0 评论 -
面试题-网络1
1、http响应码301和302代表什么?区别?301、302都是HTTP状态的编码,都代表着某个URL发生了转移,进行了重定向,浏览器在拿到这个状态码之后回跳到一个新的URL地址,这个地址可以从响应的Location首部中获取。301:代表永久性转移,旧地址A的资源已经被永久的移除了;302:表示旧地址A的资源还在,这个重定向只临时的从旧地址A跳到地址B,搜索引擎会抓取新的内容而保存旧的...转载 2019-03-24 20:09:56 · 145 阅读 · 0 评论 -
面试题-容器1
1、java容器都有哪些?Collection:List、Queue、SetList:Vector、ArrayList、LinkedListQueue:LinkedList、Priority QueueVector:StackSet:HashSet、TreeSetHashSet:LinkHashSetMap:HashMap、TreeMap2、Collection和Collect...转载 2019-03-17 23:16:47 · 218 阅读 · 0 评论 -
面试题-mysql1
1、索引是什么索引是为了加速对表中数据行的检索而创建的一种分散存储的数据结构。关系型数据库的索引一般为硬盘级索引。2、B+树2.1、二叉查找树第一个元素为根节点,后面元素比他大的放右边,小的放左边。若后续插入的元素都比根节点大,则会变成一个线性链表的数据结构,与无索引相同。2.2、平衡二叉查找树节点左右叶子节点层级差不超过1。频繁变更的列最好不要建立索引,左旋右旋会造成...原创 2019-04-18 22:28:33 · 109 阅读 · 0 评论