java初级面试题

java面试感悟:对Java的框架要有清晰的认识与它们之间的联系,最好可以流利的说出来;简历上写的知识点和项目经验要会并且说的很好,才不会错过好的企业;面试也是经验的积累(有个面试官问:前后端如何联调? mybatis常用标签?当时没说出来, 不会的、迷糊的、没注意到的回来补 ),对自己学的知识要温故而知新;建议报班学习,毕竟是专业的老师和就业指导老师,四五个月学的起码可以就业了,(本人是自学,可能不适合自学吧,导致面试处处碰壁,从入门到放弃!之后报班培训了影视制作,短视频,平常也会看看java,影视制作里面也会用到Java的简单的语法,希望对你有所帮助)。
1、谈一谈你对java的认识与理解?
(1).Java是一门面向对象编程语言,不仅吸收了C/C++语言的各种优点,还摒弃了C/C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
(2).Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点,Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。
(3).用 Java 实现的 HotJava 浏览器(支持Java applet)显示了 Java 的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java Applet。

2、String 属于基础的数据类型吗?
不属于,String 是最常用的引用类型。
Java 中 8 种基础的数据类型:byte、short、char、int、long、float、double、boolean。

3、JDK 和 JRE 有什么区别?
JDK:java Development Kit 的简称,JAVA 开发工具包,提供了java的开发环境和运行环境
JRE:java Runtime Environment 的简称,java运行环境,为java的运行提供了所需的环境
具体来说JDK其实包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试工具。简单来说:如果你需要运行java程序,只需安装JRE就可以了,如果你需要编写java程序,需要安装JDK。

4、== 和 equals 的区别是什么?
**==**是判断两个变量bai或实例是不是指du向同一个内存空zhi间。
equals是判断两个变量或实例所指向的内存空间的值是不是相同。

5、为什么java不是纯粹的面向对象编程语言?
因为java支持基本数据类型,比如int、short、long等,尽管它们有自己的包装类型,但它们的确不能算对象。

6、请问path和classpath之间的区别?
path:是操作系统用来查找可执行文件的环境变量,
classpath:是针对java而言,用于指定java虚拟机载入的字节码文件路径。

7、当一个对象被当作参数传递到一个方法后,此方法可以改变这个对象的属性,并且可以返回变化后的结果,那么这里是值传递还是引用传递?
值传递,
java中只有值传递,当一个对象实例作为一个参数被传递到方法中时,参数的值就是对象的引用,对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。(针对基本类型进行封装,对封装进行传递,是引用传递)

8、页面间对象传递的方法?
有request、session、application、cookie。

9、当一个线程进入一个对象的synchronized方法后,其他线程是否可以进入此对象的其他方法?
不能,
一个对象的synchronized方法只能由一个线程访问。

10、什么是对象、类?
对象:用来描述客观事物的一个实体,有属性和方法构成,
:具有相同属性和方法的一组对象的集合,
类是对象的抽象,对象是类的具体。

11、什么是面向对象、面向过程?
面向过程:分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了,
面向对象:把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为,

(用面向过程的方法写出来的程序是一份蛋炒饭,而用面向对象写出来的程序是一份盖浇饭。所谓盖浇饭,北京叫盖饭,东北叫烩饭,广东叫碟头饭,就是在一碗白米饭上面浇上一份盖菜,你喜欢什么菜,你就浇上什么菜。我觉得这个比喻还是比较贴切的。
  蛋炒饭制作的细节,我不太清楚,因为我没当过厨师,也不会做饭,但最后的一道工序肯定是把米饭和鸡蛋混在一起炒匀。盖浇饭呢,则是把米饭和盖菜分别做好,你如果要一份红烧肉盖饭呢,就给你浇一份红烧肉;如果要一份青椒土豆盖浇饭,就给浇一份青椒土豆丝。
  蛋炒饭的好处就是入味均匀,吃起来香。如果恰巧你不爱吃鸡蛋,只爱吃青菜的话,那么唯一的办法就是全部倒掉,重新做一份青菜炒饭了。盖浇饭就没这么多麻烦,你只需要把上面的盖菜拨掉,更换一份盖菜就可以了。盖浇饭的缺点是入味不均,可能没有蛋炒饭那么香。
  到底是蛋炒饭好还是盖浇饭好呢?其实这类问题都很难回答,非要比个上下高低的话,就必须设定一个场景,否则只能说是各有所长。如果大家都不是美食家,没那么多讲究,那么从饭馆角度来讲的话,做盖浇饭显然比蛋炒饭更有优势,他可以组合出来任意多的组合,而且不会浪费。
  盖浇饭的好处就是”菜”“饭”分离,从而提高了制作盖浇饭的灵活性。饭不满意就换饭,菜不满意换菜。用软件工程的专业术语就是”可维护性“比较好,”饭” 和”菜”的耦合度比较低。蛋炒饭将”蛋”“饭”搅和在一起,想换”蛋”“饭”中任何一种都很困难,耦合度很高,以至于”可维护性”比较差。软件工程追求的目标之一就是可维护性,可维护性主要表现在3个方面:可理解性、可测试性和可修改性。面向对象的好处之一就是显著的改善了软件系统的可维护性。)
  
