面试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.由hi