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

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
简介: 引言:随着金九银十的到来,回首在经历了两周的跳槽求职路后,终于成功拿到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相关文章!还有不定时的福利赠送,包括整理的学习资料,面试题,源码等~~

相关文章
|
3月前
|
缓存 Java API
Java 面试实操指南与最新技术结合的实战攻略
本指南涵盖Java 17+新特性、Spring Boot 3微服务、响应式编程、容器化部署与数据缓存实操,结合代码案例解析高频面试技术点,助你掌握最新Java技术栈,提升实战能力,轻松应对Java中高级岗位面试。
331 0
|
4月前
|
缓存 Java 关系型数据库
2025 年最新华为 Java 面试题及答案,全方位打造面试宝典
Java面试高频考点与实践指南(150字摘要) 本文系统梳理了Java面试核心考点,包括Java基础(数据类型、面向对象特性、常用类使用)、并发编程(线程机制、锁原理、并发容器)、JVM(内存模型、GC算法、类加载机制)、Spring框架(IoC/AOP、Bean生命周期、事务管理)、数据库(MySQL引擎、事务隔离、索引优化)及分布式(CAP理论、ID生成、Redis缓存)。同时提供华为级实战代码,涵盖Spring Cloud Alibaba微服务、Sentinel限流、Seata分布式事务,以及完整的D
195 1
|
4月前
|
算法 架构师 Java
Java 开发岗及 java 架构师百度校招历年经典面试题汇总
以下是百度校招Java岗位面试题精选摘要(150字): Java开发岗重点关注集合类、并发和系统设计。HashMap线程安全可通过Collections.synchronizedMap()或ConcurrentHashMap实现,后者采用分段锁提升并发性能。负载均衡算法包括轮询、加权轮询和最少连接数,一致性哈希可均匀分布请求。Redis持久化有RDB(快照恢复快)和AOF(日志更安全)两种方式。架构师岗涉及JMM内存模型、happens-before原则和无锁数据结构(基于CAS)。
107 5
|
4月前
|
安全 Java API
2025 年 Java 校招面试常见问题及详细答案汇总
本资料涵盖Java校招常见面试题,包括Java基础、并发编程、JVM、Spring框架、分布式与微服务等核心知识点,并提供详细解析与实操代码,助力2025校招备战。
190 1
|
4月前
|
算法 Java 微服务
2025 年 Java 面试宝典社招春招秋招实操全方位攻略
2025年Java面试宝典涵盖核心技术及最新趋势,分为四大板块:1. Java基础:深入数据类型、多态等特性,结合学生信息管理等实例;2. JVM核心:解析内存模型与GC算法,附多线程转账等场景应用;3. 高并发方案:详解synchronized与线程池配置,提供Web服务器优化案例;4. Spring生态:剖析IoC/AOP原理,演示微服务架构实现。特别新增Java 17+特性实操,包括Record类、密封接口等语法糖,整合Spring Boot 3、响应式编程及云原生技术,通过订单状态机、API网关配置。
252 1
|
4月前
|
缓存 算法 NoSQL
校招 Java 面试高频常见知识点深度解析与实战案例详细分享
《2025校招Java面试核心指南》总结了Java技术栈的最新考点,涵盖基础语法、并发编程和云原生技术三大维度: 现代Java特性:重点解析Java 17密封类、Record类型及响应式Stream API,通过电商案例演示函数式数据处理 并发革命:对比传统线程池与Java 21虚拟线程,详解Reactor模式在秒杀系统中的应用及背压机制 云原生实践:提供Spring Boot容器化部署方案,分析Spring WebFlux响应式编程和Redis Cluster缓存策略。
90 0
|
4月前
|
Java API 微服务
2025 年 Java 校招面试全攻略:从面试心得看 Java 岗位求职技巧
《2025年Java校招最新技术要点与实操指南》 本文梳理了2025年Java校招的核心技术栈,并提供了可直接运行的代码实例。重点技术包括: Java 17+新特性(Record类、Sealed类等) Spring Boot 3+WebFlux响应式编程 微服务架构与Spring Cloud组件 Docker容器化部署 Redis缓存集成 OpenAI API调用 通过实际代码演示了如何应用这些技术,如Java 17的Record类简化POJO、WebFlux构建响应式API、Docker容器化部署。
141 5
|
4月前
|
缓存 NoSQL Java
Java Redis 面试题集锦 常见高频面试题目及解析
本文总结了Redis在Java中的核心面试题,包括数据类型操作、单线程高性能原理、键过期策略及分布式锁实现等关键内容。通过Jedis代码示例展示了String、List等数据类型的操作方法,讲解了惰性删除和定期删除相结合的过期策略,并提供了Spring Boot配置Redis过期时间的方案。文章还探讨了缓存穿透、雪崩等问题解决方案,以及基于Redis的分布式锁实现,帮助开发者全面掌握Redis在Java应用中的实践要点。
194 6
|
4月前
|
NoSQL Java 微服务
2025 年最新 Java 面试从基础到微服务实战指南全解析
《Java面试实战指南:高并发与微服务架构解析》 本文针对Java开发者提供2025版面试技术要点,涵盖高并发电商系统设计、微服务架构实现及性能优化方案。核心内容包括:1)基于Spring Cloud和云原生技术的系统架构设计;2)JWT认证、Seata分布式事务等核心模块代码实现;3)数据库查询优化与高并发处理方案,响应时间从500ms优化至80ms;4)微服务调用可靠性保障方案。文章通过实战案例展现Java最新技术栈(Java 17/Spring Boot 3.2)的应用.
218 9
|
4月前
|
存储 安全 Java
2025 最新史上最全 Java 面试题独家整理带详细答案及解析
本文从Java基础、面向对象、多线程与并发等方面详细解析常见面试题及答案,并结合实际应用帮助理解。内容涵盖基本数据类型、自动装箱拆箱、String类区别,面向对象三大特性(封装、继承、多态),线程创建与安全问题解决方法,以及集合框架如ArrayList与LinkedList的对比和HashMap工作原理。适合准备面试或深入学习Java的开发者参考。附代码获取链接:[点此下载](https://pan.quark.cn/s/14fcf913bae6)。
1353 48