面試常考的幾個題

2021-08-09 07:53:05 字數 4718 閱讀 2316

管道( pipe ):管道是一種半雙工的通訊方式,資料只能單向流動,而且只能在具有親緣關係的程序間使用。程序的親緣關係通常是指父子程序關係。

有名管道 (named pipe): 有名管道也是半雙工的通訊方式,但是它允許無親緣關係程序間的通訊。

訊號量( semophore ): 訊號量是乙個計數器,可以用來控制多個程序對共享資源的訪問。它常作為一種鎖機制,防止某程序正在訪問共享資源時,其他程序也訪問該資源。因此,主要作為程序間以及同一程序內不同執行緒之間的同步手段。

訊息佇列( message queue ): 訊息佇列是由訊息的鍊錶,存放在核心中並由訊息佇列識別符號標識。訊息佇列克服了訊號傳遞資訊少、管道只能承載無格式位元組流以及緩衝區大小受限等缺點。

訊號 ( sinal ): 訊號是一種比較複雜的通訊方式,用於通知接收程序某個事件已經發生。

共享記憶體( shared memory ):共享記憶體就是對映一段能被其他程序所訪問的記憶體,這段共享記憶體由乙個程序建立,但多個程序都可以訪問。共享記憶體是最快的 ipc 方式,它是針對其他程序間通訊方式執行效率低而專門設計的。它往往與其他通訊機制,如訊號兩,配合使用,來實現程序間的同步和通訊。

套接字( socket ): 套解口也是一種程序間通訊機制,與其他通訊機制不同的是,它可用於不同及其間的程序通訊。

tcp/ip是個協議組,可分為三個層次:網路層、傳輸層和應用層。

網路層有ip協議、icmp協議、arp協議、rarp協議和bootp協議。

傳輸層中有tcp協議與udp協議。

應用層有ftp、http、telnet、smtp、dns等協議。

因此,http本身就是乙個協議,是從web伺服器傳輸超文字到本地瀏覽器的傳送協議。

一群人開舞會,每人頭上都戴著一頂帽子。帽子只有黑白兩種,黑的至少有一頂。每個人都能看到其它人帽子的顏色,卻看不到自己的。主持人先讓大家看看別人頭上戴的是什麼帽子,然後關燈,如果有人認為自己戴的是黑帽子,就打自己乙個耳光。第一次關燈,沒有聲音。於是再開燈,大家再看一遍,關燈時仍然鴉雀無聲。一直到第三次關燈,才有劈劈啪啪打耳光的聲音響起。問有多少人戴著黑帽子?

解:三個人

1. 若是兩個人,設a、b是黑帽子,第二次關燈就會有人打耳光。原因是a看到b第一次沒打耳光,就知道b也一定看到了有帶黑帽子的人,可a除了知道b帶黑帽子外,其他人都是白帽子,就可推出他自己是帶黑帽子的人!同理b也是這麼想的,這樣第二次熄燈會有兩個耳光的聲音。

2. 如果是三個人,a,b,c. a第一次沒打耳光,因為他看到b,c都是帶黑帽子的;而且假設自己帶的是白帽子,這樣只有bc戴的是黑帽子;按照只有兩個人帶黑帽子的推論,第二次應該有人打耳光;可第二次卻沒有。。。於是他知道b和c一定看到了除bc之外的其他人帶了黑帽子,於是他知道bc看到的那個人一定是他,所以第三次有三個人打了自己乙個耳光

s先生、p先生、q先生他們知道桌子的抽屜裡有16張撲克牌:紅桃a、q、4黑桃j、8、4、2、7、3草花k、q、5、4、6方塊a、5。約翰教授從這16張牌中挑出一張牌來,並把這張牌的點數告訴p先生,把這張牌的花色告訴q先生。這時,約翰教授問p先生和q先生:你們能從已知的點數或花色中推知這張牌是什麼牌嗎?於是,s先生聽到如下的對話:p先生:我不知道這張牌。q先生:我知道你不知道這張牌。p先生:現在我知道這張牌了。q先生:我也知道了。聽罷以上的對話,s先生想了一想之後,就正確地推出這張牌是什麼牌。請問:這張牌是什麼牌?

