![](https://img-blog.csdnimg.cn/20200313220516176.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
面试题
面试
Sunny3096
社会闲散人员
展开
-
【面试题----IO】
1.谈谈对Java IO的认识。 对于I/O操作来说, 其根本的作用在于传输数据。输入和输出指的仅是数据的流向,实际传输是通过某些具体的媒介来完成的,其中最主要的是文件系统和网络连接; 早期的java.io包把I/O操作抽象成数据的流动,进而有了流的概念;在Java NIO中,则把I/O操作抽象成端到端的一个数据连接,这就有了通道(channel)的概念; Java中最基本的流是在字节这个层...原创 2019-04-26 14:11:31 · 126 阅读 · 0 评论 -
【面试题----排序算法】
1.十大经典排序算法 排序算法说明 (1)排序的定义:对一序列对象根据某个关键字进行排序; 输入:n个数:a1,a2,a3,…,an 输出:n个数的排列:a1’,a2’,a3’,…,an’,使得a1’<=a2’<=a3’<=…<=an’。 再讲的形象点就是排排坐,调座位,高的站在后面,矮的站在前面咯。 (2)对于评述算法优劣术语的说明 稳定:如果a原本在b前面...原创 2019-04-26 14:08:40 · 514 阅读 · 0 评论 -
【面试题----Spring】
1.谈谈对Spring IoC的理解 IoC不是什么技术,而是一种设计思想,它意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。 理解好Ioc的关键是要明确: 谁控制谁 -- IoC容器控制了对象 控制什么 -- 主要控制了外部资源获取(不只是对象,包括比如文件等) 为何是反转 -- 由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象 哪些方面反转了 --...原创 2019-04-25 11:08:31 · 1203 阅读 · 0 评论 -
【面试题----缓存】
1.Redis和Memcached的异同。 Memcached 可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS; 只支持简单的key/value数据结构,不像Redis可以支持丰富的数据类型。 无法进行持久化,数据不能备份,只能用于缓存使用,且重启后数据全部丢失。 无法进行数据同步,不能将MC中的数据迁移到其他MC实例中。 Memcached内存分配采用Slab Alloca...原创 2019-04-25 11:06:35 · 186 阅读 · 0 评论 -
【面试题----架构】
1.如何设计高性能、高并发、高可用的系统。 系统架构三个利器:RPC服务组件、消息中间件(交互异步化、流量削峰)、配置管理(灰度发布、降级); 无状态:接口层最重要的就是无状态,将有状态的数据剥离到数据库或缓存中; 如何改善延时:找关键路径(“28原则”)、空间换时间,如各级缓存;时间换空间,如传输压缩,解决网络传输的瓶颈;多核并行,减少锁竞争;更适合的算法和数据结构;通过性能测试和监控找出...原创 2019-04-25 11:05:46 · 168 阅读 · 0 评论 -
【面试题----数据库】
1.谈谈对Mysql索引的认识。 主键查询走索引,我们一般使用的索引都是Btree索引; MyISAM和InnoDB索引结构有很大差异,这里以InnoDB为例,InnoDB的叶节点存储的是数据的行,而除了主键之外的列索引存储的是主键key,也就是说在查询的时候需要二次查询,先通过列索引找到主键,再通过主键索引找到row。 针对我们经常查询的多列场景,我们可以建组合索引,组合索引在可以尽可能...原创 2019-04-25 11:05:18 · 152 阅读 · 0 评论 -
【Java-堆栈】
1.如何用java代码写一个堆栈 public class Stack { int[] data; int maxSize; int top; public Stack(int maxSize) { this.maxSize = maxSize; data = new int[maxSize]; top = -1; } /** * 依次加...原创 2019-04-25 11:04:12 · 131 阅读 · 0 评论 -
【面试题----连接池】
1.连接池 连接池技术的核心思想是:连接复用,通过建立一个数据库连接池以及一套连接使用、分配、管理策略,使得该连接池中的连接可以得到高效、安全的复用,避免了数据库连接频繁建立、关闭的开销。另外,由于对JDBC中的原始连接进行了封装,从而方便了数据库应用对于连接的使用(特别是对于事务处理),提高了开发 ...原创 2019-04-25 11:03:26 · 1168 阅读 · 0 评论 -
【面试题----前端】
1.Web缓存的作用以及实现方式 作用:1.减少网络宽带消耗 2.降低服务器压力 3.减少网络延迟,加快打开网页速度 实现方式: 2.AJAX:核心内置对象 核心对象是XMLHttpRequest,它可以提供不重新加载页面的情况下更新网页,在页面加载后在客户端向服务器请求数据,在页面加载后在服务器端接受数据,在后台向客户端发送数据。XMLHttpRequest 对象提供了对 HTTP...原创 2019-04-25 11:02:54 · 96 阅读 · 0 评论 -
【面试题----Hibernate】
1.hibernate的load和get有什么作用。 ① load方法认为该数据在数据库中一定存在,可以放心的使用代理来延迟加载,如果在使用过程中发现了问题,只能抛异常(ObjectNotFoundException)load方法加载实体对象的时候,根据映射文件上类级别的lazy属性的配置(默认为true) 为true,则首先在session中查找,如果不存在,使用延迟加载,返回实体的代理类对...原创 2019-04-25 11:02:04 · 96 阅读 · 0 评论 -
【面试题----Java-数据结构】
1.ArrayList与HashMap有什么不同,内部实现机制是什么? 2.ConcurrentHashMap与hashMap有什么不同,内部实现机制是什么? 3.ArrayList与LinkedList有什么不同,内部实现机制是什么? 4.HashMap与TreeMap有什么区别 ...原创 2019-04-25 11:00:59 · 147 阅读 · 0 评论 -
【面试题----Hbase】
1.hbase 的特点是什么 (1) Hbase一个分布式的基于列式存储的数据库,基于Hadoop的hdfs存储,zookeeper进行管理。 (2) Hbase适合存储半结构化或非结构化数据,对于数据结构字段不够确定或者杂乱无章很难按一个概念去抽取的数据。 (3) Hbase为null的记录不会被存储. (4)基于的表包含rowkey,时间戳,和列族。新写入数据时,时间戳更新,同时可以查...原创 2019-04-25 10:58:30 · 354 阅读 · 0 评论 -
【面试题----Kafka】
1、请说明什么是Apache Kafka? Apache Kafka是由Apache开发的一种发布订阅消息系统,它是一个分布式的、分区的和重复的日志服务。 2、请说明什么是传统的消息传递方法? 传统的消息传递方法包括两种: 排队:在队列中,一组用户可以从服务器中读取消息,每条消息都发送给其中一个人。 发布-订阅:在这个模型中,消息被广播给所有的用户。 3、请说...原创 2019-04-26 14:22:26 · 121 阅读 · 0 评论 -
【面试题----ElasticSearch】
1.Elasticsearch是如何实现Master选举的? Elasticsearch的选主是ZenDiscovery模块负责的,主要包含Ping(节点之间通过这个RPC来发现彼此)和Unicast(单播模块包含一个主机列表以控制哪些节点需要ping通)这两部分; 对所有可以成为master的节点(node.master: true)根据nodeId字典排序,每次选举每个节点都把自己所知道节...原创 2019-04-26 14:22:05 · 187 阅读 · 0 评论 -
【面试题----JVM】
1.Java内存区域是如何划分的? Java堆:线程共享的,唯一目的就是用于存放对象实例,是垃圾收集器管理的主要区域; Java虚拟机栈:线程私有的,每个方法在执行的同时都会创建一个栈帧用于存储局部变量等,局部变量表存放了编译器可知的各种基本数据类型和对象引用; 本地方法栈:和虚拟机栈类似,不过它是为Native方法服务; 程序计数器:线程私有的,可以看作是当前线程所执行的字节码的行号指示...原创 2019-04-26 14:21:29 · 759 阅读 · 0 评论 -
【面试题----多线程】
1.Java线程的状态及如何转换。 2.多个线程之间如何协调? wait()、notify()、notifyAll():这三个方法用于协调多个线程对共享数据的存取,所以必须在同步语句块内使用。wait方法要等待notify/notifyAll的线程释放锁后才能开始继续往下执行。 // 等待方 synchronized(lockObj){ while(condition is fa...原创 2019-04-26 14:19:52 · 118 阅读 · 0 评论 -
【面试题----ElasticSearch】
【ElasticSearch】 1.Elasticsearch是如何实现Master选举的? Elasticsearch的选主是ZenDiscovery模块负责的,主要包含Ping(节点之间通过这个RPC来发现彼此)和Unicast(单播模块包含一个主机列表以控制哪些节点需要ping通)这两部分; 对所有可以成为master的节点(node.master: true)根据nodeId字典排序...原创 2018-03-11 16:15:00 · 133 阅读 · 0 评论