




免费预览已结束,剩余4页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
深信服笔试题(转载) 1. 匹配10:dddddd和9:abcdegf但不匹配a:xfdf的正则表达式。2. int a5=1,2,3,4,5; printf(%dn, *(int*)(&a+1)-2); 输出是什么。 答:4. 分析:(int*)(&a+1)=a+5=&a5编程题:1. 给定一个int型数组arrayn,写一个函数sort(int array, int n),n为数组长度。使得数组中不大于零的元素在前,大于零的元素在后,要求时间复杂度O(n)。2. 有1001个球。甲乙两人交替取球,每次可取1、2、4个球,谁拿到最后一个球就算输。如果甲先拿,问他有没有必胜的把握?为什么? 答:有。 第一次甲拿1个球,以后每次: i. 乙拿1个,甲拿2个; ii. 乙拿2个,甲拿1个或4个; iii. 乙拿4个,甲拿2个。 最后肯定剩一个,并轮到乙拿。3. 实现atoi()和itoa()4. 给定一个int型数n,写一个尽可能简单的函数判断n是否为2的幂,不能用循环。 答:bool foo(int n) int a=n; if(n1)+(a&0x55555555); a=(a&0xCCCCCCCC)2)+(a&0x33333333); a=(a&0xF0F0F0F0)4)+(a&0x0F0F0F0F); a=(a&0xFF00FF00)8)+(a&0x00FF00FF); a=(a&0xFFFF0000)16)+(a&0x0000FFFF); if(a=1) return true; else return false; 简答题:1. 哪些方法可以避免或减少锁的使用?2. release版本的可执行程序为什么非常大?3. 使用C+赋值运算符应注意什么地方?4. strcpy()为什么会造成缓冲区溢出?可用哪个函数替代?5. 阻塞模式的recv在没受到数据的情况下如何返回?(不能将socket修改为非阻塞)8. 有红、绿、蓝三色球分别3,2,1个。取任意两个不同颜色的球都会使它们变成第三种颜色的两个球。问最少取多少次,可使这些球都变成同一种颜色? 答:无论多少次,都不可以使这些球变成同一种颜色,分析: 一、对于(R,R,R,G,G,B)即(3,2,1),有: i. (R,G) - (B,B,B,R,R,G)即(3,2,1) ii. (R,B) - (G,G,G,G,R,R)即(4,2) iii. (G,B) - (R,R,R,R,R,G)即(5,1) 二、对于(G,G,G,G,R,R)即(4,2),有 : i. (R,G) - (G,G,G,B,B,R)即(3,2,1) 三、对于(R,R,R,R,R,G)即(5,1)有 : i. (R,G) - (R,R,R,R,B,B)即(4,2) 因此,只有三种状态(3,2,1), (4,2)和(5,1),不可能出现(6,0)这种情况。 9. 哪些方法可让一个进程仅有一个实例运行?10. exit()和_exit() 的区别。11. 红黑树比AVL树的优势在哪?12. 软件开发过程包含哪些阶段?各阶段质量保证措施是什么?深信服08年笔试题填空选择类21211123112132112311322或1113122112下一行是什么?有什么规律? /已解决意思是上面一行有1个1,1个3,1个2,2个1,1个2,即132112(M)?(a+):( a),A,M=O,B,M=1,C,M!=O,D,M!=1(条件表达式) ? (条件为真时的表达式)条件为假时的表达式) /已解决4以下哪些通信方式是可靠的通讯方式1信号2管道3消息4tcp 5udp 6串口I/O可靠:信号 管道 tcp可以在不同主机之间的:Unix的启动顺序排序。(A) Rc.X (B) Rc.sysinit (C) login (D) initDBAC进程的几个基本状态:就绪、执行、阻塞程序:现有1000个球,10个盒子,问各个盒子内应该分别放入多少个球,才能达到需要1至1000之间任何数量的球,你都可以用若干盒子组合出来(用C/C+编写程序)1、2、4、8、16、32、64、128、256、489用一个程序示意常见的错误能够导致栈破坏,如何检查?#include “iostream.h”#include “string.h”void main()char str5;coutstr;while(strlen(str)5)cout”too long!”str;cout如果系统堆栈很小,不能处理超过4级的函数调用,如何解决八皇后问题#includevoid main()int A8;int flag;/标记int m=0;/总共有几种答案int t,tt;for(int a=1;a=8;a+)for(int b=1;b=8;b+)for(int c=1;c=8;c+)for(int d=1;d=8;d+)for(int e=1;e=8;e+)for(int f=1;f=8;f+)for(int g=1;g=8;g+)for(int h=1;h0;i)for(int j=0;jif(A=Aj)flag=1;break;if(flag)break;if(!flag)/比较是否在对角线上for( i=7;i0;i)for(int j=0;jt=A;tt=Aj;if(ttt)tt=9-tt;t=9-t;if(t-i=tt-j)flag=1;break;if(flag) break;if(!flag)/coutfor(i=0;i=7;i+)cout” “;m+;cout”*”pNext!=NULL)p1=p1-pNext;i+;while(p2-pNext!=NULL)p2=p2-pNext;j+;if(p1=p2)return NULL;elsefor(int k=0;kif(ij)p1=p1-pNext;elsep2=p2-pNext;while(p1!=p2)p1=p1-pNext;p2=p2-pNext;return p1;用C/C+编程,从1到100中取出10个不同的数,要求打印出所有可能的组合;#includeint source100;int dest10=0;int index_source=0;int index_dest=0;int k=10;int i=0;int j=0;void composition(int source, int index_source, int dest, int index_dest, int k)if(100-index_source=k)for(i=0; icout” “;for(i=index_source; i100; i+)cout” “;coutreturn;if(index_source100 & k=1)for(i=index_source; i100; i+)for(j=0; jcout” “;coutreturn;composition(source, index_source+1, dest, index_dest, k);destindex_dest+=sourceindex_source;composition(source, index_source+1, dest, index_dest, k-1);void main()for(int i=0;i100;i+)source=i;composition(source,0, dest, 0, 10);问答const 有什么用途?(请至少说明两种)1、 用在变量前面的时候可以避免变量被修改2、 用在函数声明部分允许const 的类对象成员访问const 成员函数,如果类的成员函数不会对数据成员进行修改的话最好把该函数定义为const类型,这样无论是const的类对象还是非const 的类对象都可以访问该函数3、 可以用来代替define ,define 只是简单的代替,但是const 还会进行类型检查。怎么避免头文件重复包含#ifndef H_HEADFILENAME#define H_HEADFILENAME文件内容.#endif拷贝构造函数和赋值号的异同同:都可以对对象的成员进行赋值异:拷贝构造函数首先是一个构造函数,它调用的时候产生一个对象,是通过参数传进来的那个对象来初始化,产生的对象。赋值是把一个对象赋值给一个原有的对象,而且还要检查一下两个对象是不是同一个对象,如果是的话就不做任何操作。哈希表和平衡二叉树的适用场合哈希表:哈希表查找速度比较快,但是要耗比较多的内存。所以比较适用于对查找速度要求比较高、且内存空间足够的时候平衡二叉树:如果想在以后用二分法查找的时候查找速度比较快的话用建立平衡二叉树的方法()recv函数如何在阻塞模式下没有收到数据就返回检查window (release)下的内存泄漏1、 放置关键字 assert()2、 生成map 文件。它并不往可执行文件exe 中添加任何东西,只是在编译的时候将各个函数入口地址记录在后缀为.map的文件中,程序崩溃的时候可以得到一个EIP地址,通过地址知道崩溃所在函数3、 可以设置断点,在希望设置断点的地方加入 _ASM int 34、 可以通过编译时的汇编程序看出5、 采用第三方工具在C+中extern c的作用1、 extern是C/C+语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用2、 被extern “C”修饰的变量和函数是按照C语言方式编译和连接的;临界区(Critical Section)、互斥量(Mutex)、信号量(Semaphore)、事件(Event)的区别1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。在任意时刻只允许一个线程对共享资源进行访问,如果有多个线程试图访问公共资源,那么在有一个线程进入后,其他试图访问公共资源的线程将被挂起,并一直等到进入临界区的线程离开,临界区在被释放后,其他线程才可以抢占。2、互斥量:采用互斥对象机制。 只有拥有互斥对象的线程才有访问公共资源的权限,因为互斥对象只有一个,所以能保证公共资源不会同时被多个线程访问。互斥不仅能实现同一应用程序的公共资源安全共享,还能实现不同应用程序的公共资源安全共享3、信号量:它允许多个线程在同一时刻访问同一资源,但是需要限制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年物联网初级工程师面试题预测与解析实战技巧
- 2025年专业进阶软件开发工程师考试强化训练题
- 【教案版】小学四班级上册 乒乓球2
- 2025年注册电气工程师考试模拟题及复习建议
- 2025年汽车销售与服务顾问招聘考试模拟题集及答题技巧
- 2025年小学特岗教师招聘考试复习手册及预测题
- 2025年IT企业招聘笔试技术预测试题及答案
- 2025年汽车销售顾问招聘笔试模拟题及答题技巧解析
- 2025年特岗教师招聘笔试初中语文模拟试题详解
- 2025年建筑工程师初级职称面试指南与模拟题解析
- 玻璃吊装免责协议合同
- 2025-2030中国雪茄和雪茄行业市场发展趋势与前景展望战略研究报告
- 非麻醉医师实施口腔诊疗适度镇静-镇痛专 家共识
- Unit11Rulesmatter大单元整体教学设计仁爱科普版(2024)七年级英语下册
- 500强企业管理制度
- 2025年执业医师考试全真试题及答案
- 模块化建筑扩展单元行业跨境出海战略研究报告
- 2024年惠州市第二人民医院高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 《电力安全工作规程DLT408-2023》知识培训
- 《建筑构造》课件(第2章-墙体)
- 中华民族共同体概论专家讲座第一讲中华民族共同体基础理论
评论
0/150
提交评论