面试百度、阿里、腾讯,这134道Java面试题你会多少?

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 Tair(兼容Redis),内存型 2GB
简介: 面试百度、阿里、腾讯,这134道Java面试题你会多少?

这里一共是134道Java面试题,看看你能对几道吧!
image

  1. Java 语言有哪些特点
  2. 面向对象和面向过程的区别
  3. 关于 JVM JDK 和 JRE 最详细通俗的解答
  4. Oracle JDK 和 OpenJDK 的对比
  5. Java 和 和 C++ 的区别
    6.什么是 Java 程序的主类 应用程序和小程序的主类有何不同
  6. Java 应用程序与小程序之间有那些差别
  7. 字符型常量和字符串常量的区别
  8. 构造器 Constructor 是否可被 override
  9. 重载和重写的区别
  10. Java 面向对象编程三大特性: 封装 继承 多态
  11. String StringBuffer 和 StringBuilder 的区别是什么 String 为什么是不可变的
  12. 自动装箱与拆箱
  13. 在一个静态方法内调用一个非静态成员为什么是非法的
  14. 在 Java 中定义一个不做事且没有参数的构造方法的作用
  15. import java 和 和 javax 有什么区别
  16. 接口和抽象类的区别是什么
  17. 成员变量与局部变量的区别有那些
  18. 创建一个对象用什么运算符? 对象实体与对象引用有何不同?
  19. 一个类的构造方法的作用是什么 若一个类没有声明构造方法, 该程序能正确执行吗 ?
  20. 内存模型以及分区,需要详细到每个区放什么。
  21. .堆里面的分区:Eden,survival (from+ to),老年代,各自的特点。
  22. 对象创建方法,对象的内存分配,对象的访问定位。
  23. GC 的两种判定方法:
  24. SafePoint 是什么
  25. GC 的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?
  26. GC 收集器有哪些?CMS 收集器与 G1 收集器的特点。
  27. Minor GC 与 Full GC 分别在什么时候发生?
  28. 几种常用的内存调试工具:jmap、jstack、jconsole、jhat
  29. 类加载的几个过程:
    31.JVM 内存分哪几个区,每个区的作用是什么?

32.如和判断一个对象是否存活?(或者 GC 对象的判定方法)
33.简述 java 垃圾回收机制?
34.java 中垃圾收集的方法有哪些?
35.java 内存模型
36.java 类加载过程?

  1. 简述 java 类加载机制?
  2. 类加载器双亲委派模型机制?
    39.什么是类加载器,类加载器有哪些?

40.简述 java 内存分配与回收策率以及 Minor GC 和Major GC
41、什么是 Redis?简述它的优缺点?
42、Redis 与 memcached 相比有哪些优势?
43、Redis 支持哪几种数据类型?
44、Redis 主要消耗什么物理资源?
45、Redis 有哪几种数据淘汰策略?
46、Redis 官方为什么不提供 Windows 版本?
47、一个字符串类型的值能存储最大容量是多少?
48、为什么 Redis 需要把所有数据放到内存中?
49、Redis 集群方案应该怎么做?都有哪些方案?
50、Redis 集群方案什么情况下会导致整个集群不可用?
51、MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中的数据都是热点数据?
52、Redis 有哪些适合的场景?
53、Redis 支持的 Java 客户端都有哪些?官方推荐用哪个?
54、Redis 和 Redisson 有什么关系?
55、Jedis 与 Redisson 对比有什么优缺点?
56、说说 Redis 哈希槽的概念?
57、Redis 集群的主从复制模型是怎样的?
58、Redis 集群会有写操作丢失吗?为什么?
59、Redis 集群如何选择数据库?
60、Redis 如何做内存优化?
71 、什么是 Spring 框架?Spring 框架有哪些主要模块?
72 、使用 Spring 框架能带来哪些好处?
73 、什么是控制反转(IOC) ?什么是依赖注入?
74 、请解释下 Spring 框架中的 IoC ?
75 、BeanFactory 和 和 ApplicationContext 有什么区别?
76 、Spring 有几种配置方式?
77 、如何用基于 XML 配置的方式配置 Spring ?
78 、如何用基于 Java 配置的方式配置 Spring ?
79 、怎样用注解的方式配置 Spring ?
80 、请解释 Spring Bean 的生命周期?
81 、Spring Bean 的作用域之间有什么区别?
82 、什么是 Spring inner beans ?
83 、Spring 框架中的单例 Beans 是线程安全的么?
84 、请举例说明如何在 Spring 中注入一个 Java Collection ?
85 、如何向 Spring Bean 中注入一个 Java.util.Properties
86 、请解释 Spring Bean 的自动装配?
87 、请解释自动装配模式的区别?
88 、如何开启基于注解的自动装配?
89 、请举例解释@Required 注解?
90 、请举例解释@Autowired 注解?
91 、请举例说明@Qualifier 注解?
92 、构造方法注入和设值注入有什么区别?
93 、Spring 框架中有哪些不同类型的事件?
94 、FileSystemResource 和 和 ClassPathResource 有何区别?
95 、Spring 框架中都用到了哪些设计模式?
96.RabbitMQ 中的 broker 是指什么?cluster 又是指什么?
97.RabbitMQ 上的一个 queue 中存放的 message 是否有数量限制?
98.什么是 ActiveMQ?
99.Kafka 判断一个节点是否还活着有那两个条件?
100、Kafka 消息是采用 Pull 模式,还是 Push 模式?

  1. 数据库三范式是什么?
  2. 有哪些数据库优化方面的经验?
  3. 请简述常用的索引有哪些种类?
  4. 以及在 mysql 数据库中索引的工作机制是什么?
    105.MySQL 的基础操作命令

