联表查询 && 索引 && 事务 && 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. 获取线程实例
相关文章
|
4天前
|
监控 Java 调度
Java并发编程:线程池的原理与实践
【5月更文挑战第30天】 在现代软件开发中,尤其是Java应用中,并发编程是一个不可忽视的领域。线程池作为提升应用性能和资源利用率的关键技术之一,其正确使用和优化对系统稳定性和效率至关重要。本文将深入探讨线程池的核心原理、常见类型以及在实际开发中的使用案例,旨在帮助开发者更好地理解和运用线程池技术,构建高性能的Java应用程序。
|
5天前
|
监控 Java 开发者
深入理解Java并发编程:线程池的工作原理与实践
【5月更文挑战第29天】 在现代Java应用开发中,高效地管理并发任务是至关重要的。本文将深入探讨Java线程池的核心机制,揭示其背后的设计哲学和运作模式。通过分析线程池的优势、工作过程及关键参数,结合实例演示如何合理配置和优化线程池以提高应用程序的性能和响应能力。
|
5天前
|
Java 开发者
Java并发编程:理解线程池的工作原理与实践应用
【5月更文挑战第29天】在Java并发编程中,线程池是一种管理线程资源的重要工具。通过深入探讨线程池的工作原理和实践应用,本文将帮助开发者更好地理解和使用线程池,提高系统性能和稳定性。
|
6天前
|
安全 Java 编译器
Java 多线程系列Ⅴ(常见锁策略+CAS+synchronized原理)
Java 多线程系列Ⅴ(常见锁策略+CAS+synchronized原理)
|
6天前
|
Java 调度
Java 多线程系列Ⅰ(创建线程+查看线程+Thread方法+线程状态)
Java 多线程系列Ⅰ(创建线程+查看线程+Thread方法+线程状态)
|
6天前
|
Java 程序员
Java中的多线程编程:理解并应用Thread类和Runnable接口
【5月更文挑战第28天】在Java中,多线程编程是一个重要的概念,它允许同时执行多个任务。本文将深入探讨Java的多线程编程,包括Thread类和Runnable接口的使用,以及如何在实际项目中应用这些知识。我们将通过实例来理解这些概念,并讨论多线程编程的优点和可能的挑战。
|
6天前
|
Java
Java多线程基础-7:wait() 和 notify() 用法解析
这篇内容探讨了Java中的`wait()`和`notify()`方法在多线程编程中的使用。
14 0
|
6天前
|
Java 调度
"ava多线程基础-4:详解Thread类及其基本用法(二)
本文介绍了Java中线程中断和等待的相关概念。
14 0
|
6天前
|
Java Linux API
Java多线程基础-4:详解Thread类及其基本用法 (一)
Java 中的 `Thread` 类是用来管理线程的,每个线程都是通过 `Thread` 类的对象来描述。
28 0
|
10天前
|
安全 Java 开发者
谈谈Java线程同步原理
【5月更文挑战第24天】Java 线程同步的原理主要基于两个核心概念:互斥(Mutual Exclusion)和可见性(Visibility)。
12 3