2023創(chuàng)新工場(chǎng)校園招聘筆試題_第1頁(yè)
2023創(chuàng)新工場(chǎng)校園招聘筆試題_第2頁(yè)
2023創(chuàng)新工場(chǎng)校園招聘筆試題_第3頁(yè)
2023創(chuàng)新工場(chǎng)校園招聘筆試題_第4頁(yè)
2023創(chuàng)新工場(chǎng)校園招聘筆試題_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2023創(chuàng)新工場(chǎng)校園招聘筆試題第一局部單項(xiàng)選擇題1,以下關(guān)于面向?qū)ο蟮拿枋鲥e(cuò)誤的是:A:面向?qū)ο蟮母咎匦允欠庋b,繼承和多態(tài)B,構(gòu)造函數(shù)不可以是虛函數(shù),析構(gòu)函數(shù)可以是虛函數(shù)C,子類(lèi)重新定義父類(lèi)虛函數(shù)的方法叫做重載D,多態(tài)是為了接口重用,封裝和繼承是為了代碼重用2,在分時(shí)操作系統(tǒng)中,進(jìn)程調(diào)度采用〔〕算法A,先來(lái)先效勞〔用于作業(yè),進(jìn)程調(diào)度〕B,最到優(yōu)先權(quán)〔批處理系統(tǒng)多用,也可用于實(shí)時(shí)系統(tǒng)〕C,時(shí)間片輪轉(zhuǎn)〔分時(shí)系統(tǒng)多用〕D,隨機(jī)3,以下哪個(gè)字符串不能被正那么表達(dá)式a(bc?)d匹配到?A,abcB,abdC,abcD,acd4,以下關(guān)于多線程的表達(dá)錯(cuò)誤的是:A,線程同步的方法包括使用臨界區(qū),互斥量,信號(hào)量等B,兩個(gè)線程同時(shí)對(duì)簡(jiǎn)單類(lèi)型全局變量進(jìn)行寫(xiě)操作也需要互斥C,實(shí)現(xiàn)可重入函數(shù)時(shí),對(duì)自動(dòng)變量也要用互斥量加以保護(hù)D,可重入函數(shù)不可以調(diào)用不可重入函數(shù)5,以下哪種排序是不穩(wěn)定排序:A,冒泡B,插入排序C,歸并排序D,快速排序6,假設(shè)串=’software’,其子串?dāng)?shù)目為:A,8,B,37C,36,D,97,某系統(tǒng)中有3個(gè)并發(fā)進(jìn)程,都需要同類(lèi)資源4個(gè),試問(wèn)該系統(tǒng)不會(huì)發(fā)生死鎖的最少資源數(shù)是:A,9,B,10,C,11D,128,HASH函數(shù)沖突處理方式不包括以下哪一項(xiàng):A,開(kāi)放定址法B,鏈地址法C,插入排序法D,公共溢出區(qū)發(fā)9,有ABCDEF六個(gè)城市,每一個(gè)城市都和其他所有城市直接相連,問(wèn)從A——B有多少種連接方式,路徑不允許在兩個(gè)城市之間往返A(chǔ),78,B,65,C43,D,以上都錯(cuò)10,,100101110換算成十進(jìn)制應(yīng)該是:1.求兩個(gè)大于2的31次方的整數(shù)的乘機(jī),只能使用32位整數(shù)且給出精確結(jié)果。答案:1.定義三個(gè)int數(shù)組a,b,c;存放2個(gè)乘數(shù)和最后的乘積。將十進(jìn)制的兩個(gè)數(shù)存放在a,b中,然后用一個(gè)嵌套循環(huán)將a[]b[]按位相乘,將結(jié)果放到c[]中相應(yīng)的位置上,再進(jìn)行一些進(jìn)位的簡(jiǎn)單處理就可得到最終結(jié)果。(譬如99*99,那么a[0]=9,a[1]=9,b[0=9],b[1]=9;那么第一步a[0]*b[0]=81放入c[0]和c[1]中,c[0]=1,c[1]=8;a[0]*b[1]=81,放入c[1]和c[2]中,那么c[1]=8+1=9,c[2]=8;以此類(lèi)推)2.一篇文章有n〔10<n<100〕個(gè)段落,第i個(gè)段落有number[i]個(gè)單詞,設(shè)計(jì)算法,不得調(diào)用庫(kù)函數(shù),找出第m個(gè)單詞屬于第幾個(gè)段落,查詢共有k〔k>10000〕次,說(shuō)明時(shí)間復(fù)雜度?!捕温渚幪?hào)從0開(kāi)始〕答案:1,.定義一個(gè)線性表,下標(biāo)是單詞個(gè)數(shù),內(nèi)容是該單詞所屬的段落,這樣直接查詢線性表第m位置的內(nèi)容,時(shí)間復(fù)雜度為O(1),不過(guò)單詞數(shù)多消耗空間大。或者用二分查找,定義一個(gè)數(shù)組,下標(biāo)為段落,內(nèi)容為該段落以及之前段落所有單詞數(shù)量總和,時(shí)間復(fù)雜度O〔log2n〕,空間占用低。2,List<Integer>wordToPara=newArrayList<Integer>();intp=0;

