90%的面试官都会提的java100+面试题
lipiwang 2024-11-24 18:33 10 浏览 0 评论
前言
之前听过的一个故事,为什么在美国有些企业只要看你是哈佛的学历就会直接录取你呢?因为在美国上大学还是挺贵的,首先你能上的起哈佛说明你的家境还不错;第二,你能进入哈佛,也说明你脑子不笨;再者就是,哈佛确实能给你提供不错的教育环境。综合以上特质,所以这些企业才敢直接聘请那些有哈佛学历的人。
所以对应到我们这份面试题也是一样,首先你如果能真的记住其中大部分的答案:第一,说明你的脑子不笨;第二,说明你有上进心,也愿意学习;第三,记住了这份面试题之后,即使你的能力刚开始没有那么好,但有了理论支撑之后,再去工作实践的时候,就有了理论指导,结果也不会太差。
所以如果您是面试官,恰好又看到这里,如果条件允许的话,请多给这样愿意学又很聪明的年轻人一些机会,即使他们现在并没有太多的实践经验。
说回面试的事,这份面试清单本来是只有我们内部使用的,可到后来有很多朋友在微信上联系到我,让我帮他们找一些面试方面的资料,而且这些关系也不太好拒绝,一呢,是因为这些找我的人要么是我的朋友的弟弟妹妹,要么是我的表弟表妹们;二呢,我也不想马马虎虎的对付,俗话说的好“受人之事忠人之命”,不能辜负这份信任。但最后就有了这么一个想法,要不要把我整理的这 100 多道 Java 面试题分享出去,去帮助更多的人。
适宜阅读人群
- 需要面试的初/中/高级 java 程序员
- 想要查漏补缺的人
- 想要不断完善和扩充自己 java 技术栈的人
- java 面试官
可能对于初学者暂时不需要的框架和 JVM 模块的知识,读者朋友们可根据自己的情况,选择对应的模块进行阅读。
正题
一、Java 基础
1.java 中的 Math.round(-1.5) 等于多少?
2.String 属于基础的数据类型吗?
3.java 中操作字符串都有哪些类?它们之间有什么区别?
4.String str="i"与 String str=new String(“i”)一样吗?
5.如何将字符串反转?
6.String 类的常用方法都有那些?
7.抽象类必须要有抽象方法吗?
8.普通类和抽象类有哪些区别?
9.抽象类能使用 final 修饰吗?
10.接口和抽象类有什么区别?
11.java 中 IO 流分为几种?
12.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
13.Java有没有goto?
14.说说&和&&的区别。
15.在JAVA中如何跳出当前的多重嵌套循环?
16.switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
二、多线程
17.创建线程有哪几种方式?
18.说一下 runnable 和 callable 有什么区别?
19.线程有哪些状态?
20.sleep() 和 wait() 有什么区别?
21.notify()和 notifyAll()有什么区别?
22.线程的 run()和 start()有什么区别?
23.创建线程池有哪几种方式?
24.线程池都有哪些状态?
25.线程池中 submit()和 execute()方法有什么区别?
26.在 java 程序中怎么保证多线程的运行安全?
27.多线程锁的升级原理是什么?
28.什么是死锁?
29.怎么防止死锁?
30.ThreadLocal 是什么?有哪些使用场景?
31.说一下 synchronized 底层实现原理?
32.synchronized 和 volatile 的区别是什么?
33.synchronized 和 Lock 有什么区别?
34.synchronized 和 ReentrantLock 区别是什么?
35.说一下 atomic 的原理?
36.什么是Java Timer类?如何创建一个有特定时间间隔的任务?
37.Java中的同步集合与并发集合有什么区别?
38.同步方法和同步块,哪个是更好的选择?
39.什么是线程池? 为什么要使用它?
40.Java中invokeAndWait 和 invokeLater有什么区别?
41.多线程中的忙循环是什么?
三、对象拷贝
42.为什么要使用克隆?
43.如何实现对象克隆?
44.深拷贝和浅拷贝区别是什么?
四、容器
45.List、Set、Map 之间的区别是什么?
46.HashMap 和 Hashtable 有什么区别?
47.如何决定使用 HashMap 还是 TreeMap?
48.说一下 HashMap 的实现原理?
49.说一下 HashSet 的实现原理?
50.ArrayList 和 LinkedList 的区别是什么?
51.如何实现数组和 List 之间的转换?
52.ArrayList 和 Vector 的区别是什么?
53.Array 和 ArrayList 有何区别?
54.在 Queue 中 poll()和 remove()有什么区别?
55.哪些集合类是线程安全的?
五、反射
56.什么是反射?
57.什么是 java 序列化?什么情况下需要序列化?
58.动态代理是什么?有哪些应用?
59.怎么实现动态代理?
六、Java Web
60.jsp 有哪些内置对象?作用分别是什么?
61.说一下 jsp 的 4 种作用域?
62.session 和 cookie 有什么区别?
63.说一下 session 的工作原理?
64.果客户端禁止 cookie 能实现 session 还能用吗?
65.spring mvc 和 struts 的区别是什么?
66.如何避免 sql 注入?
67.Http中,get和post方法的区别
68.什么是cookie?Session和cookie有什么区别?
69.jsp和servlet的区别、共同点、各自应用的范围?
70.tomcat容器是如何创建servlet类实例?用到了什么原理?
71.JDBC的DriverManager是用来做什么的?
72.execute,executeQuery,executeUpdate的区别是什么?
73.SQL查询出来的结果分页展示一般怎么做?
74.JDBC的ResultSet是什么?
Iterater和ListIterator之间有什么区别?
75我们如何对一组对象进行排序?
76.与Java集合框架相关的有哪些最好的实践?
77.什么是事务?
78.说说你开发中遇到过什么难题啊?怎么解决的?
七、网络
79.简述 tcp 和 udp的区别?
80.tcp 为什么要三次握手,两次不行吗?为什么?
81.说一下 tcp 粘包是怎么产生的?
82.OSI 的七层模型都有哪些?
83.get 和 post 请求有哪些区别?
84.如何实现跨域?
八、MySql
85.如何获取当前数据库版本?
86.说一下 ACID 是什么?
87.char 和 varchar 的区别是什么?
88.float 和 double 的区别是什么?
89.mysql 的内连接、左连接、右连接有什么区别?
90.mysql 索引是怎么实现的?
91.怎么验证 mysql 的索引是否满足需求?
100.说一下数据库的事务隔离?
101.说一下 mysql 常用的引擎?
102.说一下 mysql 的行锁和表锁?
103.说一下乐观锁和悲观锁?
九、JVM、java框架
104说一下堆栈的区别?
105.队列和栈是什么?有什么区别?
106.什么是双亲委派模型?
107.说一下类加载的执行过程?
108.怎么判断对象是否可以被回收?
109.java 中都有哪些引用类型?
110.说一下 jvm 有哪些垃圾回收算法?
111.说一下 jvm 有哪些垃圾回收器?
112.详细介绍一下 CMS 垃圾回收器?
113.新生代垃圾回收器和老生代垃圾回收器都有哪些?有什么区别?
114.简述分代垃圾回收器是怎么工作的?
115.使用Spring框架的好处是什么?
116. ApplicationContext通常的实现是什么?
117.什么是Spring的依赖注入?有哪些方法进行依赖注入
118.什么是Spring beans?
119解释Spring支持的几种bean的作用域。
120.解释Spring框架中bean的生命周期。
121.在 Spring中如何注入一个java集合?
122.解释不同方式的自动装配 。
123.Spring框架的事务管理有哪些优点?
124.什么是基于Java的Spring注解配置? 给一些注解的例子?
欢迎做Java的工程师朋友们私信我【java】免费获取这个124道spring面试题PDF,还有更多免费的Java架构学习资料,其中覆盖了互联网的方方面面,期间碰到各种产品各种场景下的各种问题,希望可以帮助大家扩展自己的技术广度和知识面。
相关推荐
- 前端入门——css 网格轨道详细介绍
-
上篇前端入门——cssGrid网格基础知识整体大概介绍了cssgrid的基本概念及使用方法,本文将介绍创建网格容器时会发生什么?以及在网格容器上使用行、列属性如何定位元素。在本文中,将介绍:...
- Islands Architecture(孤岛架构)在携程新版首页的实践
-
一、项目背景2022,携程PC版首页终于迎来了首次改版,完成了用户体验与技术栈的全面升级。作为与用户连接的重要入口,旧版PC首页已经陪伴携程走过了22年,承担着重要使命的同时,也遇到了很多问题:维护/...
- HTML中script标签中的那些属性
-
HTML中的<script>标签详解在HTML中,<script>标签用于包含或引用JavaScript代码,是前端开发中不可或缺的一部分。通过合理使用<scrip...
- CSS 中各种居中你真的玩明白了么
-
页面布局中最常见的需求就是元素或者文字居中了,但是根据场景的不同,居中也有简单到复杂各种不同的实现方式,本篇就带大家一起了解下,各种场景下,该如何使用CSS实现居中前言页面布局中最常见的需求就是元...
- CSS样式更改——列表、表格和轮廓
-
上篇文章主要介绍了CSS样式更改篇中的字体设置Font&边框Border设置,这篇文章分享列表、表格和轮廓,一起来看看吧。1.列表List1).列表的类型<ulstyle='list-...
- 一文吃透 CSS Flex 布局
-
原文链接:一文吃透CSSFlex布局教学游戏这里有两个小游戏,可用来练习flex布局。塔防游戏送小青蛙回家Flexbox概述Flexbox布局也叫Flex布局,弹性盒子布局。它决定了...
- css实现多行文本的展开收起
-
背景在我们写需求时可能会遇到类似于这样的多行文本展开与收起的场景:那么,如何通过纯css实现这样的效果呢?实现的难点(1)位于多行文本右下角的展开收起按钮。(2)展开和收起两种状态的切换。(3)文本...
- css 垂直居中的几种实现方式
-
前言设计是带有主观色彩的,同样网页设计中的css一样让人摸不头脑。网上列举的实现方式一大把,或许在这里你都看到过,但既然来到这里我希望这篇能让你看有所收获,毕竟这也是前端面试的基础。实现方式备注:...
- WordPress固定链接设置
-
WordPress设置里的最后一项就是固定链接设置,固定链接设置是决定WordPress文章及静态页面URL的重要步骤,从站点的SEO角度来讲也是。固定链接设置决定网站URL,当页面数少的时候,可以一...
- 面试发愁!吃透 20 道 CSS 核心题,大厂 Offer 轻松拿
-
前端小伙伴们,是不是一想到面试里的CSS布局题就发愁?写代码时布局总是对不齐,面试官追问兼容性就卡壳,想跳槽却总被“多列等高”“响应式布局”这些问题难住——别担心!从今天起,咱们每天拆解一...
- 3种CSS清除浮动的方法
-
今天这篇文章给大家介绍3种CSS清除浮动的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。首先,这里就不讲为什么我们要清楚浮动,反正不清除浮动事多多。下面我就讲3种常用清除浮动的...
- 2025 年 CSS 终于要支持强大的自定义函数了?
-
大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!1.什么是CSS自定义属性CSS自...
- css3属性(transform)的一个css3动画小应用
-
闲言碎语不多讲,咱们说说css3的transform属性:先上效果:效果说明:当鼠标移到a标签的时候,从右上角滑出二维码。实现方法:HTML代码如下:需要说明的一点是,a链接的跳转需要用javasc...
- CSS基础知识(七)CSS背景
-
一、CSS背景属性1.背景颜色(background-color)属性值:transparent(透明的)或color(颜色)2.背景图片(background-image)属性值:none(没有)...
- CSS 水平居中方式二
-
<divid="parent"><!--定义子级元素--><divid="child">居中布局</div>...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- maven镜像 (69)
- undefined reference to (60)
- zip格式 (63)
- oracle over (62)
- date_format函数用法 (67)
- 在线代理服务器 (60)
- shell 字符串比较 (74)
- x509证书 (61)
- localhost (65)
- java.awt.headless (66)
- syn_sent (64)
- settings.xml (59)
- 弹出窗口 (56)
- applicationcontextaware (72)
- my.cnf (73)
- httpsession (62)
- pkcs7 (62)
- session cookie (63)
- java 生成uuid (58)
- could not initialize class (58)
- beanpropertyrowmapper (58)
- word空格下划线不显示 (73)
- jar文件 (60)
- jsp内置对象 (58)
- makefile编写规则 (58)