联表查询 && 索引 && 事务 && JDBC使用 &&CPU工作原理 && 线程概念 && Thread类的用法

简介: 联表查询 && 索引 && 事务 && JDBC使用 &&CPU工作原理 && 线程概念 && Thread类的用法

第 1 题(单选题)

题目名称:

已知表T1中有2行数据,T2中有3行数据,执行SQL语句,“select a.* from T1 a,T2 b”后,返回的行数为

题目内容:

A .2

B .3

C .5

D .6

第 2 题(单选题)

题目名称:

Mysql查询时,只有满足联接条件的记录才包含在查询结果,这种联接是

题目内容:

A .左联接

B .右联接

C .内联接

D .全联接

第 3 题(单选题)

题目名称:

数据库做join操作时,至少要涉及到几张表?

题目内容:

A .3

B .1

C .2

D .4

第 4 题(编程题)

题目名称:

写出以下数据库的查询条件【交大思诺2020届校招笔试题】

题目内容:

有两个表分别如下:

表A(varchar(32) name, int grade)

数据:zhangshan 80, lisi 60, wangwu 84

表B(varchar(32) name, int age)

数据:zhangshan 26, lisi 24, wangwu 26, wutian 26

写SQL语句得到如下查询结果:

| NAME   | GRADE | AGE |

| --------- | ----- | ---- |

| zhangshan | 80  | 26  |

| lisi   | 60  | 24  |

| wangwu  | 84  | 26  |

| wutian  | null | 26  |

第 5 题(编程题)

题目名称:

有员工表、部门表和薪资表,根据查询条件写出对应的sql【同程艺龙2020届校招笔试题】

题目内容:

现在有员工表、部门表和薪资表。部门表depart的字段有depart_id, name;员工表 staff 的字段有 staff_id, name, age, depart_id;薪资表salary 的字段有 salary_id,staff_id,salary,month。

(问题a):求每个部门'2016-09'月份的部门薪水总额

(问题b):求每个部门的部门人数,要求输出部门名称和人数

(问题c):求公司每个部门的月支出薪资数,要求输出月份和本月薪资总数

第 6 题(编程题)

题目名称:

编写一个SQL查询,获取Employee表中第二高的薪水(Salary)【陌陌科技2020届校招笔试题】

题目内容:

编写一个SQL查询,获取Employee表中第二高的薪水(Salary)【陌陌科技2020届校招笔试题】

+-----+-------+

| Id | Salary|

+-----+-------+

| 1  | 100 |

+-----+-------+

| 2  | 200 |

+-----+-------+

| 3  | 300 |

+-----+-------+

例如上述Employee表,SQL查询应该返回200作为第二高的薪水。如果不存在第二高的薪水,那么查询应该返回null。

+---------------------+

| SecondHighestSalary |

+---------------------+

|    200     |

+---------------------+

第 1 题(单选题)

题目名称:

SQL语句性能分析的关键字是什么?

题目内容:

A .EXPLAIN

B .LOAD

C .TOP

D .SUM

第 2 题(单选题)

题目名称:

下列说法错误的是:

题目内容:

A .索引一定会提高查询效率

B .索引需要保存成物理文件

C .不是所有查询操作都会使用索引

D .修改、删除操作也可以使用索引

第 3 题(单选题)

题目名称:

关于索引(index)的说法哪些是错误?

题目内容:

A .创建索引能提高数据插入的性能

B .索引应该根据具体的检索需求来创建,在选择性好的列上创建索引

C .索引并非越多越好

D .建立索引可使检索操作更迅速

第 1 题(单选题)

题目名称:

下列哪个不属于事务的特性

题目内容:

A .原子性

B .并发性

C .隔离性

D .持久性

第 2 题(单选题)

题目名称:

事务的持续性是指?

题目内容:

A .事务中包括的所有操作要么都做,要么不做

B .事务一旦提交,对数据库的改变时永久的

C .一个事务内部的操作及使用的数据对并发的其他事务是隔离的

