ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:79.24KB ,
资源ID:9420345      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9420345.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(往年的深信服笔试题齐全.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

往年的深信服笔试题齐全.docx

1、往年的深信服笔试题齐全往年的深信服笔试题(齐全)一,六道选择题 (可以多选) 1 char *p = hello world; p存储在()指向 /堆栈 char p = hello world; p存储在()指向 全局变量 /数据段 static变量 /数据段 分别在哪个地方? 1数据段 2代码段 3堆 4堆栈 (此题可以配合同文件夹下的char.cpp)(二、例子程序 这是一个前辈写的,非常详细 /main.cpp int a = 0; 全局初始化区 char *p1; 全局未初始化区 main() int b; 栈 char s = abc; 栈 char *p2; 栈 char *p3

2、 = 123456; 1234560在常量区,p3在栈上。 static int c =0; 全局(静态)初始化区 p1 = (char *)malloc(10); p2 = (char *)malloc(20); 分配得来得10和20字节的区域就在堆区。 strcpy(p1, 123456); 1234560放在常量区,编译器可能会将它与p3所指向的123456 优化成一个地方。 不知道是那个高人怎么想的和我一样,我估计中间应该有错误) int j,t; t=ai; (j=i-1;) while(j=0&taj) (aj+1=aj;) j-; (aj+1=t;) return 0;三,编程与

3、逻辑题1自己写一个strstr(单链表判断有无环,)char* strstr(char* buf, char* sub)char* bp;char* sp;If(!*sub)return buf;while(*buf)bf=buf;sp=sub;do if(!*sp)return buf;while(*bp+=*sp+)buf+=1;return 0;2遍历文本找单词并删掉出现频率最少的单词,fun (char* pText)#include#include/定义av_list、av_start、av_arg等宏3实现一个与printf功能相似的函数 #include#include#incl

4、ude#include/定义av_list、av_start、av_arg等宏/*此函数的作用:实现一个参数个数可变的函数,此函数的功能与printf类似,但在格式处理上,不如printf丰富无异常,返回一个true,否则返回falseformat字符串的合法情况如下:1.%zyk%zyk%,OUTPUT:%zyk%zyk%2.%dzyk%fzyk%s,OUTPUT:(int)zyk(float)zyk(string)3.zyk,OUTPUT:zyk非法情况如下:1.%zyk%ERROR:不存在%z格式、%后面必须跟一个格式字符*/boolzykPrintf(constchar*format,

5、.)/定义一个可用于指向参数的指针(实为char*),va_listargPtr;/把函数的第一个参数format的地址传给argPtrva_start(argPtr,format);constintsize=strlen(format)+1;char*tmp=newcharsize;memset(tmp,0,size);while(*format!=0)inti;for(i=0;isize&*format!=%&*format!=0;i+)tmpi=*format+;tmpi=0;/在有效的字符串末尾作0值防护printf(%s,tmp);if(*format=0)returntrue;sw

