2019年高级Java程序员面试题汇总
目录
引言:随着金九银十的到来,回首在经历了两周的跳槽求职路后,终于成功拿到offer,距今已经入职快一个月了,因此,这几天抽空将之前的面试题做了个汇总,一方面自己以后回顾学习用,一方面为大家奉送上一份秋收的福利。
JDK
- jdk1.8版本后的新特性有哪些?
- 如何避免空指针异常?
Dubbo
- Dubbo是什么?
- ==Dubbo 和 Spring Cloud 有什么区别?==
- dubbo都支持什么协议,推荐用哪种?
- Dubbo需要 Web 容器吗?
- Dubbo内置了哪几种服务容器?
- Dubbo里面有哪几种节点角色?
- Dubbo的服务注册与发现的流程图是怎样的?
- Dubbo默认使用什么注册中心,还有别的选择吗?
- Dubbo有哪几种配置方式?
- Dubbo 核心的配置有哪些?
- Dubbo启动时如果依赖的服务不可用会怎样?
- Dubbo推荐使用什么序列化框架,你知道的还有哪些?
- Dubbo默认使用的是什么通信框架,还有别的选择吗?
- Dubbo有哪几种负载均衡策略,默认是哪种?
- Dubbo支持服务多协议吗?
- Dubbo可以对结果进行缓存吗?
- Dubbo服务之间的调用是阻塞的吗?
- Dubbo支持分布式事务吗?
- Dubbo支持服务降级吗?
- Dubbo的通信采用什么?
- 服务提供者能实现失效踢出是什么原理?
- Dubbo的管理控制台能做什么?
- 是否看过Dubbo的代码底层原理?具体有哪些?
- Dobbo的调用流程是什么?
- Dobbo支持动态添加服务吗?
Zookeeper
- zookeeper是什么?
- zookeeper都有哪些功能?
- zookeeper有哪几种部署方式?
- zookeeper使用什么协议?
- zookeeper的通知机制是怎样的?
- zookeeper是如何实现分布式锁的?
- zookeeper的选举机制及流程是什么?
- zookeeper集群是如何搭建的?
- zookeeper集群最少要几台机器,集群规则是怎样的?
- zookeeper集群中有几种角色?
- zookeeper集群支持动态添加机器吗?
- zookeeper集群中怎么保证主从节点的状态同步?
- zookeeper集群中中为什么要有主节点?
- zookeeper集群如果有3台机器,挂掉一台集群还能工作吗?挂掉两台呢?
- zookeeper的java客户端都有哪些?
- zookeeper常用的命令有哪些?
Strut2
- Strtut2的优点和缺点是什么?
- 它和spring有什么区别?
Spring系列
- ==spring的IOC和AOP原理是什么?==
- spring的启动加载流程是怎样的?
- ==springMVC的底层执行流程是怎样的?重要的类有哪些?==
- springboot支持的日志有哪些?默认的是什么?怎么配置
- springboot的数据源有哪些?怎么配置?
- springcloud的常用开发框架有哪些?
- springcloud的熔断是怎么实现的?原理是什么?
- ==springcloud的eureka和zoopeeker的区别是什么?==
- springcloud的网管的主要做了哪些?
- springcloud里bus的底层通信是用的什么?
Redis系列
- ==Redis你们用的是单机还是集群?集群如何搭建?==
- ==Redis是什么?都有哪些使用场景?==
- ==Redis的基本数据类型都有哪些?==
- Redis在开发中常用到哪些数据类型?
- Redis中hash的数据结构是什么?
- Redis集群数据不同步有可能是什么原因?
- 请实现用Redis做登录,错误次数为最多五次,时间为60秒
- Redis的哨兵机制原理是什么?
- Redis的持久化方法有哪些?
- Redis的缓存穿透是什么?怎么解决?
- Redis怎么实现分布式锁?
- Redis分布式锁有什么缺陷?
- Redis如何做内存优化?
- Redis淘汰策略有哪些?
- Redis常见的性能问题有哪些?该如何解决?
- Redis支持的 java 客户端都有哪些?
- Redis为什么是单线程的?
- Redis的管道是什么?你们什么时候用?怎么使用的?
Mysql系列
- MySQL设计表的三大范式是什么?
- MySQL的
selete *
和selte 全字段
的区别? - MySQL的
selete *
除了是全字段扫描外为什么慢? - MySQL如何做优化?
- MySQL的常用SQL语句优化有哪些?
- MySQL索引的作用?和它的优点缺点是什么?
- MySQL有哪些索引(或者说索引类型有哪些)?
- MySQL的主键和索引有什么区别?
- MySQL创建索引的原则是什么?
- MySQL的索引在哪些情况下会失效?
- MySQL的索引原理是什么?
- MySQL的存储引擎有哪些?
- MySQL的最左原则是什么?
- MySQL的乐观锁和悲观锁?
- 如果在a、b、c三个字段上建立复合索引,那么有几个索引?
a、c
、b、c
两个索引会生效吗? - MySQL的聚簇索引和非聚簇索引是什么?
- MySQL的是传递性是什么?如何来保证?
- 如何判断SQL语句是否索引用上了?
- MySQL调优时用什么方法或命令进行排查?命令的回显结果集中哪些子弹是需要重点关注的?
- MySQL进行全表扫描是会触发表锁吗?
- MySQL如何做分表?
- 已知现在有一个一千万数据的日志记录表,每天会向里面新增5000条记录,如何优化?
- 如何做大数据量表的查询和拆分?如果拆分怎么拆?有哪些方式?
- 跨表查询有哪些方式?你最多做过几表联查?
- 事物的隔离级别有哪些?
- 你们每天的数据量大概有多少?
- 你们最大的一张表多大?
- mysql中如何查看执行计划?如何做sql优化?
Java多线程
- 线程安全的数组有哪些?
- 线程安全的集合有哪些?
- hashMap为什么不是线程安全的?底层原理是什么?
- 请用代码实现同时开启一个线程打印1~52,开启另一个线程打印A~Z,最终交替打印1A2B3C...这样的数据
- Java里实现线程的方式有哪些?各自的优缺点是什么?
- 你如何理解同步、异步、阻塞、非阻塞?
- 你的程序中用到了哪些锁?是如何实现的?
消息中间件
- ActiveMQ是什么?
- ActiveMQ的应用场景有哪些?
- ActiveMQ有哪些优缺点?
- ActiveMQ在应用中可以保证分布式事物吗?是怎么是实现的?有哪些优缺点?
- 常用的MQ的对比了解吗?
- kufaka原理是什么?为什么快?
线程池
- Java里线程池常用的有哪些?
- 线程池在你的生产开发中有哪些应用场景?是如何使用的?
- 线程池的原理是什么?
事物
- 数据库事务的四大特性是什么?
- 分布式事物如何保证?
- springcloud的分布式事物如何保证?
- 可以用Redis来实现分布式事物吗?
- 什么是事物的传导性?有哪些问题?
- 事务的CAP理论是什么?
- 你们在生成中用到了哪种方式来保证事务一致性?
JVM
- JVM的内存模型是什么?每个区的作用是什么?
- 如何进行JVM调优?
- 如何对线程服务进行JVM排查和优化?
- JVM有几种算法?
设计模式
- 常用的设计模式有哪些?
- 请写出一个单例模式(要求是线程安全的)
- 单例模式的双重检查机制如何实现?(DCL)
其他
- Nginx可以做哪些事情?
- Nginx有几种负载均衡?
- Nginx的轮询里一致性哈希算法的底层原理是什么?
- Nginx如何避免缓存雪崩
- 服务器的CUP超负荷了,如何排查是哪个项目的?
- 如何根据CPU的负载情况定位代码和线程所在?
- Java程序里如果有无限for循环的代码导致CPU负载超高,如何排查?
- 在爬虫里如何实现用户登录?
- 你是如何让你的爬虫项目避过一些网站的防爬机制的?
- solr的原理是什么?是怎么保证排序的?
- solr在你的项目中起到了什么作用?
- MyBatis里
${}
和#{}
的区别是什么?发生SQL注入的原理是什么? - MyBatis里可以返回哪些对象?
- MyBatis在开发中什么情况下回用到
${}
符号? - 常用的linux命令,并阐述作用
- 当你请求了一个url地址后,它的后面都发生了什么?
- maven的生命周期有哪些?
- 前端的标签选择器有哪些?
- 常见的页面状态有哪些?
程序设计
- 已知现在要在首页上添加一个日打赏榜的功能,请说以下该如何实现?
- 已知你现在有一个定时任务,如何保证高可用?
- 如果为了保证高可用,有多个定时任务,如何做到只有一个定时任务正常执行?
- 如果定时任务挂了,如何让其他定时任务继续执行?
- 如何让你设计一个可以抗住大数据高并发的项目,你怎么设计?
- 设计和实现一个支持挂接多个子系统的单点登录系统。
- 要求挂接多个域名的站点思路
- 一次登录,在多系统使用思路
- 防跨站攻击思路
基础知识
- ==和 equals 的区别?
- string、stringBuilder、SrtingBuffer的区别?
- Object作为父类,它里面有哪些方法?
- HashMap和HashTable的区别?
- map集合的底层数据结构是什么?原理是什么?
- HashMap最大可以存储多少数据?
- ArrayList 和 LinkedList 的区别是什么?
- ArrayList 和 Vector 的区别是什么?
- Array 和 ArrayList 有何区别?
- 说一下 HashMap 的实现原理?
- 说一下 HashSet 的实现原理?
- 如何决定使用 HashMap 还是 TreeMap?
- List、Set、Map 之间的区别是什么?
- java.util.concurrent包下使用过哪些?
- HashMap的工作原理是什么?还有什么处理哈希冲突的方法?
编程题
- 已知现有两个常量数组,请将他们变为一个有序的数组
- 如何用一次遍历的方式,将数组内的数字(重复)进行有序排序
- 写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。
- 给定一个整数sum,从有n个有序元素的数组中寻找元素a,b 使得a+b的结果最接近sum,最快的平均时间复杂度是?
面试技术外的问题
- 你们公司是做什么的?
- 你们现在用的框架是什么?
- 你在你们公司主要负责做什么?
- 你为什么离职?
- 你求职会优先考虑哪些?
- 你期望薪资是多少?
- 你目前的薪资多少?
- 你们的五险一金是怎么交的?
- 你了解我们公司吗?
- 你最快能什么时间入职?
- 你还有哪些问的吗?
- 你有哪些是你做的Java项目中你感觉最有自豪感的?因为什么?技术难度有哪些?
2019年高级Java程序员面试题汇总的更多相关文章
- Java程序员面试题集(136-150)(转)
转:http://blog.csdn.net/jackfrued/article/details/17740651 Java程序员面试题集(136-150) 摘要:这一部分主要是数据结构和算法相关的面 ...
- Java程序员面试题集(71-85)(转)
转:http://blog.csdn.net/jackfrued/article/details/17566627 Java程序员面试题集(71-85) 摘要:这一部分主要包括了UML(统一建模语言) ...
- Java程序员面试题集(51-70)(转)
转:http://blog.csdn.net/jackfrued/article/details/17403101 Java程序员面试题集(51-70) 摘要:这一部分主要讲解了异常.多线程.容器和I ...
- Java程序员面试题集(1-50)(转)
转:http://blog.csdn.net/jackfrued/article/details/17339393 下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和 ...
- Java程序员面试题集(1-50
下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和答案,原来的题目中有很多重复题目和无价值的题目,还有不少的参考答案也是错误的,修改后的Java面试题集参照了JDK最 ...
- 关于如何成为高级java程序员
今日,对如何进一步提升java.成为一个高级的程序员有了兴趣,在网上看到一篇回答,感觉不错,记下来 总结了以下六点:一.JAVA基础 要想成为高级Java程序员,Java是一定要学习的.要成为高级程序 ...
- 高级Java程序员的技术进阶之路
据不完全统计,截至目前(2017.07)为止,中国Java程序员的数量已经超过了100万.而且,随着IT培训业的持续发展和大量的应届毕业生进入社会,Java程序员面临的竞争压力越来越大.那么,作为 ...
- 如何成为高级java程序员
或许您已经读过我的那篇小文<如何成为java初级程序员>,那里面只介绍了成为一个JAVA程序员应该具备的一些知识.我相信您绝不会只想着做一个初级的程序员,上了软件开发的小船,您肯定有着远大 ...
- Java程序员面试题集(86-115)
摘 要:下面的内容包括Struts 2和Hibernate的常见面试题,虽然Struts 2在2013年6月曝出高危漏洞后已经显得江河日下,而Spring MVC的异军突起更加加速了Struts 2的 ...
随机推荐
- Winform中使用FastReport实现自定义PDF打印预览
场景 Winform中使用FastReport实现简单的自定义PDF导出: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1009 ...
- JAVA中的内存们
我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等 ...
- Android mmap 文件映射到内存介绍
本文链接: Android mmap 文件映射到内存介绍 Android开发中,我们可能需要记录一些文件.例如记录log文件.如果使用流来写文件,频繁操作文件io可能会引起性能问题. 为了降低写文件的 ...
- VUE从入门到放弃(项目全流程)————VUE
VUE从入门到放弃(第一天)--整体流程 先想想一个项目,vue项目是从什么到什么,然后再什么的?那是什么呢? 搭建 ( vue-cli) 代码内容 运行 封装 成品 一.搭建(脚手架vue-cli) ...
- Day 26 网络基础 3
tcpdump抓包 tcpdump -i eth0 port 80 -nn -S -i 指定网卡 port 指定端口号 http 80:ftp 21 :ssh 22:telnet 23:smtp 25 ...
- vue中事件修饰符详解(stop, prevent, self, once, capture, passive)
==.stop== 是阻止冒泡行为,不让当前元素的事件继续往外触发,如阻止点击div内部事件,触发div事件 ==.prevent== 是阻止事件本身行为,如阻止超链接的点击跳转,form表单的点击提 ...
- Spring——面向切面编程(AOP)详解
声明:本博客仅仅是一个初学者的学习记录.心得总结,其中肯定有许多错误,不具有参考价值,欢迎大佬指正,谢谢!想和我交流.一起学习.一起进步的朋友可以加我微信Liu__66666666 这是简单学习一遍之 ...
- .net 和 java 技术对应关系
.net 和 java 技术对应关系 java 生态的优势早已人尽皆知,asp.net core 的生态也呈欣欣向荣之势.作为高级技术从业人,你不应该落下任何一门技术. 如果你正在将你的 java 知 ...
- embedding技术
目录 word2vec 负采样 目标函数 反向梯度 层次softmax NPLM的目标函数和反向梯度 目标函数 反向梯度 GNN(图神经网络) deepwalk node2vec 附录 word2ve ...
- 2019 SD卡、U盘无法格式化怎么办的解决方法
有天 闲的没事, 格式化一下U盘 ,结果突然断电了,我的天.我还在格式化的U盘 ,果然 ,我在此启动电脑后,的U盘直接 就不能用了.于是 我格式化. 然后,我的U盘就怎么也格式化不好了 ,找到了几种解 ...