D .事务必须是使数据库从一个一致性状态变到另一个一致性状态

第 3 题(单选题)

题目名称:

进行数据库提交操作时使用事务(Transaction)是为了?

题目内容:

A .提高效率

B .保证数据一致性

C .网络安全

D .归档数据文件

第 4 题(单选题)

题目名称:

设有两个事务T1,T2,其并发操作如下所示,下面评价正确的是

步骤      T1      T2

1      读A=100

2             读A=100

3      A=A+10写回

4             A=A-10写回

题目内容:

A .该操作不能重复读

B .该操作不存在问题

C .该操作读"脏"数据

D .该操作丢失修改

第 5 题(单选题)

题目名称:

事务日志用于保存

题目内容:

A .程序运行过程

B .程序的执行结果

C .对数据的更新操作

D .对数据的查询操作

第 1 题(单选题)

题目名称:

关于JDBC以下说法错误的是

题目内容:

A .DriverManager可以获取数据库连接

B .DataSource获取的数据库连接是可以重用的

C .DataSource获取的数据库连接也需要关闭物理连接

D .DataSource获取数据库连接也需要加载数据库驱动

第 2 题(单选题)

题目名称:

下列说法错误的是

题目内容:

A .使用JDBC拥有更好的可移植性

B .JDBC制定了统一的数据库编程规范,需要由数据库厂商提供驱动包

C .JDBC也可以使用来连接NoSQL数据库,比如Redis

D .JDBC也可以执行DDL指令

第 3 题(单选题)

题目名称:

关于PreparedStatement与Statement描述错误的是

题目内容:

A .一般而言,PreparedStatement比Statement执行效率更高

B .PreparedStatement会预编译SQL语句

C .Statement每次都会解析/编译SQL,确立并优化数据获取路径

D .Statement执行扫描的结果集比PreparedStatement大

第 4 题(单选题)

题目名称:

执行同构的SQL、执行异构的SQL和调用存储过程分别调用的接口是:【完美世界2020届校招笔试题】

题目内容:

A .PreparedStatement、Statement、CallableStatement

B .CallableStatement、PreparedStatement、Statement

C .Statement、CallableStatement、PreparedStatement

D .PreparedStatement、CallableStatement、Statement

第 5 题(单选题)

题目名称:

阅读下面两条查询语句,会因为使用了PreparedStatement使查询性能得以提升的是:【完美世界2020届校招面试题】

Query1:

String loanType = getLoanType();

PreparedStatement prestmt = conn.preparedStatement("select banks from loan where loan_type=" + loanType);

Query2:

String loanType = getLoanType();

PreparedStatement prestmt = conn.preparedStatement("select banks from loan where loan_type=?");

prestmt.setString(1, loanType);

题目内容:

A .Query1

B .Query2

C .Query1和Query2

D .None of them

第 6 题(编程题)

题目名称:

有一个图书管理系统,请根据要求写出对应的sql

题目内容:

有一个图书管理系统,包含学生和图书信息,且图书可以进行分类,学生可以在一个时间范围内借阅图书,并在这个时间范围内归还图书。表和表关系如下:

 

