惠普数据库类笔试题和面试题答案

惠普数据库类笔试题和面试题答案,第1张

惠普招聘常考的笔试题目主要考数据库相关知识:

1Hashtable和HashMap有什么区别

2你怎么理解MVC模式

3SQLServer中左联接查询用left join,Oracle中用什么

4SQLServer中的数据库,在Oracle中对应的是什么

5如果SQLServer中有两个数据库,那么让你把这两个数据库对应到Oracle中,你应该怎么做

6有两个页面ajsp和bjsp,要从ajsp传值到bjsp有几种方法分别是什么

7有三个页面,ajsp,bjsp和cjsp,流程是:ajsp->bjsp->cjsp,其中ajsp中提交的数据要在cjsp中访问,用最简单的方法怎么做注意不能放在session里

7jsp和servlet有什么区别

8映射是什么你怎么理解映射

9Hibernate中:不看数据库,不看XML文件,不看查询语句,怎么样能知道表结构

10SQLServer支持集群吗

11为什么要用MVC我从JSP页面直接访问数据库不是更简单吗,为什么非要先提交到控制器再做处理

12在struts中,假设有一个对数据库中一张表的增删改查的 *** 作,你是写一个action还是写多个action为什么

13struts中的actionform有什么好处

14用过Hibernate吗,用它有什么好处

15通常所说的web应用程序分3层,即MVC,如果我想分4层,应该怎么分

可以这样说

使用索引,把所建的索引所用列名,用在where语句中,并尽量在条件的最右边

在Sql语句中,把条件最小的写在最右边,如果id=写在最右边

在sql尽量少写子查询,用join语句代替,少写in,like,or

数据库,无外乎增删改查:

增:

insert into A表 values (value1,value2,value3)向A表中新增数据

删:

delete from A表 ( where id=1) 删除A表(删除A表id=1的数据)如果删除某个测试数据,记得加where条件,否则整张表的数据都被删除,防止误 *** 作!不过,数据可以回滚找回。

truncate A表:清除表数据,数据无法回滚。

drop A表:整表结构删除,即,这张表不存在了。

改:

update A表 set name='test' where id=1 修改id为1的name值为test

查:

1:左关联和右关联的区别?

答:左关联( left join )左表为主,左表数据全部显示,右表显示关联数据,无关联显示null,右关联( right join )相反。

2:模糊查询?

select from A表 where name like ' %a% ' (name包含a字母)

查询结果: a , a bc,b a c,bc a

select from A表 where name like ' a% ' (name值以a字母开头)

查询结果: a , a bc

select from A表 where name like ' %a ' (name值以a字母结尾)

查询结果: a ,bc a

3:统计:count和sum

count统计表的 记录数 ,sum统计某列数值 总和 。

select count() from A表

select count(1) from A表

select count(列名) from A表

区别:

count( ): 所有记录,包括null值

count( 1 ):所有记录,包括null值

count( 列名 ):列名有值得记录, 不包括null值

执行效率:

以前是count(1)比count()快,但现在count()底层算法优化,查询更快,所以推荐count()

统计有效数据的记录,count(列名)

select sum(列名) from A表 计算列名数值总和。

举例:

查询A表中,姓王的用户量

select count() from A where name like '王%'

Plus版

1:去重distinct,查询不重复记录的数据

必须放开头

select distinct 列名 from 表名(查询所有列名数据,去掉重复数据)

举例:

表A,查询考核等级grade,有哪些值

select distinct grade from A

2:分组group by,根据某个字段分组

select 列名 from 表名 group by 列名,一般会配合聚合函数一起使用

举例:

表A中,查询考核等级grade字段,不同值各多少人

select grade,count() from A group by grade

3:limit,查询结果返回的数量,多用于分页查询

select from 表名 limit i,n i代表查询结果的索引值,默认从0开始,n返回查询的结果数。

举例:

订单表A,查询第21条到30条数据

select from A limit 20,10

可能会问为什么不能直接用id查询?因为id不准确,可能存在id不连续的情况。如果某条数据被物理删除了呢?

何为物理删除和逻辑删除?

物理 删除 ,直接将某条数据,从表中删除。

逻辑 删除,仅通过某个字段标记删除,实际表中还存在。(比如:is_delete=1代表已删除,is_delete=0未删除)

4:排序order by 列名 asc(列名值升序排列)和order by 列名 desc(列名值降序排列)

举例:

用户表A,按照用户id升序(select查询默认根据主键升序,所以升序,不加order by也可以)

select from A order by id asc同select from A

用户表A,按照新建时间倒序

select from A order by create_time desc

5:in和between查询某个范围的数值

举例:

in:查询指定数值的数据

between:查询某个范围内的数据

举例:

查询表A中,id=1和id=10的数据

select from A where id in(1,10)

查询表A中,1月份新增的数据

select from A where create_time between '2022-01-01' and '2022-01-31 23:59:59'

已知有如下4张表:

学生表:student(学号,学生姓名,出生年月,性别)

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

课程表:course(课程号,课程名称,教师号)

教师表:teacher(教师号,教师姓名)

准备练习数据

1)创建学生表(student)

2)创建成绩表(score)

3)创建课程表(course)

4)教师表(teacher)

1)学生表添加数据

2)成绩表添加数据

3)课程表添加数据

4)教师表添加数据

简单查询

查询姓“猴”的学生名单

查询姓名中最后一个字是“猴”字的学生名单

查询姓名中带“猴”字的学生名单

查询姓“孟”老师的个数

汇总分析

1汇总分析

查询课程编号为“0002”的总成绩

查询选了课程的学生人数

2分组

查询各科成绩的最高分和最低分, 以如下的形式显示:课程号,最高分,最低分

