面试百度、阿里、腾讯,这134道Java面试题你会多少?
这里一共是134道Java面试题,看看你能对几道吧!
- Java 语言有哪些特点
- 面向对象和面向过程的区别
- 关于 JVM JDK 和 JRE 最详细通俗的解答
- Oracle JDK 和 OpenJDK 的对比
- Java 和 和 C++ 的区别
6.什么是 Java 程序的主类 应用程序和小程序的主类有何不同 - Java 应用程序与小程序之间有那些差别
- 字符型常量和字符串常量的区别
- 构造器 Constructor 是否可被 override
- 重载和重写的区别
- Java 面向对象编程三大特性: 封装 继承 多态
- String StringBuffer 和 StringBuilder 的区别是什么 String 为什么是不可变的
- 自动装箱与拆箱
- 在一个静态方法内调用一个非静态成员为什么是非法的
- 在 Java 中定义一个不做事且没有参数的构造方法的作用
- import java 和 和 javax 有什么区别
- 接口和抽象类的区别是什么
- 成员变量与局部变量的区别有那些
- 创建一个对象用什么运算符? 对象实体与对象引用有何不同?
- 一个类的构造方法的作用是什么 若一个类没有声明构造方法, 该程序能正确执行吗 ?
- 内存模型以及分区,需要详细到每个区放什么。
- .堆里面的分区:Eden,survival (from+ to),老年代,各自的特点。
- 对象创建方法,对象的内存分配,对象的访问定位。
- GC 的两种判定方法:
- SafePoint 是什么
- GC 的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?
- GC 收集器有哪些?CMS 收集器与 G1 收集器的特点。
- Minor GC 与 Full GC 分别在什么时候发生?
- 几种常用的内存调试工具:jmap、jstack、jconsole、jhat
- 类加载的几个过程:
31.JVM 内存分哪几个区,每个区的作用是什么?
32.如和判断一个对象是否存活?(或者 GC 对象的判定方法)
33.简述 java 垃圾回收机制?
34.java 中垃圾收集的方法有哪些?
35.java 内存模型
36.java 类加载过程?
- 简述 java 类加载机制?
- 类加载器双亲委派模型机制?
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 模式?
- 数据库三范式是什么?
- 有哪些数据库优化方面的经验?
- 请简述常用的索引有哪些种类?
- 以及在 mysql 数据库中索引的工作机制是什么?
105.MySQL 的基础操作命令
106.mysql 的复制原理以及流程。
107.mysql 支持的复制类型?
108.mysql 中 中 varchar 与 与 char 的区别以及 varchar(50) 中的 50 代表的涵义?
- 表中有大字段 X (例如:text 类型),且字段 X 不会经常更新,以读为为主,将该字段拆成子表好处是什么?
110.MySQL 中 中 InnoDB 引擎的行锁是通过加在什么上完成(或称实现)的?
111.分布式系统怎么做服务治理
112.对分布式事务的理解
113.如何实现负载均衡,有哪些算法可以实现?
114.分布式集群下如何做到唯一序列号
- 什么是进程
- 什么是线程
- 线程和进程有什么区别
- 多线程的几种实现方式
- 多线程中忙循环是什么
- 为什么要用线程池?
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 变量有什么不同?
最后
欢迎大家一起交流,喜欢文章记得点个赞哟,感谢支持!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
C#总结(七)动态加载C++动态链接库
C#调用C++ 链接库的方式分为静态调用和动态调用这两种方式。静态调用之前的文章里面都有介绍,使用.net 提供的DllImport 导入相关的C++ 库即可。请看之前的文章,https://www.cnblogs.com/zhangweizhong/p/8119340.html 。 今天介绍动态调用的方法。很多时候,Dll库的目录可能是变化的,或是有些场景,需要根据具体的情况,来动态加载这些Dll库。这样使用静态调用的方式就很不方便,C#中我们经常通过配置动态的调用托管Dll,那么是不是也可以这样动态调用C++动态链接呢?只要通过LoadLibrary, GetProcess, FreeLibrary这几个函数是可以动态调用动态链接的(它们包含在kernel32.dll中)。 原理LoadLibrary ( string lpFileName):载入指定的动态链接库,并将它映射到当前进程使用的地址空间。载入成功后即可访问库内保存的资源 , 除了LoadLibrary 方法,还有一个类似的 LoadLibraryEx 方法。 GetProcAddress (int hModule, s...
- 下一篇
3个Spring Boot核心注解,你知道几个?
Spring Boot 核心注解讲解Spring Boot 最大的特点是无需 XML 配置文件,能自动扫描包路径装载并注入对象,并能做到根据 classpath 下的 jar 包自动配置。所以 Spring Boot 最核心的 3 个注解就是:1、@Configurationorg.springframework.context.annotation.Configuration这是 Spring 3.0 添加的一个注解,用来代替 applicationContext.xml 配置文件,所有这个配置文件里面能做到的事情都可以通过这个注解所在类来进行注册。下面几个相关注解也是非常重要的!@Bean用来代替 XML 配置文件里面的 配置。@ImportResource如果有些通过类的注册方式配置不了的,可以通过这个注解引入额外的 XML 配置文件,有些老的配置文件无法通过 @Configuration 方式配置的非常管用。@Import用来引入额外的一个或者多个 @Configuration 修饰的配置文件类。@SpringBootConfiguration这个注解就是 @Configura...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS关闭SELinux安全模块