DROP DATABASE IF EXISTS ebook;
CREATE DATABASE ebook CHARACTER SET 'utf8mb4';
USE ebook;
-- ----------------------------
-- Table structure for category
-- ----------------------------
DROP TABLE IF EXISTS category;
CREATE TABLE category (
 id int(11) PRIMARY KEY AUTO_INCREMENT,
 name varchar(20)
);
-- ----------------------------
-- Records of category
-- ----------------------------
INSERT INTO category VALUES (1, '历史');
INSERT INTO category VALUES (2, '艺术');
INSERT INTO category VALUES (3, '计算机');
INSERT INTO category VALUES (4, '数学');
INSERT INTO category VALUES (5, '小说');
-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS student;
CREATE TABLE student (
 id int(11) PRIMARY KEY AUTO_INCREMENT,
 name varchar(20)
);
-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO student VALUES (1, '王昭君');
INSERT INTO student VALUES (2, '李白');
INSERT INTO student VALUES (3, '貂蝉');
INSERT INTO student VALUES (4, '小乔');
INSERT INTO student VALUES (5, '韩信');
-- ----------------------------
-- Table structure for book
-- ----------------------------
DROP TABLE IF EXISTS book;
CREATE TABLE book (
 id int(11) PRIMARY KEY AUTO_INCREMENT,
 name varchar(20),
 author varchar(20),
 price decimal(10, 2),
 category_id int(11),
 CONSTRAINT fk_book_category_id FOREIGN KEY (category_id) REFERENCES category (id)
);
-- ----------------------------
-- Records of book
-- ----------------------------
INSERT INTO book VALUES (1, '深入理解Java虚拟机', '周志明', 57.90, 3);
INSERT INTO book VALUES (2, '西游记', '吴承恩', 30.68, 5);
INSERT INTO book VALUES (3, '儒林外史', '吴敬梓', 18.80, 5);
INSERT INTO book VALUES (4, '聊斋志异', '蒲松龄', 21.00, 5);
INSERT INTO book VALUES (5, '史记', '司马迁', 278.20, 1);
INSERT INTO book VALUES (6, '资治通鉴', '司马光', 524.00, 1);
INSERT INTO book VALUES (7, 'Java核心技术 卷I:基础知识', 'Cay S. Horstmann', 92.50, 3);
INSERT INTO book VALUES (8, 'Java核心技术卷II:高级特性', 'Cay S. Horstmann', 111.20, 3);
INSERT INTO book VALUES (9, 'Java多线程编程核心技术', '高洪岩', 47.50, 3);
INSERT INTO book VALUES (10, '诗经', '孔子', 22.00, 2);
INSERT INTO book VALUES (11, '唐诗三百首', '蘅塘居士', 49.30, 2);
INSERT INTO book VALUES (12, '唐诗三百首', '蘅塘居士', 55.00, 2);
INSERT INTO book VALUES (13, '西游记', '吴承恩', 47.50, 5);
INSERT INTO book VALUES (14, '唐诗三百首', '蘅塘居士', 56.50, 2);
-- ----------------------------
-- Table structure for borrow_info
-- ----------------------------
DROP TABLE IF EXISTS borrow_info;
CREATE TABLE borrow_info (
 id int(11) PRIMARY KEY AUTO_INCREMENT,
 book_id int(11),
 student_id int(11),
 start_time timestamp null,
 end_time timestamp null,
 CONSTRAINT fk_borrow_info_book_id FOREIGN KEY (book_id) REFERENCES book (id),
 CONSTRAINT fk_borrow_info_student_id FOREIGN KEY (student_id) REFERENCES student (id)
);
-- ----------------------------
-- Records of borrow_info
-- ----------------------------
INSERT INTO borrow_info VALUES (1, 1, 1, '2018-11-07 18:50:43', '2018-12-07 18:51:01');
INSERT INTO borrow_info VALUES (2, 7, 1, '2019-07-10 10:21:00', '2019-09-10 10:21:00');
INSERT INTO borrow_info VALUES (3, 8, 1, '2019-09-10 10:21:00', '2019-10-10 10:21:00');
INSERT INTO borrow_info VALUES (4, 2, 2, '2019-03-02 16:37:00', '2019-04-02 16:37:00');
INSERT INTO borrow_info VALUES (5, 4, 2, '2019-03-12 14:25:00', '2019-04-12 14:25:00');
INSERT INTO borrow_info VALUES (6, 10, 2, '2019-07-13 16:21:00', '2019-10-13 16:21:00');
INSERT INTO borrow_info VALUES (7, 11, 2, '2019-06-09 09:40:00', '2019-07-09 09:40:00');
INSERT INTO borrow_info VALUES (8, 13, 2, '2019-01-03 15:11:00', '2019-04-03 15:11:00');
INSERT INTO borrow_info VALUES (9, 7, 3, '2019-05-15 13:13:00', '2019-06-15 13:13:00');
INSERT INTO borrow_info VALUES (10, 8, 3, '2019-04-27 13:53:00', '2019-05-27 13:53:00');
INSERT INTO borrow_info VALUES (11, 9, 3, '2019-06-01 11:32:00', '2019-07-01 11:32:00');
INSERT INTO borrow_info VALUES (12, 3, 4, '2019-07-01 09:40:00', '2019-08-01 09:40:00');
INSERT INTO borrow_info VALUES (13, 4, 4, '2019-06-19 11:40:00', '2019-07-19 11:40:00');
INSERT INTO borrow_info VALUES (14, 5, 4, '2019-06-25 09:23:00', '2019-09-25 09:23:00');
INSERT INTO borrow_info VALUES (15, 10, 4, '2019-08-27 15:30:00', '2019-09-27 15:30:00');
INSERT INTO borrow_info VALUES (16, 5, 5, '2019-01-23 14:20:00', '2019-04-23 14:20:00');
INSERT INTO borrow_info VALUES (17, 6, 5, '2019-03-09 10:45:00', '2019-04-09 10:45:00');
INSERT INTO borrow_info VALUES (18, 10, 5, '2019-06-17 11:32:00', '2019-09-17 11:32:00');