for(inti=0;i<n;i++){

for(intj=0;j<number[i];j++){wordToPara[p]=i;

p++;

}

}intwhichWord=scanner.nextInt();(wordToPara.get(whichWord));預(yù)處理:時(shí)間復(fù)雜度:?jiǎn)卧~總個(gè)數(shù)查詢:時(shí)間復(fù)雜度:O(1)空間復(fù)雜度:?jiǎn)卧~總個(gè)數(shù)。3.A,B,C,D,E五個(gè)人捕魚(yú)后已凌晨,大家便睡覺(jué)。早上A第一個(gè)醒來(lái),將魚(yú)均分成五份,把多余的一條魚(yú)扔掉,拿走自己的一份,B第二個(gè)醒來(lái),也將魚(yú)均分為五份,把多余的一條魚(yú)扔掉,拿走自己的一份。CDE依次醒來(lái),也按同樣的方法拿魚(yú),問(wèn)他們合伙至少捕了幾條魚(yú)。答案:1,.總共6條魚(yú)往上窮舉。2,暴力破解的至少要3121魚(yú)最初有3121條魚(yú)第1個(gè)人丟掉了1條魚(yú),剩余3120條魚(yú),分成5份,每份624條,他拿走了624條,剩余2496條第2個(gè)人丟掉了1條魚(yú),剩余2495條魚(yú),分成5份,每份499條,他拿走了499條,剩余1996條第3個(gè)人丟掉了1條魚(yú),剩余1995條魚(yú),分成5份,每份399條,他拿走了399條,剩余1596條第4個(gè)人丟掉了1條魚(yú),剩余1595條魚(yú),分成5份,每份319條,他拿走了319條,剩余1276條第5個(gè)人丟掉了1條魚(yú),剩余1275條魚(yú),分成5份,每份255條,他拿走了255條,剩余1020條

