1、运行在多核处理器上的Linux环境中,若临界区非常短,且不允许线程上下文切换的情况下,使用下列哪种机制满足上述需求并且性能最好?(SpinLock)
1)SpinLock 2)Mutex 3)Semaphore 4)Condition variable
解析:spinlock在多处理器多线程环境的场景中有很广泛的使用,一般要求使用spinlock的临界区尽量简短,这样获取的锁可以尽快释放,以满足其他忙等的线程。Spinlock和mutex不同,spinlock不会导致线程的状态切换(用户态->内核态),但是spinlock使用不当(如临界区执行时间过长)会导致cpu busy飙高。
2、以下函数中,和其他函数不属于一类的是____
1)fwrite 2)putc 3)pwrite 4)putchar 5)getline 6)scanf
解析:,pwrite是系统调用,其他都是库函数
常见文件系统 系统函数
-u 用户号 指定用户的用户号;因为系统用户的用户号为0,故指定用户号为0 如果同时有-o选项,则可以重复使用其他用户的标识号;因为系统本身存在用户号为0的系统用户,故应该使用该参数。
u表示创建用户.g表示创建用户组 -e指定账号的有效期限,缺省表示永久有效。
-f指定在密码过期后多少天即关闭该账号。-p表示创建密码
1、KMP算法的特点是在模式匹配时指示主串的指针不会变小(对)
解析:KMP算法的改进在于:每当一趟匹配过程中出现字符比较不相等时,不需回溯主串指针,而是利用已经得到的“部分匹配”的结果将模式向右“滑动”尽可能远的一段距离后,继续进行比较。
2、判断下述语句的对错:MFC中CString是类型安全的类。(对)
解析:类型安全就是说,如果两个类型直接要相互转换,必须要显示的转换,不能偷偷摸摸的只用一个等于号就隐式转换了
MFC数据类型转换标准库std的string 和MFC类库CString之间可以通过CString的format方法进行转换。
3、
char
*p1 = ”
123
”, *p2 = ”ABC”, str[
50
] = “xyz”;
strcpy(str +
2
, strcat(p1, p2));
printf(“%s\n”, str);
上面运行出错。
解析:原代码有错:p1和p2都指向常量字符串,在常量区,所以不能对其进行操作;改为数组即可,但是用字符串初始化数组时要记得将数组长度加1,因为字符串默认的末尾有一个‘\0’;第二点要注意的是,strcat函数的p1要有足够的空间来容纳p1和p2连接后的串长。
含有一个或多个空格字符的串称为空串
对n(n>0)个顶点的网,求出权最小的n-1条边便可构成其最小生成树
选择排序算法是不稳定的
平衡二叉树的左右子树的结点数之差的绝对值不超过1
2、以下选项中不属于C语言标识符的是?C语言中的标识符有:关键字、预定义标识符、用户标识符
3、关于指针概念说法不正确的是()指针变量可以由整数赋,不能用浮点赋
解析:指针是用来指示一个内存地址的变量,因此只能将地址赋给指针变量,而不能是整数或浮点数。
4、统计日志中ip登陆次数,下面可以正确统计的为
1)cat catalina.log | awk -F ' ' '{print $3}' | sort | uniq -c | wc -l
2)cat catalina.log | awk '{print $3}' | sort -k1nr | uniq -c | wc –l
答案:向规则链增加一条规则,规则匹配的对象是IP为192.168.3.112,tos等于0x10的包,使用路由表2,这条规则的优先级是1500
则包含3个要素:
什么样的包,将应用本规则(所谓的SELECTOR,可能是filter更能反映其作用);
符合本规则的包将对其采取什么动作(ACTION),例如用那个表;
本规则的优先级别。优先级别越高的规则越先匹配(数值越小优先级别越高)。
6、查看TCP连接的命令是什么?netstat
解析:tcpdump是简单可靠网络监控的实用工具
netstat显示网络有关的信息,比如套接口使用情况、路由、接口、协议(TCP等)等
ifconfig是查看活动的网卡信息
1、 请问下面的程序一共输出多少个”-”?
1
2
3
4
5
6
7
8
9
|
int main(void)
{
int i;
for(i=
0
;i<
2
;i++){
fork();
printf(
"-"
);
}
return
0
;
}
|
答案是:8
2、
make config
make menuconfig
make oldconfig
make xconfig