奇虎360 2013校園招聘筆試題

2021-06-27 10:25:52 字數 3659 閱讀 6031

分類: hiring written test

2013-08-18 09:26

1169人閱讀收藏 

舉報

我的答案與解析:

1. d  2. c  3. b  4. a  5. d  6. c  7. a

8. c

我們可以把12個雞蛋分成三堆,每堆4個。首先,我們命名那三堆分別叫a、b、c。

一、 如果a=b,表示壞的雞蛋在c裡面,我們命名c裡面的四個雞蛋分別為c1、c2、c3、c4。所以,如果想找到壞的雞蛋,即先從c挑出兩個(稱其為c1、c2)出來秤。

1. 若c1=c2,即表示壞的雞蛋在c3或c4中。

1)這時再挑出其中乙個(假設為c3)與a或者b中的任意乙個雞蛋秤。

如果等重,即表示c4是壞雞蛋;

若不等重,即表示c3是壞雞蛋。

2. 若c1不等於c2,即表示這兩個雞蛋有乙個是壞的。

2)這時挑c1與a或者b中的任意乙個雞蛋秤。

如果等重,即表示c2是壞雞蛋;

如果不等重,即表示c1是壞雞蛋。

二、 如果a不等於b,即表示壞雞蛋在a或者b中。所以,我們可以先將a分成兩堆,再進行秤。如果等重,表示壞雞蛋在b中。如果不等重,表示壞雞蛋在a中。如果要在3次成功找到壞雞蛋,此時只有一次可以測量的機會了,且不知道壞雞蛋的輕重,故怎麼分是個重要的課題。

首先,將a、b分別標號為a1、a2、a3、a4,及b1、b2、b3、b4。

再來,假設a>b(b>a情況一樣)。

1. 故若a1+a2+b1>a3+a4+b2,則有兩種可能。

1). a1+a2=a3+a4,而b1>b2,表示b含有壞雞蛋且較輕,故b2是壞雞蛋;

2). a1+a2>a3+a4,而b1=b2,表示a中含有壞雞蛋,且壞雞蛋較重,故a1或a2中其中乙個是壞雞蛋。

因此要將a1和a2秤重,若等重,即表示b2是壞雞蛋。若不等重,則較重者為壞雞蛋。

2. 若a1+a2+b1=a3+a4+b2,即表示壞雞蛋在b中且較輕。如此就只剩下b3和b4。再將b3和b4秤重,看哪個輕,即為壞雞蛋。

總之,秤重3次,第一次秤重a和b,當a與b不相等時,第二次秤重a1+a2+b1與a3+a4+b2,當a1+a2+b1與a3+a4+b2不相等時,第三次秤重a1與a2.

9. b  10. a  11.c  12.a  13.c  14.b  15.d  18.d  21.b

22.d

堆都是動態分配記憶體的,沒有靜態分配記憶體的;棧有兩種分配記憶體方式,動態和靜態。

23.c  24.a  25.c

26.c

[cpp]view plain

copy

#include 

using

namespace

std;  

intfoo(

int& nparam)  

intmain()  

if(ntom > ujerry)  

if(ntom == ujerry)  

cout/ 100

system("pause"

);  

return

0;  

}  

27.a

[cpp]view plain

copy

#include 

using

namespace

std;  

class

base  

~base()  

virtual

void

foo()  

};  

class

derived : 

public

base  

~derived()  

virtual

void

foo()  

};  

intmain()  

// base ctor.foo base.derived ctor.foo derived.base dtor.foo base.

因為有delete操作,所以會呼叫析構函式;又因為析構函式不是虛函式,所以只呼叫基類的析構函式。

28.c  29.c

30.c

[cpp]view plain

copy

#include 

using

namespace

std;  

unsigned short

hash1(unsigned 

short

key)  

intmain()    

31.b

位址匯流排決定邏輯記憶體大小;

32.d

33.a

fork系統呼叫產生乙個新的程序, 叫子程序, 是呼叫程序的乙個複製品. 呼叫程序叫父程序, 子程序繼承了父程序的幾乎所有的屬性:

. 實際uid,gid和有效uid,gid.

. 環境變數.

. 附加gid.

. 呼叫exec()時的關閉標誌.

. uid設定模式位元位.

. gid設定模式位元位.

. 程序組號.

. 會話id.

. 控制終端.

. 當前工作目錄.

. 根目錄.

. 檔案建立掩碼umask.

. 檔案長度限制ulimit.

. 預定值, 如優先順序和任何其他的程序預定引數, 根據種類不同決定是否可以繼承.

. 還有一些其它屬性.

但子程序也有與父程序不同的屬性:

. 程序號, 子程序號不同與任何乙個活動的程序組號.

. 父程序號.

. 子程序繼承父程序的檔案描述符或流時, 具有自己的乙個拷貝並且與父程序和其它子程序共享該資源.

. 子程序的使用者時間和系統時間被初始化為0.

. 子程序的超時時鐘設定為0.

. 子程序不繼承父程序的記錄鎖.

. pending signals 也不會被繼承。 

linux下fork的實現是copy-on-write,也就是子程序與父程序初始時只有頁表和task structure不同。

34.c  

當第乙個fork返回父程序號的時候,後面那個fork會執行;當第乙個fork返回子程序號的時候,後面那個fork不會執行。

35.沒有正確答案,應該是6次缺頁。  36.b  37.a  38.c  39.b  40.c  41.a  42.b  43.c  44.d  45.a

奇虎360 2015校園招聘筆試程式設計題

題目一 寫乙個函式,根據兩檔案的絕對路徑算出相對路徑。那麼b相對於a的相對路徑是 1 2 test.c include include int isgoodpath char path the relative path of b void parserelativepath char patha,...

奇虎360 2014校園招聘面試

面試地點 360大廈,酒仙橋路6號院2號樓 面試職位 伺服器端研發工程師 面試形式 一對一,聊天 寫 面試題目 1.c和c 堆和棧的區別 new和malloc的區別 free和delete如何知道應該釋放多少記憶體 寫個類a,宣告類a指標指向null,呼叫類a的方法會有什麼後果,編譯通過嗎?c 如何...

最強大腦 奇虎360 2017校園招聘筆試題

題目 最強大腦 時間限制 c c 語言 1000ms 其他語言 3000ms 記憶體限制 c c 語言 65536kb 其他語言 589824kb 題目描述 小b乘火車和朋友們一起在n市到m市之間旅行。她在路途中時睡時醒。當她醒來 窗外的風景時,注意到每個火車站都有一種特別顏色的旗幟,但是她看到的旗...