2023年深信服科技校園招聘筆試題_第1頁
2023年深信服科技校園招聘筆試題_第2頁
2023年深信服科技校園招聘筆試題_第3頁
2023年深信服科技校園招聘筆試題_第4頁
2023年深信服科技校園招聘筆試題_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

深信服科技2023校園招聘筆試題選擇題(單選多選都有,每題2分,時間:120分鐘)1.正則表達式(a|b)+[0-9]*c可匹配下列哪些字符串?()A.abacB.90cC.aba10cD.ac2.已知a,b都是double類型,下列哪些判斷a,b相等的方法是對的的?()A.a==bB.fabs(a-b)<DBL_EPSILONC.fabs(a-b)<=FLT_EPSILOND.fabs(a-b)<=DBL_EPSILONE.fabs(a-b)<FLT_EPSILON3.下列哪些是也許引起錯誤的代碼?()A.charc=233;tables[c]=c;? B.#defineequal(a,b)a==b;inta=3,b=7;printf(“a&3%sb&3\n”,equal(a&3,b&3)?“==”:“!=”);C.已知Derived是Base的派生類Base*p=newDerived;delete(Derived*)p;D.std::stringstr1(“hello”),str2;memcpy(&str2,&str1,sizeof(str1));4.下列哪些指令執(zhí)行之后,標志寄存器的ZF一定會置位為1?()A.XOREAXEAXB.CMPEAXEAXC.MOVEAX0HD.TESTEAXEAX5.下列哪些數(shù)據(jù)結構最適合醫(yī)療儀器設備中的大型數(shù)據(jù)量插入、查找?()A.數(shù)組B.哈希表C.紅黑樹/二叉平衡樹D.鏈表6.下列哪些排序算法的平均時間復雜度是O(Nlog2N)(),哪些是穩(wěn)定排序()A.冒泡排序B.希爾排序C.快速排序D.插入排序E.堆排序7.下列哪些說法是對的的:()A.二分查找法在一個長度為1000的有序整數(shù)數(shù)組查找一個整數(shù),比較次數(shù)不超過100次B.在二叉樹中查找元素的時間復雜度為O(log2N);C.對單向鏈表,可以使用冒泡法排序;D.對雙向鏈表,可以使用快速排序.8.已知Derived是Base的派生類,且Base、Derived都有缺省構造函數(shù),Base有個成員函數(shù)fool,原型為:voidBase::fool(),Derived有個成員函數(shù)foo2,原型為:voidDerived::foo2().請問下述哪些代碼是可以正常編譯通過的?()A.Derived*p=newBase;B.Base*p=newDerived;C.void(Derived::*pfn)()=&Base::foo1;D.void(Base::*pfn)()==&Derived::foo2;9.下列哪些函數(shù)調用之后,buf一定是以’\0’結束(假設src是字符串,buf足夠長):()A.memcpy(buf,src,strlen(src));B.strcpy(buf,src);C.strncpy(buf,src,strlen(src));D.strcat(yī)(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分)下列程序的運營結果是:_________voidfun(int*pa,int&b,intc){ *pa=5;? b=5;? c=5;}intmain(){? inta=1;??intb=2; ?intc=3;? fun(&a,b,c);??printf(“%d%d%d\n”,a,b,c); ?return0;}數(shù)值轉換:十進制123轉成十六進制_______十六進制F3轉成十進制______八進制456轉成十六進制______位運算(32位X86平臺)0x321&0x2f=______0x321^0x3f=______~0x321=______調用printf函數(shù)可以分解為九個過程,請寫出它們的排列順序_________call指令EBP出棧函數(shù)參數(shù)壓棧收回局部變量空間在棧上保存局部變量空間EBP壓棧函數(shù)參數(shù)出棧ret指令打印輸出字符串請?zhí)舫鱿率龃a執(zhí)行過程中會發(fā)生的事件,并按順序排列______structBase{ ?intval; ?Base():val(0){} ?~Base();};structDerived:publicBase{? Derived(){} ~Derived(){}};Base*p=newDerived;deletep;下列代碼的運營結果是:______structFoo{ Foo(constchar*name,int*p):m_name(name),m_p(p) {???printf(“%s:%d”,name,++*p);}~Foo(){?printf(“%s:%d”,m_name,--*p);}constchar*m_name;int*m_p;};voidfun(int*p){ Fooa(“a”,p); ?newFoo(“b”,p);}?intmain(){ inta=1; fun(&a); printf(“%d\n”,a);?return0;}輸出結果a:2b:3a:22用new創(chuàng)建的對象必須要用delete才銷毀不然不會調用對象析構函數(shù)若改程序:voidfun(int*p){ Fooa(“a”,p); Foo*b=newFoo(“b”,p);Deleteb;}則程序輸出為:a:2b:3b:2a:11下列程序的運營結果是______intmain(){?inta[5][2]={? 0,1,2,3,4,5,6,7,8,9 };?int*p=a[0];?int(*p2)[2]=&a[1];?++p;?++p2; printf("%d",*p);1?printf("%d",**p2);4?printf("%d",p2[1][2]);832位X86平臺,4字節(jié)對齊,下列代碼的執(zhí)行結果是:______unionuni{? struct{ ?char*p1; ?intn2;? ?charc;}s1;struct{?intn3;?char*p4;}s2;};intmain(){? unionuniu;??printf(“%d%d%d%d\n”,sizeof(u),sizeof(&u),(int*)&u.s2.p4-(int*)&u.s1.p1,(char*)&u.s2.n3–(char*)&u.s1.p1): ?return0;}將C語言表達式a*(b-c)/d+e轉成后綴表達式是______已知某二叉樹的后序遍歷是DFBEGCA,中序遍歷的順序是DBFACEG,其前序遍歷順序是______代碼補全題(每空1分,共15分)下述函數(shù)的作用是:消除字符串首尾空白符(僅指跳格符和空格符),中間出現(xiàn)的連續(xù)空白符合并為一個空格,請補充其中缺失的行。#defineISWHITE(x)(__________________________________)voidtrim(char*pStr)

