求java面试题,1057241096@qq.com
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求java面试题,1057241096@qq.com相关的知识,希望对你有一定的参考价值。
这是我最近面试过的题目,有参考答案,复杂的有解析过程,分享下:1.(中科金财笔试) 下列程序结果:( )
程序代码:
System.out.println(4&7);
A. 4 B. 5 C. 6 D. 7
1.(方正国际笔试) 有如下表:
表名 成绩
表字段如下:
学号
学科名称
成绩
查询出 只有参加一门“学科”考试的学生学号,学科名称,成绩。
2.(面试) 简单自我介绍下。
3.(面试) 职业规划。
5.(面试) HashMap和MashTable的区别?
6. (深圳市银之杰科技股份有限公司面试过程)
(1)项目经理:先自我介绍下。
我: (进行了自我介绍,略)
(2)项目经理: 为什么从前一家公司辞职?
我: 不喜欢前一家公司的业务产品线。
(3)项目经理:那你怎么保证你现在找的你会喜欢呢?
我:(我当时就蒙了)我也不知道。
(4) 项目经理:现在举一个实际例子:现在有一个入库的后台管理,可以录入,产品编号,名称,价格。采购人员也使用了一段时间的后台系统,录入了一些信息。现在采购人员需要录入 产品数量、产品出产地。你要怎么做?
我:在前台先需要增加两个输入框进行数据,model需要加入两个字段,数据库中的表需要加入两个字段。
(5) 项目经理:数据库中的表怎么增加字段,具体点。
我: 产品数量的字段名称为:num,类型为number,如果是oracle数据库的话,长度为11。
(6)项目经理:啊,11是几位呀?
我:达到亿的级别了。
(7)项目经理:库存能够能那么多吗?
我: 不能。
(8)项目经理:那需要几位呀?
我: 万就行了吧。(我不确定的说)
(9)项目经理:接着说。
我:产品产地的话,字段名称为:location,类型为varchar2,长度为50就可以了。就这些了。
(10)项目经理:不需要其他的吗?
我:(我想,他这么问,就是还需要在回答点什么.)两字段都不能为null。
(11)项目经理:设置字段为null,是不能够添加成功的。原先还有数据呢。
我:(我想了很久)这方面的问题没有碰到过。
(12)项目经理:默认值听说过吗?
我:听过,default嘛。
(13)项目经理:那现在需要怎么设置默认值。
我:num设置为0,location设置为空字符。
(14)项目经理:之后呢,代码这边说说。
我:model中需要添加两个字段,需要settet和getter方法,在xml需要进行相应的配置,service层不要进行处理,进行数据需要处理下,前台需要增加两个输入框。
(15)项目经理:数量的输入没有任何要求吗?
我:不能为空,不能为非数字。(小声问:库存能为负的吗?)
(16)项目经理:库存怎么能负的呢(很冲的说)
我:那就是需要大于0。
(17)项目经理:产地怎么设置?
我:下拉列表进行选取。
(18)项目经理:那城市50多个,你让用户怎么选择呀。
我:啊,那就用弹出一个框吧,让用户选择。
(19)项目经理:那怎么实现的?
我:js学的比较好的话,就可以自己实现弹出层了,不行的话,可以用jquery。
(20)项目经理:你这短期出差是什么意思呀?(面试人员登记表看到的)
我:(我想:不是你们那个单上需要选择的吗,不出差,短期,长期,你们自己不知道呀。) 我没有出过差,不知道出差是什么概念,我理解的出差就是客户有问题了,出差去看看,就是两三个月吧。
(21)项目经理:两三个月啊,出差是去 项目实施呀。
我:那需要多久呀?
(22)项目经理:半年到一年。
我:那我前期就要出差呀?
(23)项目经理:你要什么都想学的话,就呆办公室吧。
我:不是,我也是想快速成长。
(24)项目经理:我没有什么问题了,你呢?
我:公司主要是做金融的哪一方面的呀?
(25)项目经理:我们就做银行方面的。
我:具体的呢?
(26)项目经理:告诉你也不知道,就说了几个银行的专业术语,并说了,要解释的话,就需要很长时间了。
我:确实听不懂。我没有问题了。
(27)项目经理:那就等人事通知吧。
7.(面试,笔试) List,Set,Map区别?
8. (笔试)有一个c语言程序,要实现循环输出20个减号,但是粗心的程序员写错了代码,代码如下:
int n = 20;
for(int i=0;i<n;i--)
printf("-");
写出三种修改方式(增加一个字符或者修改一个字符),能够实现原来的功能。
8. Override和Overload的区别?
9. 写出如下程序的结果:()
代码:public static void main(String[] args)
String str1 = "hello";
String str2 = new String("hello");
String str3 = str2;
System.out.println("str1 == str2 --> " + (str1==str2) );
System.out.println("str1 == str3 --> " + (str1==str3) );
System.out.println("str2 == str3 --> " + (str2==str3) );
System.out.println("str1.equals(str2) --> " + str1.equals(str2));
System.out.println("str1.equals(str3) --> " + str1.equals(str3));
System.out.println("str2.equals(str3) --> " + str2.equals(str3));
A.
str1 == str2 --> false
str1 == str3 --> false
str2 == str3 --> true
str1.equals(str2) --> true
str1.equals(str3) --> true
str2.equals(str3) --> true
B.
str1 == str2 --> false
str1 == str3 --> false
str2 == str3 --> false
str1.equals(str2) --> true
str1.equals(str3) --> true
str2.equals(str3) --> true
C.
str1 == str2 --> false
str1 == str3 --> true
str2 == str3 --> false
str1.equals(str2) --> true
str1.equals(str3) --> false
str2.equals(str3) --> false
D.
str1 == str2 --> true
str1 == str3 --> true
str2 == str3 --> false
str1.equals(str2) --> true
str1.equals(str3) --> true
str2.equals(str3) --> false
11. Linux查看磁盘使用情况的命令。
12. Linux创建文件夹的命令。
参考答案:
1. A
2. 正确做法:
select *from 成绩 group by 学号 having count(学号) = 1;
错误做法:
select *from 成绩 where count(学号) = 1 group by 学号;
说明: 当SQL语句中存在where语句和group by语句,并且group by语句之后还紧接着having 语句的话,是先执行where 语句在执行group by 语句,最后在having。
所谓的where 语句是对表中的数据进行过滤,排除不满足情况的数据,然后group by在对剩下的数据进行分组,最后having在对分完组的数据进行筛选,所以having一般之后都跟聚合函数也就是sum(),count()函数...
例子:
一张学生信息表tb_student ,记录了学生 学号(id),姓名(name),年龄(age)相关信息。
记录如下:
学号 姓名 年龄
1 张三 20
2 李四 21
3 王五 21
4 赵六 22
5 田七 23
写出年龄大于20 ,且当前年龄只有一个学生(就是年龄不能有重复的)的学号,姓名,年龄的SQL语句,查询结果应该是如下:
学号 姓名 年龄
4 赵六 22
5 田七 23
分析:首先是年龄需要大于 20,需要where 语句,where age >20
年龄不能重复,就是需要按年龄进行分组,且 count(年龄) = 1
所以SQL语句为:
select *from tb_student where age >20
group by age having count(age)=1;
SQL语句分析:
首先从select 知道是一条查询语句,从from tb_student知道要查询tb_student的表,从where age >20 知道必须满足age大于20的,也就是过滤掉了 id = 1 的记录,之后对剩下的数据(4条数据)进行group by age 对age进行分组,应该是分成3组,年龄为21的分一组,22的分一组,23的分一组。having对分组之后的数据进行筛选。count(age)统计分组之后的数量。 age=21的应该为2,age=22和age=23的都是为1。所以把age=21的给过滤掉了。
3.略。
4.略。
5. 相同点: 都是Map接口下的实现类,都是存储key-value键值对的。
不同点:HashMap可以存储key为null的键值,而HashTable不能够存储key为null的键值,一旦强制存储的话,会报一个运行时异常NullPointerExeception.
6.略。
7. List存储的数据是有序的,Set存储的是无序的,Map存储的键值对,不允许存储相同的Key值。
8. 第一种方法:i-- ===> i++
第二种方法:i<n ==> -i<n
第三种方法:i<n ==> -i+n
说明:第三种方法在c语句是正确的,但是java就不能这样写了。
因为在c语言中:非0的数都能够自动转换为true,0转换为false。Java不会自动转换,所以代码无法进行正常编译。
10. A
说明: .equals比较的值,==比较的地址。最复杂的比较是
str2和str3的比较,由于String str3 = str2,这句话就是把str2的地址给了str3,所以str2和str3的地址是一样的,地址一样那么值也是一样的,但是值一样,地址会有可能不一样,就如str1和str2,都是hello,但是志向的地址就不是同一个。
11. df
12. mkdir 参考技术A 这些网上很多了,你可以在网上找找,我也是之前面试也是在网上找的 参考技术B 你自己去网上下,csdn有很多 参考技术C 百度,想飞社区,首页即有,面试宝典 参考技术D 能不能顺便给我也来一份。。谢谢。。
yonkuer@sina.com
JAVA 笔试题求答案在线等 明天面试急迫~~!!
1.hibernate中,一个操作单元的范围是多大?
2.Write the function strend(s,t) , which returns 1 if the string t occurs at the end of the string s , and zero otherwise
3.建立一个链表,每个结点包括:学号、姓名、性别、年龄,输入一个学号,如果链表中的结点包括该学号,则输出该结点内容后,并将其结点删去。
小弟我在线等,现在我没分了,只能求好心人了啊。。。跪谢
就hibernate单独来讲的话,一般写的sessionFactory,都是以ThreadLocal 线程控制session的,范围就是单个线程session的open跟close之间
剩下2 3,没见过这样的
至少我面试的时候没见过这种问题
我答面试题就答出了四分之一不到。一样进来了。
不要用考试的思维去想面试,好像达不到100分就没戏了。
公司要人不是你想的那回事儿。
几年经验问几年经验相应的题。
给你的建议就是,
面试题答法是 能画图就画图, 变态的算法题随便套几个for循环,一般谁去试验啊,相反他看不懂还可能觉得你很牛。不会的题这么答:以前做项目是copy来改改,或者很少这么写代码,没试过,可以打个断点试试等等说法。
真的没必要对面试题这么纠结,主要是面试,你得把你的技术讲出来,要装的很有经验的样子,口头禅就是以前这个是怎么怎么,心态要摆过来啊 参考技术A 2、String s以String t 结尾返回1否则0
public static int strend(String s,String t)
if(String==null||t==null)
return 0;
return s.endsWith(t)?1:0;
3、这个代码太多了,不想写完全
public class Student
private Student nextStu;
private Student prevStu;
private String stuNo;
private String name;
//getter,setter
public boolean del(String stuNo)
//一个一个查,查到就输出,再删除
以上是关于求java面试题,1057241096@qq.com的主要内容,如果未能解决你的问题,请参考以下文章