解:方塊 5

p知道點數卻不知道是哪張牌,那麼就去掉點數不重複的 j、8、2、7、3、k、6.剩下:

紅桃 a、q、4

黑桃 4

草花 q、5、4、

方塊 a、5

然後,q知道花色,並且知道p不知道是哪張牌,那麼就排除含有只出現一次數的花色:黑桃、草花.剩下:

紅桃 a、q、4

方塊 a、5

然後,p知道點數的,聽q說「我知道你不知道這張牌.」就知道了是哪張牌,所以絕不可能是點數重複的a.於是剩下:

紅桃:q、4

方塊:5

最後,q聽p這麼說(p知道點數,而q又可以確定花色),那麼只能是方塊5

乙個教授邏輯學的教授,有三個學生,而且三個學生均非常聰明!一天教授給他們出了乙個題,教授在每個人腦門上貼了一張紙條並告訴他們,每個人的紙條上都寫了乙個正整數,且某兩個數的和等於第三個!(每個人可以看見另兩個數,但看不見自己的)教授問第乙個學生:你能猜出自己的數嗎?回答:不能,問第二個,不能,第三個,不能,再問第乙個,不能,第二個,不能,第三個:我猜出來了,是144!教授很滿意的笑了。請問您能猜出另外兩個人的數嗎?

解:經過第一輪,說明任何兩個數都是不同的。第二輪,前兩個人沒有猜出,說明任何乙個數都不是其它數的兩倍。現在有了以下幾個條件:1.每個數大於02.兩兩不等3.任意乙個數不是其他數的兩倍。每個數字可能是另兩個之和或之差,第三個人能猜出144,必然根據前面三個條件排除了其中的一種可能。假設:是兩個數之差,即x-y=144。這時1(x,y>0)和2(x!=y)都滿足,所以要否定x+y必然要使3不滿足,即x+y=2y,解得x=y,不成立(不然第一輪就可猜出),所以不是兩數之差。因此是兩數之和,即x+y=144。同理,這時1,2都滿足,必然要使3不滿足,即x-y=2y,兩方程聯立,可得x=108,y=36。

這兩輪猜的順序其實分別為這樣:第一輪(一號,二號),第二輪(三號,一號,二號)。這樣分大家在每輪結束時獲得的資訊是相同的(即前面的三個條件)。

那麼就假設我們是c,來看看c是怎麼做出來的:c看到的是a的36和b的108,因為條件,兩個數的和是第三個,那麼自己要麼是72要麼是144(猜到這個是因為72的話,108就是36和72的和,144的話就是108和36的和。這樣子這句話看不懂的舉手):

假設自己(c)是72的話,那麼b在第二回合的時候就可以看出來,下面是如果c是72,b的思路:這種情況下,b看到的就是a的36和c的72,那麼他就可以猜自己,是36或者是108(猜到這個是因為36的話,36加36等於72,108的話就是36和108的和):

如果假設自己(b)頭上是36,那麼,c在第一回合的時候就可以看出來,下面是如果b是36,c的思路:這種情況下,c看到的就是a的36和b的36,那麼他就可以猜自己,是72或者是0(這個不再解釋了):

如果假設自己(c)頭上是0,那麼,a在第一回合的時候就可以看出來,下面是如果c是0,a的思路:這種情況下,a看到的就是b的36和c的0,那麼他就可以猜自己,是36或者是36(這個不再解釋了),那他可以一口報出自己頭上的36。(然後是逆推逆推逆推),現在a在第一回合沒報出自己的36,c(在b的想象中)就可以知道自己頭上不是0,如果其他和b的想法一樣(指b頭上是36),那麼c在第一回合就可以報出自己的72。現在c在第一回合沒報出自己的36,b(在c的想象中)就可以知道自己頭上不是36,如果其他和c的想法一樣(指c頭上是72),那麼b在第二回合就可以報出自己的108。現在b在第二回合沒報出自己的108,c就可以知道自己頭上不是72,那麼c頭上的唯一可能就是144了。

