第二章 面试需要的基础知识
2.1 面试官谈基础知识
2.2 编程语言
2.2.1 C++
面试题1: 赋值运算符函数
2.2.2 C#
2.3 数据结构
2.3.1 数组
面试题3: 数组中重复的数字
面试题4:二维数组中的查找
2.3.2 字符串
19/5/4
2.3.3 链表
19/5/4
2.3.4 树
19/5/4
2.3.5 栈和队列
19/5/4
2.4 算法和数据操作
2.4.1 递归和循环
19/5/9
改进方法:
2.4.2 查找和排序
19/5/9
2.4.3 回溯法
2019/5/11///2019/5/16
2.4.4 动态规划和贪婪算法
2019/5/16
2.4.5 位运算
世界上有10种人,一种人知道二进制,而另一种人不知道二进制。。
----2020/3/10。。。
----SQL查询中使用WHere子句指出的是(查询条件)。
----数据查询语言(DQL):是由SELECT子句,FROM子句,WHERE子句组成的查询块
数据操纵语言(DML): SELECT(查询) INSERT(插入) UPDATE(更新) DELETE(删除)
数据定义语言(DDL):CREATE(创建数据库或表或索引)ALTER(修改表或者数据库)DROP(删除表或索引)
数据控制语言(DCL):GRANT(赋予用户权限) REVOKE(收回权限) DENY(禁止权限)
事务控制语言(TCL):SAVEPOINT (设置保存点)ROLLBACK (回滚) COMMIT(提交)
----写法顺序:select–from–where–group by–having–order by
执行顺序:from–where–group by–having–select–order by
----一张学生成绩表score,部分内容如下:
name course grade
张三 操作系统 67
张三 数据结构 86
李四 软件工程 89
用一条SQL 语句查询出每门课都大于80 分的学生姓名,SQL语句实现正确的是:( )
正确答案: A
Select distinct name from score where name not in(Select name from score where grade <= 80);
Select distinct name from score where name in(Select name from score where grade <= 80);
Select name from score where name not in(Select name from score where grade <= 80);
Select name from score where name in(Select name from score where grade <= 80);
解析:where name not in(Select name from score where grade <= 80); 选择分数不在80分及以下的名字。
----某软件公司正在升级一套水务管理系统。该系统用于县市级供排水企业、供水厂、排水厂中水务数据的管理工作。系统经重新整合后,开发人员决定不再使用一张备份数据表waterinfo001表,需永久删除。选出符合要求的语句。
正确答案: C
DELETE TABLE waterinfo001
DELETE FROM TABLE waterinfo001
DROP TABLE waterinfo001
DROP FROM TABLE waterinfo001
解析:DELETE FROM waterinfo001;
清除 waterinfo001 表全部记录
DROP TABLE waterinfo001;
删除 waterinfo001 表
----有订单表orders,包含字段用户信息userid,字段产品信息productid,以下语句能够返回至少被订购过两次的productid?()
正确答案: D
select productid from orders where count(productid)>1
select productid from orders where max(productid)>1
select productid from orders where having count(productid)>1 group by productid
select productid from orders group by productid having count(productid)>1
解析:先用group by 分组,再计算数量选择。
----在SQL中语法规范中,having子句的使用下面描述正确的是:( )
正确答案: A C
having子句即可包含聚合函数作用的字段也可包括普通的标量字段
使用having的同时不能使用where子句
having子句必须于group by 子句同时使用,不能单独使用
使用having子句的作用是限定分组条件
Having子句和where子句是等同的
如果select语句中没有聚合函数的使用,就不能使用having子句