{ ?char*pR=pStr;??char*pW=pStr;??while(ISWHITE(*pR))? { ?++pR;}??for(;;){?while(________________)?{? *pW++=*pR++; ?If(*pR==‘\0’) ??break;}while(________________)?{? ++pR; If(*pR==‘\0’)? break;}__________________;}____________________;}下列代碼將兩個有序鏈表接合為一個,鏈表中的元素的排列順序為從大到小。請補充其中的空缺。structnode{ structnode*pnext; Intval;};structnode*splice(structnode*plhs,structnode*prhs){ if(_____________) returnprhs?prhs:plhs; structnode*phead,*plast; if(_____________){? phead=plast=plhs; ?plhs=plhs->pnext;}else{?phead=plast=prhs;?prhs=prhs->pnext;}while(_____________){ if(plhs->val<prhs->val) {??plast->pnext=plhs; ?plast=plhs; plhs=plhs->pnext;}else{ plast->pnext=prhs;??plast=prhs; prhs=prhs->pnext;}}plast->pnext=_______________;return___________________;}一個正整數(shù)n,可以分解為多個小于等于n的正整數(shù)的和,表達式右部的各個正整數(shù)規(guī)定都是2的冪,例如給定正整數(shù)4、7,它們可以分解得到如下表達式:4=1+1+1+1? ?7=1+1+1+1+1+1+14=1+1+2 ?? 7=1+1+1+1+1+24=2+2? ? 7=1+1+1+2+24=4 ??? ?7=1+1+1+4? ?? ? 7=1+2+2+2? ?? ? 7=1+2+4因此,正整數(shù)4、7可以得到的表達式個數(shù)分別是4個和6個,下列程序可以計算給定正整數(shù)n(0<n<10000)的和式個數(shù),請補充其中空缺。__int64calc(intn){?inti; intsize=________________; __int64*w=(__int64*)malloc(size);?if(!w)??abort():?__int64ret=0;?___________; ___________;?for(i=3;i<=n;i++) {? if(i%2) ?w[i]=_________;??else?? w[i]=_________; } ?ret=w[n];??free(w);??returnret;}問答題(每題5分,共25分)下列代碼盼望輸出結果是1111,請找出fun1….fun4中存在的問題,并簡樸說明因素:int*fun1(inta){問題1:返回局部變量的地址問題2第二次調用時將覆蓋第一次的結果所以等到的是0intret=a;Return&ret;}int*fun2(inta){int*p=(int*)malloc(sizeof(int));可以得到1但是沒有釋放在堆中分派的內存*p=a;returnp;}int*fun3(inta){等到的是0由于靜態(tài)局部變量只在第一次調用時分派空間初始化一次,以后調用孔用此空間stat(yī)icintret;staticinta=5;這個是初始化a=6這個是賦值ret=a;return&ret;}int*fun4(inta){return&a;}intmain(){printf(“%d”,*fun1(2)-*fun1(1));printf(“%d”,*fun2(2)-*fun2(1));printf(“%d”,*fun3(2)-*fun3(1));printf(“%d”,*fun4(2)-*fun4(1));return0;}怎么查找產生內存泄漏的代碼位置,請至少寫出三種不同類型的方法:C語言中的main函數(shù)的返回值有什么作用?如何通過C代碼取得該返回值?main函數(shù)的返回值類型必須是int,這樣返回值才干傳遞給操作系統(tǒng)。假如main函數(shù)的最后沒有寫return語句的話,C99規(guī)定編譯器要自動在生成的目的文獻中(如exe文獻)加入return0,表達程序正常退出。但是,我還是建議你最佳在main函數(shù)的最后加上return語句,雖然沒有這個必要,但這是一個好的習慣。注意,vc6不會在生成的目的文獻中加入return0,大約是由于vc6是98年的產品,所以才不支持這個特性?,F(xiàn)在明白我為什么建議你最佳加上intmain()返回整數(shù)(通常和return0)連用,返回0,告訴系統(tǒng)程序正常終止,返回非零值告訴系統(tǒng)程序異常關閉.打開附件里的“命令提醒符”,在命令行里運營剛才編譯好的可執(zhí)行文獻,然后輸入“echo%ERRORLEVEL%”,回車,就可以看到程序的返回值為0。假設剛才編譯好的文獻是a.exe,假如輸入“a&&dir”,則會列出當前目錄下的文獻夾和文獻。但是假如改成“return-1”,或者別的非0值,重新編譯后輸入“a&&dir”,則dir不會執(zhí)行。由于&&的含義是:假如&&前面的程序正常退出,則繼續(xù)執(zhí)行&&后面的程序,否則不執(zhí)行。也就是說,運用程序的返回值,我們可以控制要不要執(zhí)行下一個程序。這就是intmain的好處。假如你有愛好,也可以把main函數(shù)的返回值類型改成非int類型(如float),重新編譯后執(zhí)行“a&&dir”,看看會出現(xiàn)什么情況,想想為什么會出現(xiàn)那樣的情況。順便提一下,假如輸入a||dir的話,則表達假如a異常退出,則執(zhí)行dir漢諾塔問題:有A、B

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論