2019年高级Java程序员面试题汇总

简介: 引言:随着金九银十的到来,回首在经历了两周的跳槽求职路后,终于成功拿到offer,距今已经入职快一个月了,因此,这几天抽空将之前的面试题做了个汇总,一方面自己以后回顾学习用,一方面为大家奉送上一份秋收的福利。
+关注继续查看

引言:随着金九银十的到来,回首在经历了两周的跳槽求职路后,终于成功拿到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项目中你感觉最有自豪感的?因为什么?技术难度有哪些?
需要面试题答案的关注gzh“程序员小x”私信领取哦!另外喜欢这篇文章的可以给笔者点个赞,关注一下,每天都会分享Java相关文章!还有不定时的福利赠送,包括整理的学习资料,面试题,源码等~~

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
5天前
|
Java 程序员 编译器
java之七 高级类设计
java之七 高级类设计
|
19天前
|
消息中间件 分布式计算 Java
大厂招聘重点全在这!GitHub置顶Java基础-高级面试库+自学路线
最近几年经常会听见这样一种声音:“程序员是吃青春饭的,年龄一大就不吃香了”,在当下这种互联网产业增速放缓,甚至隐约展现出疲态的时刻,此类言论就很有市场。 可能在其他领域中,程序员的发展前景不太乐观,但在Java这条赛道上,大家的前景还是很明朗的。入行Java也好几年了,我属于是半路出家,感觉做这一行很轻松,不会像以前做网络安全时那样感到焦虑与压力。 Java这一块,最看重的是技术与经验,只要是愿意学习勤钻研,在Java领域还是能吃得开。 至于收入方面,问了圈子里很多朋友,也结合我个人的实际情况,得出的结论是:平均每年能入60个左右,职位越高入得越多。这一行的高管几乎没有什么中年危
21 0
|
23天前
|
设计模式 架构师 NoSQL
机会来了!阿里发布2023年高级架构师(Java岗)面试技术规章手册
今天听阿里的一位小伙伴透露,Alibaba已经准备了一份今年金九银十(Java岗)面试技术规章手册,这份手册包含了近10w多字,有这近百到面试题+解析,涵盖了(JVM/多线程并发/微服务/spring全家桶/Redis/MySQL/分布式/计算机网络/操作系统/mybatis/Linux/NGINX/设计模式)等等!
51 1
|
25天前
|
Dubbo NoSQL Java
阿里P8面试官让我吃透这份10W字java面试题终于可以拿java高级岗
2022是最不平凡的一年,可能找工作的程序员在前半年感触不是很深,尤其是从9月份之后,找工作是越来越难了,投出去的简历都是已读不回。 其实,伴随着互联网行业寒冬的到来,各大企业都不敢大肆招聘,都是选择收缩发展,加上程序员内部越来越卷,要求越来越高了,要想在IT行业继续发展进阶拿高薪的话,提升自己是必不可少的。
|
26天前
|
消息中间件 Dubbo Java
阿里裁员就靠这166页精品Java面试手册成功逆袭java高级开发岗了
近期,肯定有很多小伙伴,投出去的简历HR基本上都是已读不回,甚至都没有任何回复,或者平台默认筛选,你的简历HR根本就看不到。 即使有些小伙伴简历通过,收到面试邀请了,结果被通知不用面试了; 还有些小伙伴,有面试机会了,甚至已经参加了面试,但是还是被刷下来了。
|
2月前
|
存储 NoSQL Java
当年我跳槽Java高级开发就是这么答B树和B+树区别的
今天,我给大家介绍一种面试中经常被问到数据结构树。大家可能也经常会听到二叉树、二叉查找树、AVL平衡二叉树、B树、 等等,那今天我给大家一次性讲清楚。
23 1
|
2月前
|
NoSQL Java Redis
阿里Java高级岗中间件二面:GC+IO+JVM+多线程+Redis+数据库+源码
虽然“钱多、事少、离家近”的工作可能离技术人比较远,但是找到一份合适的工作,其实并不像想象中那么难。但是,有些技术人确实是认真努力工作,但在面试时表现出的能力水平却不足以通过面试,或拿到高薪,其实不外乎以下 2 个原因:
|
2月前
|
设计模式 算法 Java
腾讯Java高级岗180道面试真题,面试大厂拿45Koffer没问题!
一、数据结构与算法基础 · 说一下几种常见的排序算法和分别的复杂度。 · 用Java写一个冒泡排序算法 · 描述一下链式存储结构。 · 如何遍历一棵二叉树? · 倒排一个LinkedList。 · 用Java写一个递归遍历目录下面的所有文件。
|
2月前
|
消息中间件 Java 关系型数据库
宅家30天,2万字节java高级工程师面试题解析,如何斩获阿里p7
宅家里一个月,“闭关修炼”的你是不是正在为金三银四跳槽季发愁呢?小编今天说的这富含的15个互联网大厂Java高级工程师核心面试问题整理!内容包括: kafka面试题及解析18道 ZooKeeper面试题及解析28道 Linux 面试真题及解析45道 MySQL面试真题及解析50道 springboot面试真题及解析22道 微服务面试真题及解析50道 mybatis面试真题及解析27道 readis面试真题及解析40道 好好学习将这些面试题都吃透,让你金九银十不再慌张。
25 0
|
2月前
|
NoSQL Dubbo Java
这88道阿里高级岗面试题,刷掉了80%以上的Java程序员
2023,可谓是招聘面试最难季。不少大厂,如腾讯、字节的招聘名额明显减少,面试门槛却一再拔高,如果不用心准备,很可能就被面试官怼得哑口无言。今天不谈其它,就说说我作为面试官面试的那些事儿。
30 0
推荐文章
更多