面试题总结

时间:2021-03-16 09:05:55 综合指导 我要投稿

面试题总结

  数据库问题

面试题总结

  1、Student(S#,Sname,Sage,Ssex)学生表(列名含义:学生编号,学生姓名,学生年龄,学生性别)

  Course(C#,Cname,T#)课程表(列名含义:课程编号,课程名,授课教师)

  Score(S#,C#,score)成绩表 (列名含义:学生学号,课程编号,成绩)

  Teacher(T#,Tname)教师表 (列名含义:教师编号,教师姓名)

  查询不同老师所教的不同课程的平均分,从高到底查询。

  答案:

  select Teach.T#,Score.c#,avg(score) as 平均分

  from Teacher,Student,Score,Course

  where Teach.T#=Score.T# and Score.C#=Course.C# and Student.S#=Score.S# group by Teach.T#,Score.c#

  order by avg(score)

  2、在数据库中,语句 select lower(Sunshine) ,rtrim(我是小清新) 的执行结果是: ___sunshine ________和 _________我是小清新__。

  3、student 学生表(学号,姓名,性别,年龄,组织部)

  course 课程表(编号,课程名)

  sc 选课表 (学号,课程编号,成绩)

  (1)、写一个SQL语句,查询选修了“软件测试”的学生学号和姓名

  (2)、查询‘张三’同学选修的课程名字

  (3)、查询选修了5门课程学生学号和姓名

  答案:

  (1)、select student.学号 ,student.姓名 from student ,course ,sc

  where student.学号=sc.学号 and sc.课程编号=course.课程编号 and course.课程名称=软件测试

  select 学号,姓名from student where 学号 in

  (select 学号 from sc where 课程编号 in

  (select 课程编号 from course where 课程名=软件测试))

  (2)、select course.课程名 from course ,student,sc

  where student.学号=sc.学号 and sc.课程编号=course.课程编号 and student.姓名=张三

  select 课程名 from course where 课程编号

  in(select 课程编号 from sc where 学号

  in (select 学号 from student where 学生名=张三))

  (3)、select 学号 ,姓名 from student where 学号 in(select 学号 from sc group by 学号 having count(学号)=5)

  4、如何查找和删除数据库中的重复数据?

  答:

  * from table_name where column_name in (select column_name from table_name group by column_name having count (*)>1)

  学生表(学号,姓名,年龄,籍贯)

  课程表(课程号,课程名)

  成绩表(学号,课程号,成绩)

  查询“英语”课程比“高数”成绩高的所有学生的学号和姓名?

  select 学生表.学号,学生表.姓名 from 学生表

  where 学生表.学号 in (select 成绩表.学号 from 成绩表 where ((select 成绩表.成绩 from 成绩表 where 成绩表.课程号=(select 课程号 from 课程表 where 课程表.课程名 = ‘英语’))> (select 成绩表.成绩 from 成绩表 where 成绩表.课程号= (select 课程号 from 课程表 where 课程表.课程名 = ‘高数’)) group by 成绩表.学号)

  )

  C++问题

  1、若有宏定义 #define MOD(x,y )x%y

  则执行以下语句后输出的结果 (B)

  int a=13,b=94;

  printf("%d\n",MOD(b,a+4);

  A:5 B:7 C:9 D:11

  char str[15]=”hello!”;

  printf(“%d\n”,strlen(str));

  这段程序的输出结果是多少

  A. 15 B. 14 C. 7 D. 6

  2、用C或Java 实现九九乘法表,并设计测试用例以及使用的测试方法 #include

  int main()

  {

  }

  (java)public class ChengfaBiao{

  } public static void main(String[] args){ } int i,j; for(i=1;i<10;i++){ for(j=1;j<=i;j++){ } System.out.print(i+"*"+j+"="+i*j+"\t"); int i,j; for(i=1;i<=9;i++) { } return 0; for(j=1;j<=i;j++) { } printf("\n"); printf("%d*%d=%2d ",i,j,i*j); System.out.print("\n"); }

  3、全局变量和局部变量的区别,是怎么实现的.?

  答:

  局部变量:指在函数内部定义的变量,作用域为定义局部变量的函数,且只有在程序执行到定义它的模块时才能生成,一旦退出模块,则变量消失。

  全局变量:在所有函数外部定义的变量,从定义的位置开始,到程序结束。在程序执行过程中一直有效。

  4、关键字static 的作用:

  答: 1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。

  2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。

  3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

  测试题

  有一个类,

  (1)、一个int 数组,长度为m,随机插入1n(n>0)不能重复

  (2)、实现输的排序,升序和降序的功能

  根据上述要求编写测试方案:

  数组的长度、数值的类型、验证结果

  答:

  采用边界值法:对长度为m的数组分别输入m和m+1个数

  采用错误输入法:对int 类型的数组非法字符,小数,和超出in范围的数值

  验证结果:对输入的数据排序,预期结果和实际结果是否相同


【面试题总结】相关文章:

华为硬件面试题08-22

经典面试题回答思路08-31

银行招聘英语面试题04-03

求职英语面试题集锦08-22

苹果公司的面试题03-23

2017外贸业务面试题笔试07-26

图像处理的笔试面试题08-19

韦博英语面试题目06-27

英语教师面试题及答案03-20

苹果公司英文面试题03-20