publicclassDividingFish{

publicstaticvoidmain(String[]args){intbegin=1;intmans=5;intbeforeDivide=0;inteach=begin;

while(mans>1){beforeDivide=each*5+1;

if(beforeDivide%4==0){

mans--;

each=beforeDivide/4;

}

else{

mans=5;

begin+=2;

each=begin;

}

}("至少要"+(beforeDivide*5/4+1)+"魚(yú)");displayDividing(beforeDivide*5/4+1);

}

publicstaticvoiddisplayDividing(intfishnum){("最初有"+fishnum+"條魚(yú)");

for(inti=1;i<=5;i++){("第"+i+"個(gè)人丟掉了1條魚(yú),"+

"剩余"+(fishnum-1)+"條魚(yú),"+

"分成5份,每份"+(fishnum-1)/5+"條,"+

"他拿走了"+(fishnum-1)/5+"條,"+

"剩余"+(fishnum-1)/5*4+"條");fishnum=(fishnum-1)/5*4;}

}

}3,classDiv{

publicstaticvoidmain(String[]args){intf=6;intp=5;booleanbingo=false;

do{inti=f,j=1;

for(;j<=p;j++){

if((i-1)%p!=0){

f++;

break;

}else{i=(i-1)*(p-1)/p;

}

}

if(j==p+1)

bingo=true;

}while(!bingo);(f);

}

}4,publicclasstest3{

publicstaticvoidmain(String[]args){intx=6;

while(!Num(x)){

x++;

}(x);

}

publicstaticbooleanNum(intn){intk=n;

for(inti=0;i<5;i++){

if((k-1)%5==0&&k>5){k=((k-1)/5*4);

}

else{returnfalse;}

if(i==4&&k>5)returntrue;

}

returnfalse;

}

}輸出:31215,package;

publicclassFish{

publicstaticvoidmain(String[]args){(getFish(5));

}

publicstaticintgetFish(intm){intnums=6;

while(true){

if(isOK(nums,m)){

break;

}nums++;

}

returnnums;

}

privatestaticbooleanisOK(intnums,intm){

if(m==0){

returntrue;

}

if(nums%5!=1){

returnfalse;

}else{nums=nums-(nums-1)/5-1;

returnisOK(nums,m-1);

}

}

}

result:31216,兩種思路,一種從初始總魚(yú)數(shù)開(kāi)始枚舉,另一種從最后剩下的魚(yú)數(shù)開(kāi)始枚舉。第一種從6開(kāi)始遞增,步進(jìn)值為5〔至少要過(guò)了第一次劃分〕;第二種從4開(kāi)始遞增,步進(jìn)值為4〔同理,剩下的是四份,需要被4整除〕。7,我說(shuō)下我的思路吧,我首先用暴力破解,得出結(jié)果是3121,然后又試著分析了一下,發(fā)現(xiàn)可以從不同的角度以很簡(jiǎn)單的方法解出這道題。假設(shè)最后e分后還剩x條魚(yú),那么d拿魚(yú)后,還剩5/4x+1,那么c分后還剩5/4(5/4x+1),...依些類(lèi)推,可以推出a分之前的總魚(yú)數(shù)為pow(5/4,5)x+pow(5/4,4)+pow(5/4,3)+...+1;后面就是等比數(shù)列,可以手算,4*pow(5/4,5)-4;所以總結(jié)果為pow〔5/4,5〕*(x+4)-4,所以這個(gè)問(wèn)題在這里已經(jīng)水落石出了,就是求得x+4可以整除pow(4,5)的最小數(shù),pow(4,5)=1024,所以最后至少剩1024-4=1020條魚(yú),總的結(jié)果代入進(jìn)去即可,為pow(5,5)-4=3121條魚(yú)。8,publicclassFish{

publicstaticvoidmain(Stringargs[])

{intpersonNum=5;intfishNum=personNum+1;

while(true)

{inttempPersonNum=personNum;inttempFish=fishNum;

while(tempPersonNum>0)

{

if(tempFish<=personNum||tempFish%personNum!=1)

{fishNum+=1;

while(fishNum%personNum!=1)

{fishNum++;

}

break;

}tempFish-=(tempFish/personNum+1);tempPersonNum--;

}

if(tempPersonNum==0)

{

break;}

}(fishNum);

}

}9,c++版本:#include<iostream>intfish(inttotal_num);intmain()

{

std::cout<<"totalnumber="<<fish(1)<<std::endl;

return0;

}intfish(inttotal_num)

{inttmp_num=total_num;intman_num=5;

while(

溫馨提示

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

評(píng)論

0/150

提交評(píng)論