2017一季度JAVA面试题锦集

转载自 2017一季度JAVA面试题锦集

1、如何实现分布式事务,你们公司是怎么解决的?


2、HashMap数据结构及实现原理,其链表是用来解决什么问题的


3、可以自定义java.lang.String类吗,说明为什么


4、redis

1)有哪几种类型的数据结构

2)如何防止缓存穿透

3)如何做集群,有哪些方案

4)和memcache、ehcache有什么区别

5)如何做持久化


5、如何防止死锁


6、zookeeper

1)说说选举算法

2)有哪几种节点类型

3)有哪些应用场景

4)如何部署集群,至少有几台机器?


7、dubbo

1)里面用的什么通信框架

2)和dubbox有什么区别

3)里面用的什么序列化框架

4)如何利用zookeeper实现注册发现的,还有别的方式实现注册发现吗

5)还了解别的分布式框架吗

6)如何解决分布式服务调用链过长的问题

7)它是阻塞的吗

8)说说核心的配置有哪些


8、线程同步的有哪些方式


9、说说你们公司的架构并画出来


10、springmvc加载流程


11、nginx有哪几种负载均衡算法


12、mysql

1)如何进行sql优化?如何进行性能检测

2)有哪几种索引类型及应用场景

3)主备同步是如何进行的,原理是什么

4)分库分表有哪几种分法,如何解决数据分布不均匀的问题,如果避免查询某个字段扫全库全表的情况

5)事务隔离级别有哪几种,默认是哪个

6)如何解决幻读问题

7)读写分离方案

8)有哪几种引擎及应用场景


13、mybatis占位符的#和$有什么区别


14、如何实现分布锁,需要考虑的问题


15、spring事务传播机制有哪些,如何用jdbc实现require_new


16、java集合常用类及数据结构


17、MQ

1)什么是推模式,什么是拉模式

2)有没有消息丢失情况,如何防止

3)MQ用来解决什么问题

4)你们用的什么MQ,为什么要用这个,它的最大吞吐量是多少


18、设计模式

1)说说六大设计原则

2)你会哪些设计模式

3)装饰模式和代理模式有什么区别

4)单例模式有哪几种写法,有哪些注意的地方

5)怎么实现策略模式

6)spring中用到了哪些设计模式


19、线程有哪几种状态流转


20、spring ioc aop是什么,实现动态代理有哪些方式,代理类和原来的类之间是什么关系


21、什么是悲观锁和乐观锁,分别如何实现


22、java有哪几种自带的线程池,说说它们的应用场景


23、说说volatile关键字及使用场景


24、怎么排查多线程问题


25、session共享有哪些方案


26、jvm有哪些自带命令及如何使用


27、说说jvm内存模式及如何调优


28、如何对tomcat调优


29、用户登录有哪些保障安全的手段


30、如何减库存,如何防止超买超卖


31、TCP协议为什么是三次握手四次挥手,为什么不是别的


32、HTTP报文有哪几个部分


33、接口安全如何做


34、要你实现RCP框架,你会注重什么


35、linux查看cpu、内存、硬盘、网络IO、负载、端口占用情况、及某个具体进程的命令


36、说说一致性hash算法


37、说说类加载机制,它们是怎么设计的


38、你怎么做职业规划的,未来三年你有什么规划


39、你目前手中有哪些offer,你会考虑我们公司吗,你对我们公司有什么想要了解的


40、你为什么要离职(这个要慎重,千万不要抱怨前任公司,更不要说坏话,不然你技术再牛逼也过不了)


答案自寻百度,也没有百分百的答案,自己找的往往是最深刻的,二季待续。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/330985.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JDK并发包

JDK提供了大量实用的API和框架,来支持JDK内部功能: 介绍更多多线程控制方法,比如之前的synchronized;介绍JDK中对线程池的支持,提高线程调度性能;向大家介绍JDK的一些并发容器。 1 多线程的团队协作&…

ReviewForJob——希尔排序(缩小增量排序)之塞奇威克增量序列

【0】README 0)希尔排序是基于插入排序的。将插入排序算法 内for循环中的所有 1 改为增量就可以。。bingo。。 插入排序源码 1)本文旨在给出 希尔排序(缩小增量排序)之塞奇威克增量序列 的源码实现; 2)为…

稍微有点难度的10道java面试题,你会几道?

转载自 稍微有点难度的10道java面试题,你会几道? 1、jvm对频繁调用的方法做了哪些优化? 2、常见的攻击手段有哪些?如何防范? 3、restful api有哪些设计原则? 4、hessian是做什么用的?它的…

重新学习Spring一--Spring在web项目中的启动过程

1 Spring 在web项目中的启动过程 Spring简介 Spring 最简单的功能就是创建对象和管理这些对象间的依赖关系,实现高内聚、低耦合。(高内聚:相关性很强的代码组成,既单一责任原则;低耦合:耦合指块间联系&…

ReviewForJob——堆排序

【0】README1)本文旨在给出 推排序的源码实现;堆排序是基于二叉树的数组实现的;【1】堆排序步骤step1)对排序数据建堆,执行 n 次 insert 操作(基于上滤操作);每次 insert 包括 将 新…

