大家评评理,我出的面试题很难吗?!
公司招应届本科毕业生,出个题目试试(以前公司没有笔试的),结果非常差.15个人,没有一人全对的.最好的也就对了80%,差的交白卷.晕死.
第1题: 请阅读以下的代码,试试看,你能发现错误或者不恰当地方吗?(提示: 不止一处)
class Wheel{};
class Color{};
class Car
{
private:
Wheel* wheels;
public:
Car(int wheel_count){wheels = new Wheel[wheel_count];}
~Car(){delete wheels;}
};
class Roadster : public Car
{
public:
Color color;
Roadster(){};
Roadster(const Roadster& rs)
{
this->color = rs.color;
}
~Roadster(){};
Roadster& operator=(const Roadster& rhs)
{
this->color = rhs.color;
}
const Roadster& clone()
{
Roadster the_new = *this;
return the_new;
}
};
int main(int argc, char* argv[]){
Roadster* yours = new Roadster;
Roadster mine; mine = yours->clone();
Car* pCar = yours;
delete pCar;
return 0;
};
第2题: 以下是系统表sysprocesses和sysdatabases的帮助. 请你根据这些帮助信息,写出一条语句, 显示当前系统中有谁(即工作站的名称)与哪个数据库(即数据库名称)建立了连接.
sysprocesses
sysprocesses 表中保存关于运行在 Microsoft® SQL Server™ 上的进程的信息。这些进程可以是客户端进程或系统进程。sysprocesses 只存储在 master 数据库中。
列名 数据类型 描述
spid smallint SQL Server 进程 ID。
kpid smallint Microsoft Windows NT 4.0® 线程 ID。
blocked smallint 分块进程的进程 ID (spid)。
waittype binary(2) 保留。
waittime int 当前等待时间(以毫秒为单位)。当进程不处于等待时,为 0。
lastwaittype nchar(32) 表示上次或当前等待类型名称的字符串。
waitresource nchar(32) 锁资源的文本化表示法。
dbid smallint 当前正由进程使用的数据库 ID。
uid smallint 执行命令的用户 ID。
cpu int 进程的累计 CPU 时间。无论 SET STATISTICS TIME ON 选项是 ON 还是 OFF,都为所有进程更新该条目。
physical_io int 进程的累计磁盘读取和写入。
memusage int 当前分配给该进程的过程高速缓存中的页数。一个负数,表示进程正在释放由另一个进程分配的内存。
login_time datetime 客户端进程登录到服务器的时间。对于系统进程,是存储 SQL Server 启动发生的时间。
last_batch datetime 客户端进程上次执行远程存储过程调用或 EXECUTE 语句的时间。对于系统进程,是存储 SQL Server 启动发生的时间。
ecid smallint 用于唯一标识代表单个进程进行操作的子线程的执行上下文 ID。
open_tran smallint 进程的打开事务数。
status nchar(30) 进程 ID 状态(如运行、休眠等)。
sid binary(85) 用户的全局唯一标识符 (GUID)。
hostname nchar(128) 工作站的名称。
program_name nchar(128) 应用程序的名称。
hostprocess nchar(8) 工作站进程 ID 号。
cmd nchar(16) 当前正在执行的命令。
nt_domain nchar(128) 客户端的 Windows NT 4.0 域(如果使用 Windows 身份验证)或信任连接的 Windows NT 4.0 域。
nt_username nchar(128) 进程的 Windows NT 4.0用户名(如果使用 Windows 身份验证)或信任连接的 Windows NT 4.0 用户名。
net_address nchar(12) 指派给每个用户工作站上的网络接口卡唯一标识符。当用户登录时,该标识符插入 net_address 列。
net_library nchar(12) 用于存储客户端网络库的列。每个客户端进程都在网络连接上进入。网络连接有一个与这些进程关联的网络库,该网络库使得这些进程可以建立连接。有关更多信息,请参见客户端和服务器 Net-Library。
loginame nchar(128) 登录名。
sysdatabases
Microsoft® SQL Server™ 上的每个数据库在表中占一行。最初安装 SQL Server 时,sysdatabases 包含 master、model、msdb、mssqlweb 和 tempdb 数据库的项。该表只存储在 master 数据库中。
列名 数据类型 描述
name sysname 数据库的名称。
dbid smallint 数据库 ID。
sid varbinary(85) 数据库创建者的系统 ID。
mode smallint 用于创建数据库时在内部锁定该数据库。
status int 状态位,其中某些状态位可由用户使用 sp_dboption(read only、dbo use only、single user 等)进行设置:
1 = autoclose;使用 sp_dboption 设置。
4 = select into/bulkcopy;使用 sp_dboption 设置。
8 = trunc. log on chkpt;使用 sp_dboption 设置。
16 = torn page detection,使用 sp_dboption 设置。
32 = loading。
64 = pre recovery。
128 = recovering。
256 = not recovered。
512 = offline;使用sp_dboption 设置。
1024 = read only;使用 sp_dboption 设置。
2048 = dbo use only;使用sp_dboption 设置。
4096 = single user;使用 sp_dboption 设置。
32768 = emergency mode。
4194304 = autoshrink。
1073741824 = cleanly shutdown。
可以同时打开多个位。
status2 int 16384 = ANSI null default;使用 sp_dboption 设置。
65536 = concat null yields null,使用 sp_dboption 设置。
131072 = recursive triggers,使用 sp_dboption 设置。
1048576 = default to local cursor,使用 sp_dboption 设置。
8388608 = quoted identifier,使用sp_dboption 设置。
33554432 = cursor close on commit,使用 sp_dboption 设置。
67108864 = ANSI nulls,使用 sp_dboption 设置。
268435456 = ANSI warnings,使用 sp_dboption 设置。
536870912 = full text enabled,使用sp_fulltext_database 设置。
crdate datetime 创建日期。
reserved datetime 留作以后使用。
category int 包含用于复制的信息位图:
1 = 已发布。
2 = 已订阅。
4 = 合并已发布。
8 = 合并已订阅。
cmptlevel tinyint 数据库的兼容级别。有关更多信息,请参见 sp_dbcmptlevel。
filename nvarchar(260) 数据库主文件的操作系统路径和名称。
version smallint 创建数据库时使用的 SQL Server 代码内部版本号。仅供 SQL Server 工具在内部用于升级处理。