6、itch(*+format)/按指定类型读取下一个参数,并打印cased:printf(%d,va_arg(argPtr,int);break;cases:printf(%s,va_arg(argPtr,char*);break;casec:printf(%c,va_arg(argPtr,char);break;casef:printf(%f,va_arg(argPtr,float);break;/对%的处理case%:printf(%);break;/格式错误default:printf( ErrorOcurr!PleaseChecktheFormat!);returnfalse;+form

7、at;deletetmp;returntrue;intmain(intargc,char*argv)zykPrintf(%zyk);/errorzykPrintf(zyk%);/errorzykPrintf(%zyk%zyk%);/OUTPUT:%zyk%zyk%zykPrintf(nzykisaprettyboy!Hisageis%dand%s,5,Ilovezyk_!);getch();return0; 文章引用自: 4是一道逻辑题,有的数是2,3,5的倍数,在三位数中出去可整除这三个数的和 ( 5升和3升桶量4升水) 四,改错题三道1tozero算法2比较简单3是高质量里的一道题 五,问

8、答题1VC中有哪些方法避免C编程中的头文件重复包含:#ifndef !#def !#endif2在C+中extern c的作用(按键转换,比如点击p输出q)作为extern是C/C+语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。extern C是连接申明(linkage declaration),被extern C修饰的变量和函数是按照C语言方式编译和连接的3编程中异步IO和同步IO有什么区别?说说你可知道的几种IO?4使用异步socket编程,通常因为网络拥塞send不出数据,会获得什么样的错误码(windows下举例

9、),通常如何处理这种情况?(核心太与用户太的区别,x86如何转换。)5将程序移植到不同的32位cpu中,经常出现结构字节对齐和大小端的问题,有哪能些方法避免?(是子网源码的判断,计算,ABCDE网络的区别,DE网络的用途,)6怎样解决在vc中内存泄漏的问题(release版本)(1)放置关键字assert()(2)生成map文件。它并不往exe文件中添加任何东西,仅仅只是把编译连接时的所有函数入口地址记录在后缀为.map文件。程序崩溃的时候,可以得到一个崩溃时的EIP地址,通过地址可以很容易的查到崩溃所在的函数。(在vc setting下有个link按钮选上generate mapfile)(

10、3)Release版本也是可以设置断点的,在希望设置断点处加入_asm int 3(4)熟悉汇编,通过编译时的汇编看出(5)使用第三方调试器。(6)关掉发行版中的一些优化选项,生成调试信息。(是p2p软件在nat用户里实现数据互传的原理开发类笔试全部是C/C+,要求对底层有一定的了解开发类的笔试题目比较晕,共五页纸,要求两个钟头完成(我的简历没有通过筛选,我是去霸王笔的-_-)好像考的内容都跟网上流传的差不多,题目内容大致如下:希望对参加深信服笔试和面试的同学有所帮助:) 1.选择题:6题 第一题是考变量和值的存储位置(堆/栈/代码段/数据段等) 最后一题是Unix系统的启动顺序,其他几题比较

11、简单。 2.填空题:4/5题 考sizeof、指针、数制转换、排序等,看过高质量C/C+应该都没有问题。 3.改错题:3题 有道题跟高质量C/C+中一道指针题类似,不过那题中没有错,原本不需要修改,却反倒被我改错了,汗.另外两题比较简单。 4.编程题: 4/5题 判断链表有没有环(要求用两种方法); 实现C中的printf深圳某公司几个vc/mfc笔试题目(含参考答案)1:Release版本下如何解决memory leak 以及非法操作的BUG。(搞不清什么非法操作)2: 在异步socket时,为什么有时send不出数据,会报什么错误(分windows/linux下),你一般怎么处理? 下面是

12、几个编程的3:实现strstr模型 (我晕,我写了个函数,只是不是strstr,而是strchr)4: 实现printf类似的函数, void myprintf(char *str,.)(用console API吗?好像在哪书上看到可用那些API实现,嘿,我就写了个std:cout)5: 删除文本文件中出现频率最小的单词,(文件里以空格表示间隔一个单词)void func(char *pTxt)1、strstr的实现原型。char *my_strstr(const char *str, const char *strSearch)while (*str != 0)char *p = (char

13、 *)str;char *ps = (char *)strSearch;while ( ps & *p = *ps )p , ps ;if (0 = *ps)return (char *)str;str ;return NULL;2、从指定文本中删除出现频率最少的单词,如果有多个,则都删除。实现void func(char* pTxt)函数。. 看 单词处理, 论坛中很多都有涉及3、printf的实现。int printf(const char *format, .)va_list arglist;int buffing;int retval;va_start(arglist, format)

14、;_ASSERTE(format != NULL);#ifdef _MT_lock_str2(1, stdout);_try #endif /* _MT */buffing = _stbuf(stdout);retval = _output(stdout,format,arglist);_ftbuf(buffing, stdout);#ifdef _MT_finally _unlock_str2(1, stdout);#endif /* _MT */return(retval);4、VC中有哪些方法避免C编译头文件重复。(除了#ifndef/#define/#endif外,就想不出来了)#pr

15、agma once5、extern C的用法。用于 提供 C 接口, 如使用 C 命名方式 等 .6、异步socket编程中,send不出数据的错误码是什么,(举Linux或Windows为例),你是怎么处理的?非阻塞SOCKET,SEND不出数据的原因有2个吧,TCP下连接断开了和该SOCKET处在阻塞状态(也就是说在发送数据中)。UPD发不出只有TCP后面的情况。处理的办法就是记录下该SOCKET的状态,当状态为阻塞的时间,放入缓冲,当该SOCKET再次可写时,发送。7、异步IO和同步IO有什么区别?举例说明有几种(如read)?异步IO当函数返回时不一定就完成了IO操作,而同步IO已经完

16、成了。所以异步IO需要有一个事件,当IO完成时会设置此事件,调用者在事件上等待。8、32位系统中,出现结构字节对齐的问题和大小端的问题的避免?#pragma pack(4)9、如何查出内存泄漏和非法操作的BUG(在Release版本下)?使用map文件1, PostMessage只把消息放入队列,不管其他程序是否处理都返回,然后继续执行,这是个异步消息投放函数。而SendMessage必须等待其他程序处理消息完了之后才返回,继续执行,这是个同步消息投放函数。而且,PostMessage的返回值表示PostMessage函数执行是否正确;而SendMessage的返回值表示其他程序处理消息后的返

17、回值。这点大家应该都明白。 2, 如果在同一个线程内,PostMessage发送消息时,消息要先放入线程的消息队列,然后通过消息循环Dispatch到目标窗口。SendMessage发送消息时,系统直接调用目标窗口的消息处理程序,并将结果返回。SendMessage在同一线程中发送消息并不入线程消息队列。 如果在不同线程内。最好用PostThreadMessage代替PostMessage,他工作的很好。SendMessage发送消息到目标窗口所属的线程的消息队列,然后发送消息的线程等待(事实上,他应该还在做一些监测工作,比如监视QS_SENDMESSAGE标志),直到目标窗口处理完并且结果返

18、回,发送消息的线程才继续运行。这是SendMessage的一般情况,事实上,处理过程要复杂的多。比如,当发送消息的线程监测到有别的窗口SendMessage一个消息到来时,他直接调用窗口处理过程(重入),并将处理结果返回(这个过程不需要消息循环中GetMessage等的支持)。 3, msdn: If you send a message in the range below WM_USER to the asynchronous message functions (PostMessage, SendNotifyMessage, and SendMessageCallback), its m

19、essage parameters can not include pointers. Otherwise, the operation will fail.如果发送的消息码在WM_USER之下(非自定义消息)且消息参数中带有指针,那么PostMessage,SendNotifyMessage,SendMessageCallback这些异步消息发送函数将会调用失败。 最好不要用PostMessage发送带有指针参数的消息。PostMessage 和SendMessage的区别主要在于是否等待其他程序消息处理。PostMessage只是把消息放入队列,不管其他程序是否处理都返回,然后继续执行;而SendMessage必须等待其他程序处理消息后才返回,继续执行。这两个函数的返回值也不同,PostMessage的返回值表示PostMessage函数执行是否正确,而SendMessage的返回值表示其他程序处理消息后的返回值。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1