重新学习Spring2——IOC和AOP原理彻底搞懂

一、AOP 1 Spring AOP 的实现原理 是对OOP编程方式的一种补充。翻译过来为“面向切面编程”。 1 AspectJ是静态代理的增强:所谓静态代理就是AOP框架会在便一阶段生成AOP代理类,也叫编译器增强。 2 使用Spring AOP 与AspectJ 的静态代理不同&#xff0c…

厉害了,关于String的10道经典面试题

转载自 厉害了,关于String的10道经典面试题 1、String是基本数据类型吗? 2、String是可变的话? 3、怎么比较两个字符串的值一样,怎么比较两个字符串是否同一对象? 4、switch中可以使用String吗? 5、String …

ReviewForJob——快速排序(基于插入排序)+快速选择(快速排序变体)

【0】README 0)本文旨在给出 快速排序 的 源码实现和源码分析(分析它的坑); 2)要知道 在 元素个数小于10的时候,快速排序不如插入排序;注意快速排序选取枢纽元 时 所使用的方法是 三数中值分割…

Spring boot web(2):web综合开发

1 web开发 Spring boot web 开发非常简单,其中包括常用的 json输出、filters、property、log等 1.1 json接口开发 在以前的Spring 开发我么提供json 的做法: 添加jackjson 等相关jar包配置Spring controller扫描对接的方法添加ResponseBody 而在Spri…

10道腾讯的Java面试题

转载自 10道腾讯的Java面试题 下面总结10道面试腾讯的Java面试题。 1、说几种常见的攻击方式及预防手段。 2、http1.x和http2.x的区别。 3、mysql查询语句怎么做性能分析。 4、你知道哪几种排序算法? 5、HashMap和HashTable的区别,并说明其底层实现数据…

ReviewForJob——桶式排序+基数排序(==多次桶式排序)

【0】README 1)本文旨在 给出 ReviewForJob——桶式排序基数排序(多次桶式排序) 的 代码实现和代码分析; 2)桶式排序基础参见 http://blog.csdn.net/pacosonswjtu/article/details/49685749, 基数排序基…

Spring boot(3):Spring boot中Redis 的使用

Spring boot除了常用的数据库支持外,对nosql数据库也进行了封装自动化。 1 Redis介绍 Redis 是目前业界使用最广泛的内存数据存储。相比memcached, (1)Redis支持更丰富的数据结构,例如hashes,lists&#x…

Java List面试题汇总

转载自 Java List面试题汇总 1、你知道的List都有哪些? 2、List和Vector有什么区别? 3、List是有序的吗? 4、ArrayList和LinkedList的区别?分别用在什么场景? 5、ArrayList和LinkedList的底层数据结构是什么&#…

ReviewForJob——拓扑排序+最短路径算法(有权+无权)

【0】README 1)本文旨在给出 拓扑排序最短路径算法(有权无权) 的源码实现 和 分析,内容涉及到 邻接表, 拓扑排序, 循环队列,无权最短路径(广度优先搜索),有权…

Spring boot (5):Spring data jpa 的使用

总结: jpa是什么,spring data jpa是什么? jpa是一套规范,不是一套产品。jpa是一套规范,不是一套产品。 spring data jpa是spring基于ORM框架、JPA规范的基础上封装的一套JPA应用框架,提供了包括增删改等在…

Java Map集合面试题汇总

转载自 Java Map集合面试题汇总1、 你都知道哪些常用的Map集合?2、Collection集合接口和Map接口有什么关系?3、HashMap是线程安全的吗?线程安全的Map都有哪些?性能最好的是哪个?4、使用HashMap有什么性能问题吗?5、Ha…

ReviewForJob——二叉堆优先队列的实现(三种堆节点类型——int + struct HeapNode + struct HeapNode*)

【0】README 1)本文旨在给出 二叉堆优先队列的实现 的代码实现和分析, 而堆节点类型 不外乎三种: 一, 基本类型如int; 二,结构体类型 struct HeapNode; 三,结构体指针类型 struct H…

Spring boot(六):如何优雅的使用mybatis

总结 hibernate 和 mybatis 的区别 hibernate的特点是所有的sql都用java代码生成,不用跳出程序去(看)sql,发展到最顶端就是Spring data jpa了。 mybatis初期使用比较麻烦,需要各种配置文件、实体类、dao层映射关联、还…

Java中创建String的两道面试题及详解

转载自 Java中创建String的两道面试题及详解 我们知道创建一个String类型的变量一般有以下两种方法: String str1 "abcd";String str2 new String("abcd"); 那么为什么会存在这两种创建方式呢,它们在内存中的表现形式各有什么区别…

ReviewForJob——最小生成树(prim + kruskal)源码实现和分析

【0】README 1)本文旨在给出 ReviewForJob——最小生成树(prim kruskal)源码实现和分析, 还会对其用到的 技术 做介绍; 2)最小生成树是对无向图而言的:一个无向图G 的最小生成树是一个连通图…