第一間是黃房子,挪威人住,喝礦泉水,抽dunhill香菸,養貓;

第二間是藍房子,丹麥人住,喝茶,抽混合煙,養馬;

第三間是紅房子,英國人住,喝牛奶,抽pall mall煙,養鳥;

第四間是綠房子,德國人住,喝咖啡,抽prince煙,養貓、馬、鳥、狗以外的寵物;

第五間是白房子,瑞典人住,喝啤酒,抽blue master煙,養狗。

5個人來自不同地方,住不**子,養不同動物,吸不同牌子香菸,喝不同飲料,喜歡不同食物。根據以下線索確定誰是養貓的人。

1. 紅房子在藍房子的右邊,白房子的左邊(不一定緊鄰)

2. 黃房子的主人來自香港,而且他的房子不在最左邊。

3. 愛吃比薩的人住在愛喝礦泉水的人的隔壁。

4. 來自北京的人愛喝茅台,住在來自上海的人的隔壁。

5. 吸希爾頓香菸的人住在養馬人的右邊隔壁。

6. 愛喝啤酒的人也愛吃雞。

7. 綠房子的人養狗。

8. 愛吃麵條的人住在養蛇人的隔壁。

9. 來自天津的人的鄰居(緊鄰)乙個愛吃牛肉,另乙個來自成都。

10.養魚的人住在最右邊的房子裡。

11.吸萬寶路香菸的人住在吸希爾頓香菸的人和吸「555」香菸的人的中間(緊鄰)

12.紅房子的人愛喝茶。

13.愛喝葡萄酒的人住在愛吃豆腐的人的右邊隔壁。

14.吸紅塔山香菸的人既不住在吸健牌香菸的人的隔壁,也不與來自上海的人相鄰。

15.來自上海的人住在左數第二間房子裡。

16.愛喝礦泉水的人住在最中間的房子裡。

17.愛吃麵條的人也愛喝葡萄酒。

18.吸「555」香菸的人比吸希爾頓香菸的人住的靠右

答案:

第一間是蘭房子,住北京人,養馬,抽健牌香菸,喝茅台,吃豆腐;

第二間是綠房子,住上海人,養狗,抽希爾頓,喝葡萄酒,吃麵條;

第三間是黃房子,住香港人,養蛇,抽萬寶路,喝礦泉水,吃牛肉;

第四間是紅房子,住天津人,抽555,喝茶,吃比薩;

第五間是白房子,住成都人,養魚,抽紅塔山,喝啤酒,吃雞。

有5個囚犯(a、b、c、d、e),在裝有100顆綠豆的麻袋裡抓綠豆,規定每人至少抓一顆,而抓的最多和最少的人將被處死,而且、他們之間不能交流,但在抓的時候,可以摸出剩下的豆子數.問他們中誰的存活機率最大?

面試常考 HTML5常考面試題

1.doctype的作用是什麼?doctype宣告用於告訴瀏覽器使用哪種模式來進行html文件解析。doctype宣告有兩種 標準模式和怪異模式 混雜模式 doctype不存在或形式不正確會導致html文件以混雜模式呈現。標準模式與混雜模式的區別請參考第3道面試題。2.img標籤的alt屬性和tit...

校招面試常考演算法題總結

一面 演算法題 旋轉陣列查詢target的開始和結束索引 lc 二分搜尋經典題目 最直觀的做法是兩次二分,第一次二分先找到分界點,第二次二分找到開始和結束 演算法題1 排序陣列有重複,旋轉之後查詢 lc 劍指offer原題 演算法題2 二維陣列左到右上到下非遞增,查詢元素,注意陣列維度很大時要使用二...

C 面試常考的兩道題

1.說明一下const和readonly的區別 區別有兩點 1.const是乙個確定的值,不可以修改,適用於自然常量,如pi,如 系統引數配置 readonly可以在執行時修改,比如在建構函式裡可以修改。2.const修飾的是變數,readonly修飾的是字段。2.說說using的用法 1.最常見到...