面试
段远山
山不向我走来,我便向它走去!.........张雨亭
展开
-
2020年产品经理面试题-----产品经理面试题
1、介绍一下你自己介绍一下自己的姓名,年龄、毕业院校,工作经历。简单的介绍,保持在三分钟以内,给面试官问问题的时间。工作经历主要讲一些你牛逼的工作经历,例如:你加入XX公司以后,销售额增加了多少、用户翻了多少倍…这样一些。有些人工作经历比较多,3年跳了好几家公司,建议你合并一下,不然面试官会觉得你这个人没有定力,在其他家公司干的时间都不长,在我公司能干多久?至于你的毕业院校牛逼的肯定要说出来,如果觉得学校不好,不好意思说那就不说吧。总的原则就是扬长避短,把自己的经历简单介绍下,然后留给面试官原创 2020-06-28 15:04:52 · 7658 阅读 · 2 评论 -
2020年Java面试题-----简单介绍一下:synchronized 与lock区别
lock是一个接口,而synchronized是java的一个关键字 synchronized异常会释放锁,lock异常不会释放,所以一般try catch包起来,finally中写入unlock,避免死锁。 Lock可以提高多个线程进行读操作的效率 synchronized关键字,可以放代码块,实例方法,静态方法,类上 lock一般使用ReentrantLock类做为锁,配合lock()和unlock()方法。在finally块中写unlock()以防死锁。 jdk1.6之前synchroniz原创 2020-06-28 14:04:54 · 188 阅读 · 0 评论 -
2020年Java面试题-----Mysql哪些字段适合建立索引
适合建立索引:表的主键、外键必须有索引; 数据量超过300的表应该有索引; 在where从句,group by从句,order by从句,on从句中的列添加索引 索引应该建在选择性高的字段上; 索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引; 复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:不适合的字段:表记录少 经常插入、删除、修改的表,不要建立太多的索引; 删除无用的索引,避免对执行计划造成负面影响;...原创 2020-06-27 19:09:17 · 333 阅读 · 0 评论 -
2020年Java面试题-----数据库事务的概念和特性
数据库的事务(Transaction)是一种机制、一个操作序列,包含了一组数据库操作命令。事务把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行,因此事务是一个不可分割的工作逻辑单元。在数据库系统上执行并发操作时,事务是作为最小的控制单元来使用的,特别适用于多用户同时操作的数据库系统。例如,航空公司的订票系统、银行、保险公司以及证券交易系统等。事务具有 4 个特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)原创 2020-06-25 20:38:10 · 319 阅读 · 1 评论 -
2020年Java面试题-----说一下redis的RedLock(红锁)及原理介绍
Redlock是一种算法,Redlock也就是Redis Distributed Lock,可用实现多节点redis的分布式锁。 RedLock官方推荐,Redisson完成了对Redlock算法封装。 此种方式具有以下特性: 互斥访问:即永远只有一个 client 能拿到锁 避免死锁:最终 client 都可能拿到锁,不会出现死锁的情况,即使锁定资源的服务崩溃或者分区,仍然能释放锁。 容错性:只要大部分 Redis 节点存活(一半以上),就可以正常提供服务 RedLock原理(了解).原创 2020-06-24 11:12:36 · 7177 阅读 · 4 评论 -
2020年面试题-----简单介绍下Redis
Redis是C 编写的,高性能非关系型数据库。 Redis 键只能为字符串,值支持五种数据类型:string、has、list、set、zset。 Redis 的数据存在内存中的,读写速度非常快, redis 被广泛应用于缓存方向,每秒可以处理超过10万次读写操作,是已知性能最快的Key-Value DB。 支持数据持久化,支持AOF(Append Only File)和RDB(Redis DataBase)两种持久化方式。 支持主从复制,主机会自动将数据同步到从机,可以进行读写分离。 Red..原创 2020-06-24 10:53:10 · 250 阅读 · 0 评论 -
2020年面试题-----Redis缓存淘汰策略
Redis内存不足的缓存淘汰策略提供了8种。 noeviction:当内存使用超过配置的时候会返回错误,不会驱逐任何键 allkeys-lru:加入键的时候,如果过限,首先通过LRU算法驱逐最久没有使用的键 volatile-lru:加入键的时候如果过限,首先从设置了过期时间的键集合中驱逐最久没有使用的键 allkeys-random:加入键的时候如果过限,从所有key随机删除 volatile-random:加入键的时候如果过限,从过期键的集合中随机驱逐 volatile-ttl:从原创 2020-06-24 10:51:47 · 1581 阅读 · 0 评论 -
2020年面试题-----简单说一下前后端分离?前后端分离的好处?
什么是前后端分离:后台代码看不到前端代码 后台开发接口可以用postman测试,不用管前端界面。 前端开发页面可以mock测试数据,不用管后台接口的开发。 前后端基于json传输数据,基于resultFul风格的请求响应。 前后端适当的时候进行接口联调。 前后端分离到底有哪些好处 各司其职 并行开发 ...原创 2020-06-24 10:49:09 · 594 阅读 · 0 评论 -
2020年面试题------Object类中的方法?各自有什么作用
Object类中的方法?各自有什么作用1.clone方法保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常主要是JAVA里除了8种基本类型传参数是值传递,其他的类对象传参数都是引用传递,我们有时候不希望在方法里将参数改变,这是就需要在类中复写clone方法。2.getClass方法final方法,获得运行时类型。3.toString方法该方法用得比较多,一般子类都有覆盖。4.finalize方法该原创 2020-06-23 09:47:59 · 209 阅读 · 0 评论 -
赋值运算符
"="是赋值运算符,可以将右边bai的运du算结果赋值给左边的变量。"<<"是左移运zhi算符,将数左移一位即相当于扩大2倍。dao"|"是位或运算符,即按二进制存储数据的位进行或运算。a=(0<<2)|(1<<3) 中有括号,先运算括号中的表达式,0<<2 结果还是0,1<<3 结果为1*2*2*2=8,而0|8=8。所以结果为:a= 8。...原创 2020-06-17 14:46:27 · 1438 阅读 · 0 评论 -
2020年面试题-----Eureka自我保护机制是什么?
Eureka自我保护机制出现的背景: Eureka的自我保护机制是为了防止误杀服务。当注册中心发生故障,服务不能够正常的续约,但是服务运行正常,默认情况下,Eureka会将超过90s未续约的服务进行移除。这样做明显不合理,所以Eureka提供了一个自我保护机制。Eureka自我保护机制是什么?Eureka在运行期间会统计心跳失败的比例,在15分钟内是否低于85%,如果出现了低于的情况,Eureka Server会将当前的实例注册信息保护起来,同时提示一个警告,表明进入了保护模式...原创 2020-06-17 10:15:39 · 1378 阅读 · 0 评论 -
2020年面试题-----简单介绍一下动态代理有几种实现方式
java的动态代理技术的实现主要有两种方式:JDK原生动态代理 CGLIB动态代理JDK原生动态代理是Java原生支持的,不需要任何外部依赖,但是它只能基于接口进行代理(需要代理的对象必须实现于某个接口)CGLIB通过继承的方式进行代理(让需要代理的类成为Enhancer的父类),无论目标对象有没有实现接口都可以代理,但是无法处理final的情况。...原创 2020-06-16 23:57:54 · 645 阅读 · 0 评论 -
2020年面试题------JVM的三种类加载器介绍
类经过java文件编码成.class文件,通过、jvm虚拟机启动时,会将.class文件拆分成四分五裂的,通过一个.class对象来调用它,这就是类加载器,并为之生成的java.lang.Class对象.JVM中的类的加载器主要有三种:启动类加载器,拓展类加载器,应用类加载器。(引导类)启动类加载器(Bootstrap classLoader):又称为引导类加载器,由C++编写,无法通过程序得到。主要负责加载JAVA中的一些核心类库,主要是位于<JAVA_HOME>/l...原创 2020-06-16 23:47:20 · 215 阅读 · 0 评论 -
2020年面试题-----常见的JVM的垃圾收集器介绍及应用场景详解
一、常见垃圾收集器现在常见的垃圾收集器有如下几种:新生代收集器使用的收集器:Serial、PraNew、Parallel Scavenge老年代收集器使用的收集器:Serial Old、Parallel Old、CMS堆内存垃圾收集器:G1每种垃圾收集器之间有连线,表示他们可以搭配使用。二、新生代垃圾收集器(1)Serial 收集器Serial 是一款用于新生代的单线程收集器,采用复制算法进行垃圾收集。Serial 进行垃圾收集时,不仅只用一条线程执行垃圾收集工作,它在收集的原创 2020-06-16 23:21:33 · 230 阅读 · 0 评论 -
(面试)Tomcat优化有哪些方式?
1.关闭AJP端口8009 在tomcat前再使用web服务器时,即便tomcat提供的都是静态资源文件,情况都要比直接使用http连接差的多,如果确实有需要集成前置服务器,走AJP协议要比http协议性能更好。通常前置服务器有nginx做静态伺服器和方向代理足矣,无需使用AJP,不用的资源直接关掉即可。2.关闭access_log 外置tomcat服务器server.xml中会输出access_log日志,基本没有什么价值,可以关闭了。springboot中内置的tomcat默认就是...原创 2020-06-16 23:08:10 · 853 阅读 · 0 评论 -
(面试宝典)Java创建对象的过程
①类加载检查: 虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析和初始化过。如果没有,那必须先执行相应的类加载过程。②分配内存: 在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需的内存大小在类加载完成后便可确定,为对象分配空间的任务等同于把一块确定大小的内存从 Java 堆中划分出来。分配方式有 “指针碰撞” 和 “空闲列表” 两种,选择那种分配方式由 Java 堆是否规...原创 2020-06-16 22:08:54 · 397 阅读 · 0 评论 -
(面试宝典)JVM的类加载机制主要有哪3种?
全盘负责:所谓全盘负责,就是当一个类加载器负责加载某个Class时,该Class所依赖和引用其他Class也将由该类加载器负责载入,除非显示使用另外一个类加载器来载入。 双亲委派:所谓的双亲委派,则是先让父类加载器试图加载该Class,只有在父类加载器无法加载该类时才尝试从自己的类路径中加载该类。通俗的讲,就是某个特定的类加载器在接到加载类的请求时,首先将加载任务委托给父加载器,依次递归,如果父加载器可以完成类加载任务,就成功返回;只有父加载器无法完成此加载任务时,才自己去加载。 缓存机制。缓存机制将会原创 2020-06-16 21:31:06 · 585 阅读 · 1 评论 -
(面试宝典)Eureka和Zookeeper介绍和区别?
在分布式领域有一个很著名的CAP定理:C:数据一致性。A:服务可用性。P:分区容错性(服务对网络分区故障的容错性)1、什么是Eureka 保证AP1.Eureka是netflix的一个子模块,也是核心模块之一,Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。服务注册与发现对于微服务架构来说是非常重要的,有了服务发现和注册,只需要使用服务的标识符,就可以访问到服务,而不需要修改服务,而不需要修改服务调用的配置文件了。2.Eureka的作用 2.1 ...原创 2020-06-16 21:27:36 · 685 阅读 · 0 评论 -
冒泡排序代码演示
第一种方法:public class Demo01 { public static void main(String[] args) { int a[] = { 2, 3,77, 6, 4, 0, 1, 7, 8, 5, 9 }; //调用 sort(a); } public static void toString(int[] a) { for (int i = 0; i < a.length; i+..原创 2020-06-08 18:56:20 · 192 阅读 · 0 评论 -
2020年最常见的Java面试题目整理(面试必备)
注意:没有提供答案一、Java 基础1.JDK 和 JRE 有什么区别?2.== 和 equals 的区别是什么?3.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?4.final 在 java 中有什么作用?5.java 中的 Math.round(-1.5) 等于多少?6.String 属于基础的数据类型吗?7.java 中操作字符串都有哪些类?它们之间有什么区别?8.String str="i"与 String str...原创 2020-06-07 23:47:33 · 679 阅读 · 0 评论