要求:

1. 新增貂蝉同学的借阅记录:诗经,从2019年9月25日17:50到2019年10月25日17:50

2. 查询计算机分类下的图书借阅信息

3. 修改图书《深入理解Java虚拟机》的价格为61.20

4. 删除id最大的一条借阅记录

第 7 题(编程题)

题目名称:

实现数据库版的图书馆管理系统

题目内容:

参照课堂代码, 实现数据库版本的图书馆管理系统

第 8 题(编程题)

题目名称:

实现数据库版本的图书馆里系统

题目内容:

实现数据库版本的图书馆里系统

第 9 题(编程题)

题目名称:

基于 JDBC 实现增删改查的 demo 程序

题目内容:

在 student 表 (id int, name varchar(40)) 中

通过 jdbc 进行增删改查代码操作.

每个操作通过一个类实现.

第 1 题(多选题)

题目名称:

以下哪些功能属于操作系统负责完成的?

题目内容:

A .进程调度

B .内存管理

C .组织文件系统

D .配置CPU电压

第 2 题(多选题)

题目名称:

常见的操作系统有

题目内容:

A .Windows

B .Linux

C .Android

D .IPhone

第 3 题(多选题)

题目名称:

以下哪种说法是正确的?

题目内容:

A .存取速度: CPU > 内存 > 硬盘

B .存取速度: 内存 > CPU > 硬盘

C .存储空间: 硬盘 > 内存 > CPU

D .存储空间: 内存 > 硬盘 > CPU

第 4 题(多选题)

题目名称:

以下哪个设备属于 "输入设备" ?

题目内容:

A .网卡

B .U盘

C .音箱

D .手写笔

第 5 题(多选题)

题目名称:

冯诺依曼体系结构中, 描述计算机包含哪几个组成部分?

题目内容:

A .CPU

B .存储器

C .输入设备

D .输出设备

第 1 题(简答题)

题目名称:

编写博客, 总结进程和线程的区别和联系

题目内容:

编写博客, 总结进程和线程的区别和联系

第 2 题(编程题)

题目名称:

编写代码, 实现创建线程的五种写法

题目内容:

  1. 继承 Thread, 重写 run
  2. 实现 Runnable, 重写 run
  3. 继承 Thread, 重写 run, 使用匿名内部类
  4. 实现 Runnable, 重写 run, 使用匿名内部类
  5. 使用 lambda 表达式

贴上核心代码和关键结果截图.

第 1 题(简答题)

题目名称:

请回答以下代码的输出, 并解释原因

题目内容:

public static void main(String[] args) {
    Thread t = new Thread(new Runnable() {
        @Override
        public void run() {
            System.out.println("1");
        }
    });
    t.start();
    System.out.println("2");
}