106.mysql 的复制原理以及流程。
107.mysql 支持的复制类型?
108.mysql 中 中 varchar 与 与 char 的区别以及 varchar(50) 中的 50 代表的涵义?

  1. 表中有大字段 X (例如:text 类型),且字段 X 不会经常更新,以读为为主,将该字段拆成子表好处是什么?
    110.MySQL 中 中 InnoDB 引擎的行锁是通过加在什么上完成(或称实现)的?

111.分布式系统怎么做服务治理
112.对分布式事务的理解
113.如何实现负载均衡,有哪些算法可以实现?
114.分布式集群下如何做到唯一序列号

  1. 什么是进程
  2. 什么是线程
  3. 线程和进程有什么区别
  4. 多线程的几种实现方式
  5. 多线程中忙循环是什么
  6. 为什么要用线程池?
    121.在java中守护线程和本地线程区别?

122.Java中用到的线程调度算法是什么?
123.为什么使用Executor框架?
124.什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)?
125.Java Concurrency API中的Lock接口(Lock interface)是什么?对比同步它有什么优势?
126.什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者-消费者模型?
127.什么是并发容器的实现?
128.多线程同步和互斥有几种实现方法,都是什么?
129.为什么我们调用start()方法时会执行run()方法,为什么我们不能直接调用run()方法?
130.什么是不可变对象,它对写并发应用有什么帮助?
131.Java中ConcurrentHashMap的并发度是什么?
132.JVM中哪个参数是用来控制线程的栈堆栈小的?
133.你如何在Java中获取线程堆栈?
134.volatile 变量和 atomic 变量有什么不同?
最后
欢迎大家一起交流,喜欢文章记得点个赞哟,感谢支持!

相关实践学习
基于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
相关文章
|
3月前
|
算法 前端开发 Java
数据结构与算法学习四:单链表面试题,新浪、腾讯【有难度】、百度面试题
这篇文章总结了单链表的常见面试题,并提供了详细的问题分析、思路分析以及Java代码实现,包括求单链表中有效节点的个数、查找单链表中的倒数第k个节点、单链表的反转以及从尾到头打印单链表等题目。
41 1
数据结构与算法学习四:单链表面试题,新浪、腾讯【有难度】、百度面试题
|
3月前
|
负载均衡 算法 Java
腾讯面试:说说6大Nginx负载均衡?手写一下权重轮询策略?
尼恩,一位资深架构师,分享了关于负载均衡及其策略的深入解析,特别是基于权重的负载均衡策略。文章不仅介绍了Nginx的五大负载均衡策略,如轮询、加权轮询、IP哈希、最少连接数等,还提供了手写加权轮询算法的Java实现示例。通过这些内容,尼恩帮助读者系统化理解负载均衡技术,提升面试竞争力,实现技术上的“肌肉展示”。此外,他还提供了丰富的技术资料和面试指导,助力求职者在大厂面试中脱颖而出。
腾讯面试:说说6大Nginx负载均衡?手写一下权重轮询策略?
|
5月前
|
人工智能 JSON 文字识别
【实操】Java+百度ocr,实现图片识别文字小工具
本文介绍了一个基于Java和百度OCR的文字识别工具,能够通过截图或上传图片实现文字识别,并使用exe4j将工具封装为exe文件以便于使用。文章详细介绍了实现过程,包括Java Swing页面布局、百度OCR配置及使用方法,以及如何将Java项目打包成jar和exe文件。此外,还提供了一些相关资源供读者参考。
85 0
【实操】Java+百度ocr,实现图片识别文字小工具
|
6月前
|
SQL Java Unix
Android经典面试题之Java中获取时间戳的方式有哪些?有什么区别?
在Java中获取时间戳有多种方式,包括`System.currentTimeMillis()`(毫秒级,适用于日志和计时)、`System.nanoTime()`(纳秒级,高精度计时)、`Instant.now().toEpochMilli()`(毫秒级,ISO-8601标准)和`Instant.now().getEpochSecond()`(秒级)。`Timestamp.valueOf(LocalDateTime.now()).getTime()`适用于数据库操作。选择方法取决于精度、用途和时间起点的需求。
81 3
|
6月前
|
存储 Java 程序员
Java面试题:请解释Java中的永久代(PermGen)和元空间(Metaspace)的区别
Java面试题:请解释Java中的永久代(PermGen)和元空间(Metaspace)的区别
254 11
|
6月前
|
缓存 监控 算法
Java面试题:描述Java垃圾回收的基本原理,以及如何通过代码优化来协助垃圾回收器的工作
Java面试题:描述Java垃圾回收的基本原理,以及如何通过代码优化来协助垃圾回收器的工作
95 8
|
6月前
|
NoSQL Java 应用服务中间件
Java高级面试题
Java高级面试题
132 1
|
6月前
|
网络协议 安全 前端开发
java面试题
java面试题
|
6月前
|
NoSQL Java 关系型数据库
常见Java面试题
常见Java面试题
|
6月前
|
SQL 安全 Java
Java面试题:什么是JDBC以及如何在Java中使用它进行数据库操作?
Java面试题:什么是JDBC以及如何在Java中使用它进行数据库操作?
66 0