- 浏览: 15022 次
最新评论
面试题讲评
- 博客分类:
- 技术杂绘
面试题讲评
2011年03月14日
面试了几家公司,只有这一两公司的面试题有点水平.且听我一一讲评:
a. 在java中导入一个包,会导入这个包的所有类及其嵌套包的所有类,这个说话正确吗?
错误 前半句"会导入这个包的所有类"是正确的,但是不能导入其嵌套包的所有类,如event包在awt包中,我们在做applet程序时要同时import java.awt.*;和import java.awt.event.*;
b. String s1 = "Hello"; String s2 = "Hello"; String s3 = new String("Hello"); String s4 = new String("Hello");为什么s1 == s2为true,而s3 == s4为false呢?
(我记得这个题目应该跟别人讲过哦!)因为s1和s2是定义在String pool中的两个常量,两者的内存地址相同;而new出来的对象是在heap堆中开辟一块内存空间,如:s3和s4就是在heap堆中开辟了两块不同的内存空间后,分别让s3和s4指向它们,两者的内存地址不相同.而==比较符又是比较左右两个变量的内存地址是否相等,所以会有以上结果!
c. double a = 1.1; double b = 110/100;为什么a与b不相等?
这个很简单哦,因为110/100逻辑运算中,两个参数都是int型,得出的结果也是int型.然后转换成double型,在结果的小数点后面补0所以b的结果是1.0,与1.1不相等.
d. SQL Server可以应用与Linux平台吗?
不能(这也是Oracle与SQL Server的一大区别)
e. 为什么捕捉多个异常的时候,Exception的捕捉只能放在最后?
因为Exception是所有异常的父类,如果定义了多个catch语句,而将Exception的捕捉放在前面或中间.一旦发生异常时,总是会进入到Exception的捕捉块中进行处理,而导致后面的catch语句无法运行,从而编译出错,所以Exception的捕捉总是放在最后面的.
一个实战例子(在main方法中定义):
try {
String s = null;
System.out.println(s.length());
}catch(Exception e){
e.printStackTrace();
}catch(NullPointerException e) { // 代码总是不被执行!
e.printStackTrace();
}
f. Integer a = 100;Integer b = 200;System.out.println((a+b));此处的+是不是像c或c++中重载了连接符+呢?如果不是,那java是怎么做到的?
不是 java是利用装拆箱来进行操作的,在jdk1.6中java提供了自动装箱和拆箱的操作,a+b在进行操作时,已经被自动转换成int型(手动拆箱: Integer.parseInt(int number)),从而进行整型的加法逻辑运算.
g. 在进行大数据量地改变字符串时,为什么使用StringBuffer和StringBuilder,而不使用String?
因为String提供了不可变的字符序列而StringBuffer(或StringBuilder)提供了可变的字符序列,在进行大数据量改变字符串时,StringBuffer(或StringBuilder)可以直接进行操作,而String必须在每次操作后要创建一个新的String对象进行接收,浪费内存空间;其次,StringBuffer(或Stringbuider)提供的append方法比String的+连接符具有更高的效率,更加适合字符串的拼接操作
h. 从控制台输入一个字符串,并且反转输出:
import java.util.*;
public class ReverseInput {
static String input;
static StringBuffer output;
public static void main(String[] args) {
System.out.println("请输入一个字符串: "); // 如:输入"我爱牛奶"
Scanner s = new Scanner(System.in);
input = s.next();
output = reverseStr(input);
System.out.println("反转后的结果是: " + output); // 细心的朋友可能发现,output是一个StringBuffer类型,但它可以与一个字符串进行拼接操作
}
public static StringBuffer reverseStr(String input) {
return (new StringBuffer(input)).reverse();
}
}
i. 从控制台接收一个字符串,进行parseInt操作,捕捉NumberFormatException,并且定义一个异常,判断数字是否在[0,100]范围内.如果不在,抛出异常,否则判断是否大于60,进行输出.
import java.io.*;
import java.util.*;
public class DefinedException {
public static void main(String[] args) {
int score = 0;
System.out.print("请输入一个分数: ");
Scanner s = new Scanner(System.in);
String str = s.next();
try {
score = Integer.parseInt(str);
} catch (NumberFormatException e) {
System.err.println("您输入的不是一个数字!"); // System.err与System.out的区别在于:体现在MyEclipse上,前者是以红色警告字体进行输出,后者以黑色普通字体进行输出
System.exit(-1); // 退出JVM
}
try {
if (score 100) {
throw(new NotInAreaException("您输入的数字不在0-100的范围内!"));
} else {
System.out.println( (score > 60 ? "恭喜您,及格了!" : "对不起,没有及格!"));
}
} catch (NotInAreaException e) {
System.err.println("错误!" + e.getMessage());
}
}
}
class NotInAreaException extends Exception{
public NotInAreaException(String msg) {
super(msg);
}
}
j. 编写一个方法,接受一个int数组,并且可以输出数组的最大值、最小值和平均值
import java.util.*;
public class TakeOutput {
public static void main(String[] args) {
output(new int[]{1, 5, 7, 4, 3});
}
public static void output(int[] arr) {
// Arrays.sort(arr);
/**
// BubblingSort(冒泡排序写法)
int temp = 0;
for (int i = 0;i arr[j+i]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
*/
System.out.print(" min = " + arr[0] + "\n max = " + arr[arr.length-1] + "\n");
int sum = 0;
for (int element : arr) {
sum += element;
}
System.out.print("avg = " + (sum/arr.length));
}
}
k. 一张表book包含字段press(出版社) name(图书名称) price(价格)查询各个出版社的图书的平均价格.
select distinct a.press, avg_price = (select avg(price) from book b where a.press = b.press) from book a order by a.press
l. 这道题目是关于一个图形化讲解的深复制,要你写出这个程序深复制的代码来.很遗憾,我没有做出来,这儿我就不说了,大家有兴趣的可以去网上查查!
发表评论
-
[.net] 关于.net线程问题总结(二)
2012-01-20 01:45 330[.net] 关于.net线程问题总结(二) 2011年01 ... -
加速你的hibernate引擎
2012-01-20 01:45 703加速你的hibernate引擎 20 ... -
Hello Android 第三版 (二)
2012-01-20 01:45 672Hello Android 第三版 (二) 2010年09月 ... -
MySQL的优化(本文是Monty在O'Reilly Open Source Convention 2000大会上的演讲)(摘自老叶的博客,有删改)
2012-01-20 01:45 636MySQL的优化(本文是Monty在O'Reilly Open ... -
一个对Winsock完成端口模型封装的类
2012-01-20 01:45 792一个对Winsock完成端口模型封装的类 2011年01月0 ... -
VB窗口图表化
2012-01-19 09:33 617VB窗口图表化 2011年04月20日 '本模块为实现托 ... -
VB 两小时
2012-01-19 09:33 697VB 两小时 2011年09月25日 Option Ex ... -
使用 Shell 属性及方法
2012-01-19 09:33 834使用 Shell 属性及方法 2 ... -
VB获取QQ2011安装路径
2012-01-19 09:33 851VB获取QQ2011安装路径 2011年05月23日 V ... -
VB关机代码
2012-01-19 09:33 789VB关机代码 2011年07月20日 .首先在Form1 ... -
转载:OpenGL显示文字
2012-01-17 02:08 817转载:OpenGL显示文字 2010年07月03日 本课 ... -
c/c++调用java
2012-01-17 02:08 942c/c++调用java 2011年06月30日 ... -
主流嵌入式操作系统介绍(一)
2012-01-17 02:08 1717主流嵌入式操作系统介绍(一) 2010年08月13日 h ... -
AIX平台TONGLINK/Q安装与配置
2012-01-17 02:08 1598AIX平台TONGLINK/Q安装与配 ... -
柬埔寨攻略―签证、机票
2012-01-15 21:35 759柬埔寨攻略―签证、机票 2010年01月05日 一、签证 ... -
如何培养一年级学生良好的学习习惯
2012-01-15 21:35 572如何培养一年级学生良 ... -
培养一年级学生良好学习习惯
2012-01-15 21:35 534培养一年级学生良好学 ... -
094小学科学教育
2012-01-15 21:35 493094小学科学教育 2009年11月10日 全国2009 ...
相关推荐
c++面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试...
面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题...
【BAT必备】分布式相关面试题大全面试题【BAT必备】分布式相关面试题大全面试题【BAT必备】分布式相关面试题大全面试题【BAT必备】分布式相关面试题大全面试题【BAT必备】分布式相关面试题大全面试题【BAT必备】...
JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题
2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里...
JavaOOP面试题 Java集合/泛型面试题 Java异常面试题 Java中的IO与NIO面试题 Java反射面试题 Java序列化面试题 Java注解面试题 多线程&并发面试题 JVM面试题 Mysql面试题 Redis面试题 Memcached面试题 MongoDB面试题 ...
大数据面试题V3.0完成了。共523道题,679页,46w+字,来源于牛客870+篇面经。 主要分为以下几部分: Hadoop面试题:100道 Zookeeper面试题:21道 Hive面试题:47道 Flume面试题:11道 Kafka面试题:59到 HBase面试题...
最全的j2EE面试题,题量大、经典,是我面试的整理试题 1、java笔试题大集合 2、各个公司面试题 3、J2EE初学者面试题 4、J2EE面试题(打码查错题) 5、java_华为笔试题 6、java常见面试题 7、java程序员面试宝典 8、...
2022java面试题、JVM面试题、多线程面试题、并发编程、Redis面试题、MySQL面试题、Java2022面试题、Netty面试题、Elasticsearch面试题、Tomcat面试题、Dubbo面试题、Kafka面试题、Linux面试题、2021面试题、java面试...
c#笔试面试题 c#笔试面试题 c#笔试面试题 c#笔试面试题 c#笔试面试题
ERP工程师面试题ERP工程师面试题ERP工程师面试题ERP工程师面试题
JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题
java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题...
最新各大公司企业真实面试题-Java面试题最新各大公司企业真实面试题-Java面试题
.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题
文件中包含了本人最近在网上总结的面试题,有java面试题,jq面试题,jsp、servlet、ajax面试题,mysql面试题,oracle面试题,redis教案,也有最近时间总结的公司面试题,涉及的层面虽然不是很多,但是应对面试 应该...
(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题...
.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题
flahas3.0面试题 flash as3.0面试题 as3.0面试题 as3.0面试题最新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新...
数据库面试题数据库面试题数据库面试题数据库面试题数据库面试题数据库面试题数据库面试题数据库面试题