前端考试题

前端部分(40分)
1. html中总共有几类标签的? 分别描述一下它们的不一样?
行内标签

在一行内显示
不能设置宽高,宽高为内容的宽高
块级标签

独占一行
能够设置宽高,若是不设置宽,则宽是父盒子的100%
2. 写出你了解到清除浮动的方法?至少三种
固定高度
伪元素清除法
overflow:hidden
3. display:none和visibility:hidden区别?
display:none和visibility:hidden 都是让盒子隐藏,第一种是消失后盒子不占位置,第二种是消失后还占位置
4. 阐述一下css定位有几种?并分别描述它们的不一样
静态定位 position:static
相对定位:position:relative
绝对定位:position: absolute
固定定位:position:fixed
5. 获取DOM的三种方式?
document.getElementById()
document.getElementsByClassName()
document.getElementByTagName()
 

6. 阐述一下js中window.onload()和jquery的$(function(){})的区别?
window.onload()函数有覆盖现象
必须等待着图片资源加载完成以后才能调用
jquery的入口函数没有函数覆盖现象
等待文档加载完成以后就能够调用 建议使用此函数
7. jQuery中使用ajax发送get和post请求的书写方式?
8.阐述插件和组件的区别?
 

9.阐述一下使用z-index的几条规则?
z-index 值表示谁压着谁,数值大的压盖住数值小的,
只有定位了的元素,才能有z-index,也就是说,无论相对定位,绝对定位,固定定位,均可以使用z-index,而浮动元素不能使用z-index
z-index值没有单位,就是一个正整数,默认的z-index值为0若是你们都没有z-index值,或者z-index值同样,那么谁写在HTML后面,谁在上面压着别人,定位了元素,永远压住没有定位的元素。
从父现象:父亲怂了,儿子再牛逼也没用
10.前端语言和后端对比,谈谈你近段时间学习前端的感觉?有啥说啥老铁们
数据库部分(60分)(每题4分,共15题)
 
1.说出如下聚合数的含义:avg ,sum ,max ,min , count ,count(*)
AVG:求平均值 SUM:求和

MAX:求最大值 MIN:求最小值

COUNT(*):返回全部行数

COUNT返回知足指定条件的记录值

2.inner join 是什么意思?做用是什么?写出基本语法结构
INNER JOIN 内联接,用于返回两个表中要查询的列数据通讯 Select * from 表名1 inner join 表名2 on 条件表达式

3.实现数据的完整性和一致性在sql中使用的是什么?
主键约束

惟一约束

外键约束

4.索引的种类?分别阐述他们的区别和做用?
分为普通索引、惟一索引、主键索引

普通索引:加速查询

惟一索引:约束和加速查询

主键索引:约束和加速查询

另外还有联合普通索引、联合惟一索引、联合主键索引

5.外键的变种有哪三种?如何找出两张表的关系?
多对一或(一对多)

多对多

一对一

 
分析步骤:
#一、先站在左表的角度去找
是否左表的多条记录能够对应右表的一条记录,若是是,则证实左表的一个字段foreign key 右表一个字段(一般是id)
​
#二、再站在右表的角度去找
是否右表的多条记录能够对应左表的一条记录,若是是,则证实右表的一个字段foreign key 左表一个字段(一般是id)
​
#三、总结:
#多对一:
若是只有步骤1成立,则是左表多对一右表
若是只有步骤2成立,则是右表多对一左表
​
#多对多
若是步骤1和2同时成立,则证实这两张表时一个双向的多对一,即多对多,须要定义一个这两张表的关系表来专门存放两者的关系
​
#一对一:
若是1和2都不成立,而是左表的一条记录惟一对应右表的一条记录,反之亦然。这种状况很简单,就是在左表foreign key右表的基础上,将左表的外键字段设置成unique便可
6.sql语句
1535851021457

 

 
查询平均成绩大于60分的同窗的学号和平均成绩

 
-- 按照学生id进行分组 查询出平均成绩大于60分的 
SELECT stu_id, AVG(number) FROM Score GROUP BY stu_id HAVING AVG(number)>60;
查询全部同窗的学号、姓名、选课数、总成绩

 
-- Score 跟 Student连表 分组 聚合函数就可查询
SELECT stu_id, s_name, COUNT(course_id), SUM(number) FROM Score
LEFT JOIN Student on Score.stu_id = Student.id GROUP BY Score.stu_id;
查询姓“李”的老师的个数
 
-- 模糊查询 聚合函数
slect count(*) from teacher where t_name like "李%"
 

查询有课程成绩小于60分的同窗的学号、姓名
 
SELECT DISTINCT stu_id, s_name FROM Score LEFT JOIN Student
on Score.stu_id = Student.id WHERE number<60;
删除学习“叶平”老师课的SC表记录
 
DELETE FROM Score WHERE course_id in (
SELECT Course.id FROM Course LEFT JOIN Teacher on Course.teacher_id = Teacher.id
WHERE Teacher.t_name = '叶平');
​
查询各科成绩最高和最低的分:以以下形式显示:课程ID,最高分,最低分;
 
SELECT course_id, MAX(number)as max_num, MIN(number)as min_num 
FROM Score GROUP BY course_id;
查询每门课程被选修的学生数
 
SELECT course_id , COUNT(1) FROM Score GROUP BY course_id;
查询出只选了一门课程的所有学生的学号 姓名
 
SELECT stu_id, Student.s_name FROM Score LEFT JOIN Student 
on stu_id = Student.id GROUP BY stu_id HAVING COUNT(course_id) = 1;
查询选修 Alex 老师所授课程的学生中 成绩最高的学生名字和成绩
 
SELECT s_name, number FROM Score LEFT JOIN Student on stu_id = Student.id
WHERE course_id in (
SELECT Course.id FROM Course LEFT JOIN Teacher on teacher_id = Teacher.id
WHERE t_name = "Alex") ORDER BY number desc LIMIT 1;
查询两门以上不及格的学生的学号 平均成绩
 
SELECT stu_id, AVG(number), count(1) FROM Score WHERE number<60 
GROUP BY stu_id HAVING count(1)>2;
 
相关文章
相关标签/搜索