查询每门课程选修的学生数

3分组结果的条件

查询至少选修两门课程的学生学号

查询同名同姓学生名单并统计同名人数

分析:条件:怎么算姓名相同?按姓名分组后人数大于等于2,因为同名的人数大于等于2,分析出这一点很重要

查询不及格的课程并按课程号从大到小排列

查询每门课程的平均成绩,结果按平均成绩升序排序,平均成绩相同时,按课程号降序排列

检索课程编号为“0004”且分数小于60的学生学号,结果按按分数降序排列

统计每门课程的学生选修人数(超过2人的课程才统计),要求输出课程号和选修人数,查询结果按人数降序排序,若人数相同,按课程号升序排序

查询两门以上不及格课程的同学的学号及其平均成绩

第2步:再加上限制条件:

1)不及格课程

2)两门以上[不及格课程]

4查询结构排序,分组的指定条件

查询学生的总成绩并进行排名

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

复杂查询

查询课程成绩小于60分学生的学号、姓名

知识点子查询

1翻译成大白话

1)查询结果:学生学号,姓名

2)查询条件:所有课程成绩 < 60 的学生,需要从成绩表里查找,用到子查询

第1步,写子查询(所有课程成绩 < 60 的学生)

第2步,查询结果:学生学号,姓名,条件是前面1步查到的学号

查询没有学全所有课的学生的学号、姓名

查询出只选修了两门课程的全部学生的学号和姓名

查找1990年出生的学生名单

查询本月过生日的学生

工作中会经常遇到这样的业务问题:

如何找到每个类别下用户最喜欢的产品是哪个?

如果找到每个类别下用户点击最多的5个商品是什么?

这类问题其实就是常见的:分组取每组最大值、最小值,每组最大的N条(top N)记录。

分组取每组最大值,按课程号分组取成绩最大值所在行的数据

分组取每组最小值,按课程号分组取成绩最小值所在行的数据

每组最大的N条记录,查询各科成绩前两名的记录

第1步,查出有哪些组

我们可以按课程号分组,查询出有哪些组,对应这个问题里就是有哪些课程号

第2步:先使用order by子句按成绩降序排序(desc),然后使用limt子句返回topN(对应这个问题返回的成绩前两名)

第3步,使用union all 将每组选出的数据合并到一起

多表查询

查询所有学生的学号、姓名、选课数、总成绩

查询平均成绩大于85的所有学生的学号、姓名和平均成绩

查询学生的选课情况:学号,姓名,课程号,课程名称

1介绍一下测试流程(重点,常见!)

2介绍一下测试方法

3介绍一下测试用例设计方法(用例设计方法&测试方法需要分清楚)

4设计一个登录页面的用例(提供某个场景的设计用例,重点!)

5举例说明项目推进的能力(针对个人评价的举例说明)

6考试中遇到的比较难的一个项目是?(掌握自己简历上的项目)

7印象深刻的一个bug?

8你们公司是不是敏捷开发?介绍一下敏捷开发?

9复盘会议的主要内容有哪些?

10App 的兼容性怎么测,App 的接口测试怎么测?

11Web 端测试和 App 端测试有何不同(常见)

1 工作中常使用的 SQL 语法有哪些?

2数据库存储过程

3SQL 常见查询语句编写(此处仅举例常见的查询语句,如有更多坑,希望补充)

a查询所有学生的数学成绩,显示学生姓名 name, 分数, 由高到低。

b统计每个学生的总成绩(由于学生可能有重复名字),显示字段:学生 id,姓名,总成绩。

c列出各门课程成绩最好的学生, 要求显示字段: 学号,姓名,科目,成绩

4慢查询是什么意思?

5导致数据库性能差的可能原因有哪些?

6Redis 缓存应用场景

7怎么定位 Redis 缓存失效问题(缓存坏了)

1 工作中常用的 Linux 命令有哪些?

2什么命令可以帮助 Linux 执行 Windows 上传的脚本

3简述 Linux 三剑客

4如何通命令定位 Linux 服务器下的日志?

5简述项目中的环境搭建和维护

1 自动化代码中,用到了哪些设计模式?

2 什么是断言?

3 UI 自动化测试中,如何做集群?

4 怎么对含有验证码的功能进行自动化测试?

5 如何优化和提高 Selenium 脚本的执行速度?

6 接口测试能发现哪些问题?

7 Selenium 中隐藏元素如何定位?

8 如何判断一个页面上元素是否存在?

9 如何提高脚本的稳定性?

10 如何定位动态元素?

11 如何通过子元素定位父元素

12 平常遇到过哪些问题 如何解决的

13 一个元素明明定位到了,点击无效(也没报错),如果解决?

14 测试的数据你放在哪

15 什么是数据驱动,如何参数化?

16 其他接口都需要登录接口的信息,怎么去让这个登录的接口只在其他接口调用一次?

17 接口产生的垃圾数据如何清理?

18 怎么用接口案例去覆盖业务逻辑?

1 性能测试指标包括哪些

2 如果一个需求没有明确的性能指标,要如何开始进行性能测试?

3 介绍 JMeter 聚合报告包括哪些内容?

4 如果有一个页面特别卡顿,设想一下可能的原因?

5 说一说项目中的实际测试内容

6 介绍一下 JMeter 进行性能测试的过程

7 介绍一下 JMeter 和 LoadRunner 的区别

全套软件测试/自动化测试海量资料免费领取

以上就是关于惠普数据库类笔试题和面试题答案全部的内容,包括:惠普数据库类笔试题和面试题答案、面试官问“项目中有没有进行过sql性能优化”、软件测试SQL面试题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10197373.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存