第 2 题(编程题)

题目名称:

在子线程执行完毕后再执行主线程代码

题目内容:

有20个线程,需要同时启动。

每个线程按0-19的序号打印,如第一个线程需要打印0

请设计代码,在main主线程中,等待所有子线程执行完后,再打印 ok

第 3 题(简答题)

题目名称:

请说明Thread类中run和start的区别

题目内容:

从方法的区别,及运行结果的区别分别说明

第 4 题(简答题)

题目名称:

编写博客, 总结 Thread 类的基本用法

题目内容:

  1. 线程创建
  2. 线程中断
  3. 线程等待
  4. 线程休眠
  5. 获取线程实例
相关文章
|
1月前
|
消息中间件 存储 算法
【软件设计师备考 专题 】操作系统的内核(中断控制)、进程、线程概念
【软件设计师备考 专题 】操作系统的内核(中断控制)、进程、线程概念
83 0
|
1月前
|
安全 Linux KVM
倚天产品介绍|倚天虚拟化:CPU虚拟化原理介绍
虚拟化技术中最关键的技术之一就是CPU虚拟化。在没有硬件辅助虚拟化技术出来之前,通常都是通过TCG(软件进行指令翻译)的方式实现CPU虚拟化。但是由于TCG方式的虚拟化层开销太大,性能太差,因此引入了硬件辅助虚拟化技术。
|
2月前
|
安全 Java C++
解释Python中的全局解释器锁(GIL)和线程安全的概念。
解释Python中的全局解释器锁(GIL)和线程安全的概念。
26 0
|
17天前
|
算法 Java 开发者
Java中的多线程编程:概念、实现与性能优化
【4月更文挑战第9天】在Java编程中,多线程是一种强大的工具,它允许开发者创建并发执行的程序,提高系统的响应性和吞吐量。本文将深入探讨Java多线程的核心概念,包括线程的生命周期、线程同步机制以及线程池的使用。接着,我们将展示如何通过继承Thread类和实现Runnable接口来创建线程,并讨论各自的优缺点。此外,文章还将介绍高级主题,如死锁的预防、避免和检测,以及如何使用并发集合和原子变量来提高多线程程序的性能和安全性。最后,我们将提供一些实用的性能优化技巧,帮助开发者编写出更高效、更稳定的多线程应用程序。
|
1月前
|
存储 缓存 并行计算
【软件设计师备考 专题 】CPU和存储器的组成、性能和基本工作原理
【软件设计师备考 专题 】CPU和存储器的组成、性能和基本工作原理
56 0
|
1月前
|
存储 安全 IDE
C/C++ 作用域,生命周期,执行线程的概念
C/C++ 作用域,生命周期,执行线程的概念
18 2
|
1月前
|
算法 Linux 调度
Linux 线程介绍:介绍Linux系统中线程的基本概念、创建和调度机制
Linux 线程介绍:介绍Linux系统中线程的基本概念、创建和调度机制
20 0
|
1月前
|
消息中间件 存储 安全
Linux 进程和线程介绍:介绍Linux系统中进程和线程的基本概念、执行方式和相互关系
Linux 进程和线程介绍:介绍Linux系统中进程和线程的基本概念、执行方式和相互关系
34 1
Linux 进程和线程介绍:介绍Linux系统中进程和线程的基本概念、执行方式和相互关系
|
1月前
|
Java 数据处理
Java8的新特性parallelStream()的概念、对比线程优势与实战
parallelStream() 是 Java 8 中新增的一个方法,它是 Stream 类的一种扩展,提供了将集合数据并行处理的能力。普通的 stream() 方法是使用单线程对集合数据进行顺序处理,而 parallelStream() 方法则可以将集合数据分成多个小块,分配到多个线程并行处理,从而提高程序的执行效率。
58 3
|
2月前
|
Java Linux API
【JavaEE初阶】线程的概念与创建
【JavaEE初阶】线程的概念与创建

热门文章

最新文章

相关实验场景

更多