面向过程优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展
    
面向对象优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护 。
缺点:性能比面向过程低

12、什么是局域变量、实例变量?
局域变量:在函数局部作用域中赋值的变量。
实例变量:没有static修饰的成员变量(这些变量的使用需要先在内存中new出来才能使用)。

13、什么是构造函数?
构造函数:一种特殊的成员函数,它主要用于为对象分配存储空间,对数据成员进行初始化。
构造函数的性质:(1)构造函数的名字必须与类同名;
(2)构造函数没有返回类型,它可以带参数,也可以不带参数;
(3)声明类对象时,系统自动调用构造函数,构造函数不能被显式调用;
(4)构造函数可以重载,从而提供初始化类对象的不同方法;
(5)若在声明时未定义构造函数,系统会自动生成默认的构造函数,此时构造函数的函数体为空。

14、java中字节数据类型的默认值是多少?( A )
A、 byte和0
B、 byte和 1
C、 boolean和true
D、 boolean和false

15、请问string,stringBuilder,stringBuffer的区别?
这三个类来表示和操作字符串。
String是内容不可变的字符,
StringBuilder和StringBuffer是内容可以改变的字符串,
其中StringBuilder是线程不安全的效率较高,StringBuffer是线程安全的效率较低。

16、请问get请求和post请求的区别?
都是http的请求方式。
get请求会在地址栏中显示出来,而post不会。
get请求的数据传输很小,post大很多。
get比post安全性低很多。

17、请问mysql怎么创建索引?
1.添加PRIMARY KEY(主键索引)
mysql>ALTER TABLE table_name ADD PRIMARY KEY ( column )

2.添加UNIQUE(唯一索引)
mysql>ALTER TABLE table_name ADD UNIQUE (column)

3.添加INDEX(普通索引)
mysql>ALTER TABLE table_name ADD INDEX index_name ( column )

4.添加FULLTEXT(全文索引)
mysql>ALTER TABLE table_name ADD FULLTEXT ( column)

5.添加多列索引
mysql>ALTER TABLE table_name ADD INDEX index_name ( column1, column2, column3 )

18、mysql的模糊查询语句?
select * from user where username like ‘%xxx%’;

19、说下左连接 ,右连接,内连接和全外连接的4者区别?
left join (左连接):返回包括左表中的所有记录和右表中连接字段相等的记录。
right join (右连接):返回包括右表中的所有记录和左表中连接字段相等的记录。
inner join (等值连接或者叫内连接):只返回两个表中连接字段相等的行。
full join (全外连接):返回左右表中所有的记录和左右表中连接字段相等的记录。

20、说下用的哪些前端框架?
JQuery、Bootstrap框架

21、说下JS的数据类型?
原始类型(即基本数据类型)和对象类型(即引用数据类型);
基本数据类型包括undefined、null、number、boolean、string;
引用数据类型就是对象类型Object,比如:Object、array、function、data等;

22、bootstrep是什么布局,主要的特点?
响应式布局;栅格化

23、能说下ajax的请求机制吗?
通过XMLHttpRequest对象来向服务器发送异步请求,从服务器获取数据。然后用JavaScript来操作DOM而更新页面。XMLHttpRequest是ajax的核心机制,
简单说,就是JavaScript可以及时的向服务器提出请求并及时响应,而不阻塞用户,达到无刷新效果。

24、怎么创建线程啊?
继承Thread类
实现Runnable接口

25、线程的生命周期?
新建、就绪、运行、阻塞、销毁。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值