java面试经历之笔试题

面试java开发岗位收到面试邀请,一般都会有笔试题。以下是本人面试的一些笔试题目记录一下

2月26日面试题·················································

一、Java

1.以下不属于面向对象特征的基本特点的是( B

A封装性   B模块性  C多态性  D继承性 

2.在java中,表示换行符的转义字符是(A

A /n    B /f    C 'n'    D /dd

3.下列关于栈道描述错误的是(B

A 栈是先进后出的线性表   

B 栈只能顺序存储

C 栈具有记忆作用

D 对栈的插入与删除操作中,不需要改变栈底指针

解析:栈的存储结构是顺序存储和链式存储,故B错

4.在java中,能实现多重继承效果的方式是( C

A 内部类   B 适配器    C 接口   D 同步

解析:类可以实现多个接口从而达到多重继承的效果

5.下列关于线程优先级的说法中,正确的是( C

A 线程的优先级是不能改变的

B 线程的优先级是在创建线程时设置的

C 在创建线程后的任何时候都可以设置

D B和C

6.为了使模块尽可能独立,要求(B

A 模块的内聚程度尽可能高,且各模块间的耦合程度要尽可能强

B 模块的内聚程度尽可能高,且各模块间的耦合程度要尽可能弱

C 模块的内聚程度尽可能低,且各模块间的耦合程度要尽可能强

D 模块的内聚程度尽可能低,且各模块间的耦合程度要尽可能弱

二、数据库

班级表 t_class

班级代码             班级名称

1                           一年级

2                          二年级

分数表 t_scores

班级代码              学生                   科目                分数

1                            小明                   数学                90

1                            小明                   语文                60

2                           小红                   数学                80

2                           小红                   语文                70

2                           小刚                   数学                60

2                           小刚                   语文                50

1.统计查询每个学生的总分?

select name as 学生,
sum(case when subject='语文' then grade else 0 end) as 语文,
sum(case when subject='数学' then grade else 0 end) as 数学,
sum(grade) as 总分
from t_scores group by name

或者

select name as 学生,                                           

sum(grade) as 总分
from t_scores group by name  

  

2.统计查询总分大于150分的学生?

select name as 学生,sum(grade) as 总分
from t_scores group by name having sum(grade)>150;  

  注: 学生的总分最大是150所以查不到数据可以在后面加个等于就有2条了

3.统计多少个学生?

select count(distinct name) as 学生个数 from t_scores ;

4.统计每个班级多少个学生?

select c.code as 班级id,c.codeName as 班级名称,count(distinct s.name) as 个数 from 
t_scores s 
LEFT JOIN
t_class c 
on s.code =c.code 
group by  c.code;

2月27日上午面试···························································

1.请列举一下你所熟悉的JAVA的基本数据类型?

整型:byte、short、int、long              浮点型:float、double     字符型:char            布尔型:bolean

2.请简述一下hibernate的原理?

hibernate是对jdbc进一步封装,简化了数据库访问层的重复代码。

工作原理:1.通过Configuration config = new  Configuration.configure(); //读取并解析Hibernate.cfg.xml配置文件

--2.由hibernate.cfg.xml中的<mapping resource ="com/xx/user.hbm.xml"/>; //读取并解析映射信息

--3.通过SessionFactory sf = config.buildSessionFactory(); //创建SessionFactory;

--4.Session session = sf.openSession(); //打开Session

--5.Transaction tx = session.beginTransaction(); //创建并开启事物Transaction

--6.persistent operate //操作数据,持久化操作

--7.tx.commint(); //提交事物

--8.关闭Session

--9.关闭sessionFactory

3.请简述list、set、map的区别?

list、set实现了Collection接口

list:1.可以允许重复的对象。2.可以插入多个null元素。3.是一个有序容器,怎么插入就怎么输出。4.实现类有ArrayList、LinkedList和Vector。ArrayList最流行,它提供了使用索引随意访问,而LinkedList则对经常从list中添加或删除元素的场景更适合。

set:1.不允许重复元素。2无序的容器,你无法保证每个元素的存储顺序,Treeset通过Comparator或者Comparable维护了一个排序顺序。3.只允许一个null元素4.set实现了Hashset、LinkedHashset以及Treeset。最流行的是基于HashMap实现的Hashset;TreeSet实现了SortedSet接口,因

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值