深信服科技校园招聘笔试题
资料仅供参考
深信服科技 校园招聘笔试题
一、 选择题(单选多选都有,每题2分,时间:120分钟)
1. 正则表示式 (a | b) + [0 - 9]*c 可匹配下列哪些字符串?( ) A. abac B. 90c C. aba10c D. ac
2. 已知a, b 都是double类型,下列哪些判断a, b相等的方法是正确的?( ) A. a == b
B. fabs(a-b) < DBL_EPSILON C. fabs(a-b) <= FLT_EPSILON D. fabs(a-b) <= DBL_EPSILON E. fabs(a-b) < FLT_EPSILON
3. 下列哪些是可能引起错误的代码? ( ) A. char c = 233; tables[c] = c;
B. #define equal(a, b) a==b; int a = 3, b=7; printf(“a&3 %s b&3\\n”, equal(a&3, b&3)? “==” : “!=”);
C. 已知Derived 是Base的派生类 Base *p = new
资料仅供参考
Derived; delete (Derived *)p;
D. std::string str1(“hello”), str2; memcpy(&str2, &str1, sizeof(str1));
4. 下列哪些指令执行之后,标志寄存器的ZF一定会置位为1? ( ) A. XOR EAX EAX B. CMP EAX EAX C. MOV EAX 0H D. TEST EAX EAX
5. 下列哪些数据结构最适合医疗仪器设备中的大型数据量插入、查找?( ) A. 数组 B. 哈希表
C. 红黑树/二叉平衡树 D. 链表
6. 下列哪些排序算法的平均时间复杂度是O(Nlog2N) ( ), 哪些是稳定排序( ) A. 冒泡排序 B. 希尔排序 C. 快速排序
资料仅供参考
D. 插入排序 E. 堆排序
7. 下列哪些说法是正确的:( )
A. 二分查找法在一个长度为1000的有序整数数组查找一个整数,比较次数不超过100次
B. 在二叉树中查找元素的时间复杂度为O(log2N); C. 对单向链表,能够使用冒泡法排序; D. 对双向链表,能够使用快速排序.
8. 已知Derived是Base的派生类,且Base、Derived都有缺省构造函数,Base有个成员函数fool ,原型为:void Base::fool(), Derived有个成员函数foo2,原型为:void Derived::foo2(). 请问下述哪些代码是能够正常编译经过的?( ) A. Derived *p = new Base; B. Base *p = new Derived;
C. void (Derived::*pfn)() = &Base::foo1; D. void (Base::*pfn)() == &Derived::foo2;
9. 下列哪些函数调用之后,buf一定是以’\\0’ 结束(假设src是字符串,buf足够长): ( ) A. memcpy(buf, src, strlen(src));
资料仅供参考
B. strcpy(buf, src);
C. strncpy(buf, src, strlen(src)); D. strcat(buf, src);
10. X86平台, 下列哪几种情况下需要对全局变量I的访问进行加锁:( )
A. A线程:if(I++) return; B线程:if(I++) return; B. A线程:if(I) return; B线程 if(I) return; C. A线程:if(I++) return; B线程:if(I) return; D. A线程:I = 1; B线程:I = 0;
二、 填空题(每题2分,共20分)
1. 下列程序的运行结果是:_________ void fun(int* pa, int& b, int c) {
*pa = 5; b = 5; c = 5; }
int main()