
面试宝典
文章平均质量分 77
总结Java面试流程+Java技术栈必考+高频知识剖析+跳槽加薪点 建立Java知识体系 , 全面剖析底层原理和源码 , 在面试中用实力证明自己 !
程序猫A建仔
一个程序猫的独白,进军互联网的逆袭之路!
展开
-
2021最新java面试题整理
算法题:1、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?程序题:1、求数组中的最小值2、将一个数组中元素排序3、将一个双向链表倒置面试题:1、谈谈你做过的项目用到了哪些框架及工作职责2、谈谈你对springboot的理解3、谈谈你对springcloud的理解4、说说redis的哨兵机制5、说说什么是雪崩6、Map的实现类有哪些7、HashMap的底层原理8、谈谈你对zookeeper的理解9、分布式原创 2021-02-22 09:51:42 · 882 阅读 · 0 评论 -
Solr和Lucene的区别(面试总结)
solr和Lucene的区别Lucene是工具包,是jar包;Solr是索引引擎服务,是War包;Solr是基于Lucene(底层是由Lucene写的);两者都是Apache公司用java写的;Lucene是创建索引时,现创建field对象,现创建文档对象,保存索引;Solr是创建索引时候,先创建filed对象。总结:Solr先有域,再有文档,如果没有域,直接创建文档,会报错,不知道域。...原创 2020-10-21 10:07:10 · 348 阅读 · 0 评论 -
activeMQ常见面试题(面试总结)
activeMQ技术栈详细介绍一下MQMQ简称消息队列,他是一个不同项目之间进行通讯时,对消息进行管理的组件。有了MQ,可以使项目之间交互由同步转换成异步,解耦了消息的处理过程。把消息统一管理起来,按照顺序,根据客户端的处理能力一个一个的进行操作,MQ具有送达保证、排序保证、峰值处理、异步通信几大特性。在高并发时,对于减轻数据库压力非常有效。MQ一般有点对点和发布订阅两种方式,点对点就是一个消息只允许接收一次,发布订阅模式,一个消息可以被多次接收。目前主流的产品有RabbitMQ、ActiveMQ和Ka原创 2020-10-20 19:09:25 · 4412 阅读 · 1 评论 -
简单说一下你在做项目的时候一个git的流程
我看你简历上说,对这个git有一定的了解,简单说一下你在做项目的时候一个git的流程?答案:首先我们在做一个功能的时候,从自己的分支上拉一个feature分支,一般命 名都是以这个功能块的名字来命名;功能做好之后,向老大发送一个pull请求,把代码合并到自己的分支上...原创 2020-10-16 11:55:32 · 281 阅读 · 0 评论 -
数据交互的数据格式类型有哪些
数据交互的数据格式类型JSON:使用json数据结构,传输效率高,解析简单;XML:具有跨平台,跨语言的特点;YAML:是一种直观的能够被电脑识别的数据序列化格式...原创 2019-12-02 21:54:33 · 1300 阅读 · 0 评论 -
负载均衡的策略
负载均衡的策略1、轮循(默认)2、配置权重3、ip_hash(计算用户的ip并进行分配访问的服务器)4、url_hash原创 2019-12-02 21:48:20 · 202 阅读 · 0 评论 -
nginx的集群配置
在nginx.conf文件中配置server,设置访问的端口号和域名,在location中设置访问页面和proxy_pass(设置转发到tomcat的域名),在配置一个代理服务器tomcat_server:在里面配置IP和相对于的端口号...原创 2019-12-02 21:44:20 · 388 阅读 · 0 评论 -
集群部署后session共享问题解决方案
session共享4种解决方案cookie携带,不安全。敏感信息不采用,cookir有跨域问题;session绑定,使用ip_hash来解决,有局部的单点故障,用户体验度不好;session的复制,使用tomcat来实现,修改server.xml的配置;第三方插件来保存redis,企业中使用比较多;...原创 2019-12-02 21:36:16 · 500 阅读 · 0 评论 -
数据库锁常见的面试题(面试总结)
1.数据库锁有哪些行锁 ,表锁 ,页锁, 乐观锁 ,悲观锁关于锁这篇博客写的不错:https://blog.youkuaiyun.com/Michaeles/article/details/864843852.行锁和表锁的区别行锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度最高表锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低3.页锁是什么...原创 2019-08-30 13:06:54 · 2079 阅读 · 0 评论 -
数据库引擎常见的面试题(面试总结)
1. 什么是数据库引擎数据库引擎:用于存储、处理、保护数据的核心服务。当你访问数据库时,不管是手工访问,还是程序访问,都不是直接读写数据库文件,而是通过数据库引擎去访问数据库文件2. 数据库引擎有几种Innodb 、 MyISAM 、MEMORY 、MERGE3.MyISAM和InnoDB的区别InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事...原创 2019-08-30 11:53:42 · 1959 阅读 · 0 评论 -
SQL查询出来的结果分页展示一般怎么做?
Oracle:select * from (select ,rownum as tempid from student ) t where t.tempid between ” + pageSize(pageNumber-1) + ” and ” + pageSize*pageNumberMySQL:select * from students limit ” + pageSize*(pa...原创 2019-08-22 15:44:52 · 3985 阅读 · 0 评论 -
jdk1.7与1.8的区别,有哪些区别?
jdk1.7的新特性自动资源管理 Java中某些资源是需要手动关闭的,如 InputStream,Writes,Sockets,Sql classes 等。这 个新的语言特性允许try语句本身申请更多的资源,这些资源作用于try代码块,并自动关闭。新增一些取环境信息的工具方法 System.getJavaHomeDir() // JRE的安装目录 File System.getUserHom...原创 2019-08-22 15:34:31 · 2618 阅读 · 0 评论 -
session和cookie的区别
session是存储在服务器端,cookie是存储在客户端;从安全上来讲session的安全性比cookie高,然后我们获取session里的信息是通过存放会话cookle里的sessionud获取的;又由于session是存放在服务器的内存中,所以session里面的东西不断增加会造成服务器的负担,所以会把很重要的信息存储在session中,而把一些次要的东西存储在客户端的cookie李,然后c...原创 2019-08-22 13:53:45 · 216 阅读 · 0 评论 -
3种方式删除List中的元素
1. for循环遍历listfor(int i=0;i<list.size();i++){if(list.get(i).equals(“del”))list.remove(i);}2. 增强for循环for(String x:list){if(x.equals(“del”))list.remove(x);}3. iterator遍历Iterator it = list...原创 2019-08-17 14:50:30 · 769 阅读 · 0 评论 -
2019Java面试高频问题知识点总结
Java基础什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?JDK、JRE、JVM关系是什么?Java支持的数据类型有哪些?什么是自动拆装箱?面向对象是什么?有哪些基本特性?有哪些设计原则?Enumeration和Iterator的区别?&和&&的区别?==和equals的区别?什么是值传递和引用传递?是否可以在static环境中访问...原创 2019-08-17 16:28:55 · 2154 阅读 · 0 评论 -
Redis内容聚合
普通解法:首先,redis是一种内存型、非关系型数据库;redis的数据会存储到硬盘上;它保存数据一种采用的是rdb(快照的形式进行数据的保存,是redis默认开启的方案,它将内存中的数据都保存到磁盘上,放到rdb文件中,重新启动服务器是将rdb的内容重新取出来,再回复到内存中。还有一种是aof默认是不开启的,因为他会频繁的操作磁盘,每秒钟同步一次,所以默认是不开启的。开启之后数据的恢复就是用a...原创 2019-05-16 21:03:54 · 682 阅读 · 0 评论 -
多线程和线程池常见面试题(面试总结)
一、进程与线程:1.1进程就是正在执行的程序,线程是程序执行的一条路径,一个进程之中可以包含多个线程。通俗的讲,我们可以把打开微信开做一个进程,在微信里和一个好友进行视频聊天就是开启了一个线程。1.2一个进程里可以有多条线程,至少有一条线程,我认为可以理解为当你开启进程时默认开启一条线程,一条线程一定会在一条进程里,就好像你不打开微信就没有办法和微信里的好友进行聊天。二、创建线程的三种方式:...原创 2019-05-16 21:19:28 · 803 阅读 · 0 评论 -
SpringBoot内容聚合
SpringBoot知识点汇总什么是SpringBootSpringBoot 是Spring旗下的一款开发框架,他可以让我们创建基于Spring的应用变得更加的方便,SpringBoot 整合了常用的Spring和第三方的类库,整合后提供带Starter的pom,整合后的项目采用自动配置,如果配置不满足需要,SpringBoot也提供了配置文件 只需简单的修改便可以。SpringBoot内...原创 2019-06-01 18:39:49 · 275 阅读 · 0 评论 -
前端面试题总结(详细)
1、移动端你遇到过什么兼容问题?1、如果在input设置边框颜色在ios系统里会出现兼容性问题,需要在外面加一个div设置div的边框代替input边框。2、文字溢出,用overflow:auto做滚动条在ios上面会卡顿,需要用iscroll解决。3、防止手机中网页放大和缩小。4、禁用自动匹配手机号、地址、email。5、用好rem和css3的媒体查询解决适配问题。6、ios和and...原创 2019-06-19 18:53:55 · 557 阅读 · 0 评论 -
sql优化和索引常见的面试题(面试总结)
sql优化您们是怎么做的?一.首先开启数据库慢查询日志,定位到查询效率比较低的sql二.找出对应的sql语句并进行分析—1.表设计是否规范,是否符合三范式的标准(1)第一范式:保证原子性(不可拆分)(2)第二范式:每张表都有主键(3)第三范式(每一列都有主键相关)—2.查看数据表中是否存在大量的冗余字段,字段数据类型是否合理—3.尽可能的使用varchar代替char 建表数据类...原创 2019-08-13 11:49:13 · 10102 阅读 · 5 评论 -
挑战世界五百强外企,技术都过关了,竟败在英文自我介绍和现场翻译
人生格言:面试我千百遍,我待面试如初恋!!! English is so important!!!外企面试英文自我介绍Good morning !Hello EveryOne!大家早上好!这真的是我的荣誉有这个机会参加这次面试It is really my honor to have this opportunity for this interview,我希望我能成为一个好今...原创 2019-06-19 20:38:29 · 508 阅读 · 0 评论 -
Spring框架中控制反转是如何实现的?
我们每次使用spring框架都需要配置xml文件,这个xml配置了bean的id和class。spring中默认的bean为单实例模式,通过bean的class引用反射机制可以创建这个实例。因此,spring框架通过反射代替我们创建好了实例并且替我们维护他们。A需要引用B类,spring框架就会通过xml把B实例的引用传给了A的成员变量。...原创 2019-06-25 13:12:50 · 3643 阅读 · 0 评论 -
数据库你是如何进行优化的?你会怎么做?
1、搭建集群2、表创建的优化(1)使用冗余字段(2)少让表之间关联过于复杂比如某些表多关联查询的时候,可以把经常展示的信息集中放到一张表中,减少关联查询。3、创建索引4、sql上的优化...原创 2019-08-13 14:35:22 · 910 阅读 · 0 评论 -
''Hibernate'' 和 ''MyBatis'' 的区别
Hibernate 和 Mybatis 有什么区别?Hiberbate全自动,Mybatis半自动Hibernate数据库移植性大于MyBatisHibernate拥有完整的日志系统,MyBatis则欠缺一点MyBatis相比Hibernate需要关心很多细节Hibernate:强大,方便,高效,复杂,绕弯子,全自动 MyBatis:小巧,方便,高效,简单,直接,半自动Sql优化...原创 2019-08-17 10:57:58 · 120 阅读 · 0 评论 -
你了解过那些模块化规范?模块化开发有什么好处?
模块化规范:CMD AMD CommonJS好处:(1) 高耦合,低内聚,可重用(2) 模块化解决分而治之的问题(3) 组件化解决代码复用的问题原创 2019-08-17 11:45:03 · 643 阅读 · 0 评论 -
hashMap里插入1000条输入怎样性能最优?
初始化hashMap 的大小原创 2019-08-17 11:55:44 · 1161 阅读 · 0 评论 -
String,StringBuffer,StringBuilder的区别
String:字符串常量,不可变,字符序列StringBuffer:字符串变量,线程安全,可变,字符序列StringBuilder:字符串变量,线程不安全,可变,字符序列执行效率:StringBuilder > StringBuffer > String...原创 2019-08-17 13:17:55 · 153 阅读 · 0 评论 -
过滤器和拦截器的区别
过滤器和拦截器的区别1.拦截器基于Java反射机制,过滤器基于函数回调2.拦截器不依赖与servlet容器,过滤器依赖于servlet容器3.拦截器只能对action请求起作用,过滤器对所有的请求起作用4.拦截器可以访问上下文栈里的对象,而过滤器不能访问5.在action的生命周期中,拦截器可以多次调用,而过滤器在容器初始化被调用一次6.拦截器可以获取IOC容器中的各个bean,而过滤...原创 2019-05-13 10:49:07 · 135 阅读 · 0 评论