JAVA 面试题
water.jpg
如何在 string 和 int 之间转换?
- String myString = "1234";
- int foo = Integer.parseInt(myString); // int
- Integer x = Integer.valueOf(str); // java.lang.Integer
反向:
- Integer.toString(i)
- String.valueOf(i)
内部类和子类之间有什么区别?
内部类是嵌套在另一个类中的类. 内部类具有嵌套它的类的访问权限, 并且它可以访问外部类中定义的所有变量和方法.
子类是从另一个名为 super class 的类继承的类. 子类可以访问其超类的所有公共和受保护的方法和字段.
Java 类的各种访问说明符是什么?
Ans: 在 Java 中, 访问说明符是在定义访问范围的类名之前使用的关键字. 类的访问说明符类型是:
1.Public : 类, 方法, 字段可从任何地方访问.
2.Protected: 方法, 字段可以从它们所属的同一个类或从子类访问, 也可以从同一个包的类访问, 但不能从外部访问.
3.Default: 方法, 字段, 类只能从同一个包访问, 而不能从它的本机包外部访问.
4.Private:Method,Field 可以从它们所属的同一个类访问.
静态方法和静态变量的目的是什么?
Ans: 当需要在类的多个对象之间共享方法或变量而不是为每个对象创建单独的副本时, 我们使用 static 关键字为所有对象共享方法或变量.
什么是数据封装及其意义?
Ans:Encapsulation 是面向对象编程中的一个概念, 用于在单个单元中组合属性和方法.
封装有助于程序员遵循模块化方法进行软件开发, 因为每个对象都有自己的一组方法和变量, 并且独立于其他对象提供其功能. 封装还用于数据隐藏目的.
什么是 singleton 类? 举一个实际的例子来说明它的用法.
java 中的单例类只能有一个实例, 因此它的所有方法和变量只属于一个实例. Singleton 类概念对于需要限制类的对象数量的情况很有用.
单例使用场景的最佳示例是, 由于某些驱动程序限制或任何许可问题, 仅限于与数据库建立一个连接.
什么是 Java 中的循环? 什么是三种类型的循环?
Ans: 循环用于编程以重复执行语句或语句块. Java 中有三种类型的循环:
1)For
for 循环在 java 中用于重复执行语句给定次数. 当程序员知道执行语句的次数时, 使用 For 循环.
2)While
当需要重复执行某些语句直到满足条件时, 使用循环. 在 while 循环中, 在执行语句之前首先检查条件.
3)Do While
Do While 循环与 While 循环相同, 只是区别在执行语句块后检查条件. 因此, 在 do while 循环的情况下, 语句至少执行一次.
什么是 Java 中的 Final 关键字? 举个例子.
Ans: 在 java 中, 使用关键字 Final 声明一个常量. 值只能分配一次, 在赋值后, 常量值不能改变.
在下面的示例中, 声明了名为 const_val 的常量并赋予了 avalue:
Private Final int const_val = 100
当一个方法被声明为 final 时, 它不能被子类覆盖. 这个方法比任何其他方法都快, 因为它们在编译时被解析.
当一个类声明为 final 时, 它不能被子类化. 示例 String,Integer 和其他包装类.
如何在 Java 中生成随机数?
使用 Math.random() 可以生成大于或等于 0.1 且小于 1.0 的随机数; java.util 中使用 Random 类
Java 中的 main() 方法可以返回任何数据吗?
Ans: 在 java 中, main() 方法不能返回任何数据, 因此, 它总是以 void 返回类型声明.
什么是 Java 包? 包裹有什么意义?
Ans: 在 Java 中, package 是类和接口的集合, 它们彼此相关时捆绑在一起. 使用包可以帮助开发人员模块化代码并对代码进行分组以便正确地重用. 将代码打包到 Packages 中后, 可以将其导入其他类并使用.
我们可以在没有任何抽象方法的情况下将类声明为 Abstract 吗?
Ans: 是的, 我们可以通过在类名之前使用 abstract 关键字来创建抽象类, 即使它没有任何抽象方法. 但是, 如果一个类甚至有一个抽象方法, 则必须将其声明为 abstract, 否则会产生错误.
Java 中的抽象类和接口有什么区别?
Ans: 抽象类和接口之间的主要区别在于接口只能拥有没有具体实现的公共静态方法的声明, 而抽象类可以拥有具有或不具有具体实现的任何访问说明符 (public, private etc) 的成员.
使用抽象类和接口的另一个关键区别是, 实现接口的类必须实现接口的所有方法, 而从抽象类继承的类不需要实现其超类的所有方法.
一个类可以实现多个接口, 但它只能扩展一个抽象类.
接口对抽象类的性能影响是什么?
Ans: 与抽象类相比, 接口的性能较慢. 开发人员需要考虑的另一个关键因素是任何类只能扩展一个抽象类, 而类可以实现许多接口.
随着接口在类中实现, 接口的使用也给开发人员带来了额外的负担; 开发人员被迫实现每个接口方法.
如何在 java 中序列化对象?
Ans: 在 java 中, 要通过序列化将对象转换为字节流, 类的实现名为 Serializable 的接口. 实现可序列化接口的类的所有对象都被序列化, 并且它们的状态保存在字节流中.
什么时候应该使用序列化?
Ans: 当需要通过网络传输数据时使用序列化. 使用序列化, 保存对象的状态并将其转换为字节流. 字节流通过网络传输, 并在目标处重新创建对象.
在 Java 中实现多线程的两种方法是什么?
Ans: 可以使用以下两种方法中的任何一种在 Java 中开发多线程应用程序:
1. 使用 Java.Lang.Runnable 接口. 类实现此接口以启用多线程. 此接口中有一个 Run() 方法, 该方法已实现.
2. 通过编写一个扩展 Java.Lang.Thread 类的类.
如何在 Java 中完成垃圾收集?
Ans: 在 java 中, 当一个对象不再被引用时, 就会发生垃圾收集并自动销毁该对象. 对于自动垃圾收集, java 调用 System.gc() 方法或 Runtime.gc() 方法.
Java 为对象集合的操作提供了哪些 API?
Ans:Java 提供了一个 Collection API, 它提供了许多可以应用于一组对象的有用方法. Collection API 提供的一些重要类包括 ArrayList,HashMap,TreeSet 和 TreeMap.
参考资料
python 测试开发项目实战 - 目录
python 工具书籍下载 - 持续更新
python 3.7 极速入门教程 - 目录
讨论 qq 群 630011153 144081101
- https://www.tutorialspoint.com/sqoop/sqoop_installation.htm
- https://sqoop.apache.org/docs/1.4.7/SqoopUserGuide.html
- https://www.softwaretestinghelp.com/top-4-etl-testing-tools/
- https://www.edureka.co/blog/interview-questions/python-interview-questions/
来源: http://www.jianshu.com/p/eb68df23e7c5