程序員面試智力題


1.撲克牌問題

問題:一付54張撲克牌,其中有十張是翻過來的。現在把你的眼睛蒙上(絕對沒有偷看的可能),讓你把撲克牌分成兩疊(兩疊的多少可以不一樣)。要求在兩疊中翻過來的撲克牌是相等的。請問該怎么做?除了撲克牌的數目,其它因數(撲克牌大小,重量,顏色,表面觸摸的感覺,等等)不參與題目之中。撲克牌可以任意次重新排序、翻轉。10張翻過來的撲克牌是隨機分布在撲克牌中。

答案:第一步,你在這54張牌中任意取出10張,現在,撲克牌分成了兩疊。44張和10張;第二步,44張那疊不動,將10張這疊每張都翻過來,便得到了符合條件的兩疊牌。

解釋:第一步之后,設44張那疊中正面牌x張,10張那疊中正面牌則為10-x張。第二步之后,44張那疊中正面牌保持x張,10張那疊反過來了:反面牌為10-x張,正面牌x張。

2.分金條問題

:有個商人雇用了一位手藝高超的工匠了為他做一個精致產品,工作一星期七天的代價是一條金條。商人手頭上有一條金條,剛好有可以付工匠一星期的工錢。但工匠要求工錢要按每天來付。雖然他並不急着用錢,每天有錢進賬,老人心里總是踏實一些。但商人家中有個規矩,金條每星期只能切二刀。后來商人想出以了個切割金條的辦法,滿足了工匠的要求。你知道商人是怎么切割金條才能滿足工匠的嗎?

答案:切成1、2、4。

解釋:這三個二進制數的組合能表示0-7中的任何一個。

3.送花瓶

問題:古時候有一位商人要讓伙計將一個精致的花瓶送到買主的手里。買主住在很遠的地方,路途中間要經過土匪出沒的地方。土匪要是見到花瓶就會搶走。但土匪不會打開鎖着的東西,只要把花瓶鎖在箱子里就可以安全地送到目的地(這土匪看起來還很文明)。所以商人准備了一個大箱子,在箱子上裝了個很大很結實的的鎖扣,足以掛幾把鎖。商人還准備了一把精致的鐵鎖將花瓶鎖在箱子里。這把鐵鎖的鑰匙是獨一無二的,沒有這把鑰匙,按照當時的技術箱子是絕對打不開的。但問題來了,土匪只要見到鑰匙就會沒收。鑰匙都是沒法安全地送到買主的手里的。買主也不能把自己的鎖送給賣主用。在幾經周折后,買主終於得到了他心愛的花瓶。請問這花瓶是如何送到買主的手里的?

這是一個故事,但故事里的技術是實在的,也確實運用到了如今的高科技中。在互聯網中怎樣將信息安全地送到目的地而不被黑客在中途截獲,也是成功地運用了類似的方法。你知道故事的答案嗎?

答案:1)、把花瓶鎖在箱子里(這把鎖只有商人能開,稱為“鎖1“),然后運到買主手里。2)、買主收到箱子后,在箱子上再加上自己的鎖(這把鎖只有買主能開,稱為“鎖2“),然后把箱子運回給商人。3)、商人收到箱子后,把鎖1找開拿走,這時候箱子上只剩下鎖2,然后把箱子運給買言。4)、買主收到箱子后, 打開鎖2,就成功拿到花瓶。

4.切蛋糕

問題描述:有一個長方形的蛋糕,中間已被挖去了一個長方形的坑。這長方形的坑不在蛋糕的中央,也不與蛋糕的周邊平行。兩位小朋友想平分這個蛋糕,請問如何一刀將但蛋糕分成兩個體積相等的部分?條件:只能切直的一刀,而且不能攔腰將蛋糕分成上下兩個部分(因為蛋糕上面有好吃的糖果。

答案:沿着兩個矩形的中心連線切下去即可。

解釋:兩份蛋糕圖形的面積相等,都等於大矩形面積的一半減去小矩形面積的一半。

5.iPhone 四位數密碼

問題描述:一個朋友打開了他的iPhone,我一把把它抓過來說:‘嗯,9、6、0,和1,對吧?’。因為有濃重的手指印在這四個數字上面,我正確地推定這與他的密碼相關。他嚇了一跳,因為如果我是一個賊,我可以很容易解開他的電話。因為所有的四個數字在四位數字代碼中只有一次出現(據我所知,這只有4 x 3 x 2 x 1 = 24種可能)。因而,取四個不同數字作代碼不是非常安全的。所以,當我設定密碼時,我選擇了重復的數字(如1-2-3-1)。這樣一來,如果有人會看我的手機,即使他們能夠探測到我的手指印,他們要么在猜想第四個數字(不存在),或者,他們如果弄清楚我只用三個獨立數字,他們將不得不嘗試在一個四位數代碼中,列出這三個不同數字所有可能的排列。問題是:1.在一個四位數的代碼中,只使用三個數字對安全是否確實有幫助?2.如果只重復使用兩個獨立的數字會不會更好呢?

答案:用三個數字最安全,兩個數字最不安全,四個數字居中。

解釋:1)、4個位置不同時,排列數=4*3*2*1=24;2)、3個位置不同時,排列數=C(4,2)*2*3=36;3)、2個位置不同時,排列數=3個重復情況(4+4)+兩兩重復情況(6)=14。

6. 書有多少頁

問題描述:一本書有N頁厚。書的頁數是從1 到N。所知道的是,所有的頁數總共用了1095個數碼字。請問這本書有多少頁?

答案:401頁

解釋:有9頁個位數的書頁,每頁用一個數碼字。90頁兩位數的書頁,每頁用2個數碼字。首先假設沒有四位數的書頁,而三位數書頁的數目為x。因為總共用了1095個數字,所以列出x的方程:9+2*90+3*x=1095。解出x=302,總的書頁數=302+9+90=401。

7. 左輪槍

問題描述:某公司招聘員工面試時提的問題:“讓我們來玩個游戲”,招聘人開始了。“你現在被牢牢地綁在椅子上不能動。這是一把槍,一把六星左輪搶,六個彈槽都空着。現在,我把兩顆子彈裝入彈槽。看到我把子彈裝入兩個相鄰的彈槽了嗎?我把輪子合上,然后用手撥動讓輪子轉動幾圈。我把槍對着你的頭,扣動了扳機,…,叭。你真幸運!第一槍撞針沒打中子彈。然后,我要再扣一次扳機。”招聘人接着說:“我可以直接扣動扳機,或旋轉輪子一下再扣扳機,你可以選擇其中一種,請問,你選哪一種方法呢?”慶幸的是這只是一把想象中的槍。招聘人只是用手勢做出旋轉輪子和扣動扳機的樣子。但不幸的是你的前程卻掌握在揮舞着‘手槍’的家伙的手里。 當然,這兩種方法都不是你要的,但其中一種方法的生存的機會會大一些。你到底應該選擇哪一種方法呢?

答案:選擇‘不轉’,因為被打死的概率更小。

解釋:題中說:子彈是裝入兩個相鄰的彈槽,左輪槍是一格一格往下轉的,如右圖所示。1) 第一槍沒有打出子彈,因此,第一槍的位置只可能是A、B、C、D。那么,接連第二槍的位置就會是第一槍的下面一個,也就是:B、C、D、E,這4個位置中,只有E有子彈。所以,如果直接扣動扳機,幾率=1/4。2) 如果重新把輪子轉一下,左輪槍將處於隨機的位置,6個格子有2顆子彈,這時挨槍的機率為2/6=1/3。3.)1/4 <1/3,‘不轉’死的幾率更小。

8. 導火索

問題描述:有兩根導火索,它們的長度都是正好1分鍾燒完。但是它們燃燒的速度是不均勻的。也就是說,你不能用一小段的長度與總長度的比值來確定燃燒完這一小段的時間。用這兩根導火索和一只打火機,沒有其它計時器的幫助,請你給我報告兩次時間信號:開始的時間t1、結束的時間t2。時間t1和t2准確地相差45秒。

答案:將其中一根的兩頭,以及另一根的一頭,同時點燃,這個時刻定為t1。當第一根燒完時,立即后點燃第二根的另一端,第二根燒完的時刻便是t2。

解釋:見下圖:第一根兩頭點燃,直到燒完,時間是30秒。這時第二根也燒了30秒,因第二根只點了一端,因而只燒完了一半時間,剩下的部分還能燒30秒,這時馬上點燃它的另一端,變成從兩頭同時燒,因而燒完的時間是15 秒,加上開始的30秒,總共歷時45秒。

9.計時沙漏

問題描述:沙漏(hourglass)是最早使用的計時儀器之一。如下圖(a)中所示的沙漏,是上下對稱的,可以倒來倒去地計時。比如說,如果有一個2分鍾的沙漏,你便可以漏一次得到2分鍾,漏完后立即倒過來,再漏完,總共得到4分鍾的時間。

現在,給你一個4分鍾的沙漏,和一個7分鍾的沙漏,它們都是可以倒來倒去的對稱沙漏。如何將它們配合使用,才能得到准確的、從開始到結束總共9分鍾的時間?

用圖形,我們可以更方便地說明這個問題。一個沙漏某時刻的狀態可以用上下重疊的兩個帶數字的方格表示,例如,上圖(b)所表示的是7分鍾沙漏的初始狀態和漏了2分鍾后的狀態。上圖中的(c)則是要請你回答的問題。

解釋:設7分鍾的沙漏為A,4分鍾的為B,A,B同時漏,4分鍾后, 狀態為 (A : 3,4);( B:0,4);B倒過來, 3分鍾A漏完全后, 狀態為(A : 0,7); (B:1,3);A倒過來, 1分鍾B漏完全后, 狀態為(A : 1,6); (B:0,4),A倒過來, 1分鍾后,狀態為(A : 0,7);

10. 測量磚頭的對角線

問題描述:單憑三個磚塊和一把尺子,不使用任何公式,怎樣才能測量一個磚頭的立體對角線?就是穿過磚頭內部的那條對角線。

答案:將三塊磚頭如圖迭起來,就可測量。

11.電路

問題描述:12個電阻連成一個正立方體,正方體的每一條棱上有一個1歐姆的電阻,請你求出A和E之間的等效電阻。

答案:5/6。

解釋:解此題的巧妙之處是在於利用對稱性,和電學的一丁點兒基礎概念,否則……見下左圖,三個紅點的電位應該相同,三個綠點的電位也應該相同。電位相同的點等效於連在一起。下圖中,左、右的電路是互相等效的,因此:R = 1/3 + 1/6 + 1/3,R = 5/6。

12.方格子

問題描述:有一張8×8=64個格子的格子紙,右上角和左下角各被剪去一格,如圖左所示:女兒有31張長方形的卡片(中圖),每張剛好是兩個格子。女兒想:剪掉了兩個角的格子紙面積和31張卡片總面積一樣大,因此,她想用卡片作拼圖,把格子紙蓋起來,但她拼來拼去都不成功,你能幫幫她嗎?或者……

答案:不可能覆蓋起來。

解釋:不是面積相等就能覆蓋的!女兒難不倒將軍。不過,8歲的女兒不懂高深的數學,將軍想了一個巧妙的方法解釋給她聽。他將8×8的格子紙塗成黑白相間的國際象棋棋盤(下左圖),又舉了2×2方格紙剪去兩角為例。看下面右圖,剪去的兩個小方塊都是黑色的,剩下兩個白方塊處於對角的位置,怎么可能被一個黑白的卡片覆蓋呢?圖中一目了然,小女兒很快就明白了。

13.毒葯老鼠

問題描述:有100只一模一樣的瓶子,編號1-100。其中99瓶是水,一瓶是看起來像水的毒葯。只要老鼠喝下一小口毒葯,一天后則死亡。現在,你有7只老鼠和一天的時間,如何檢驗出哪個號碼瓶子里是毒葯?

答案:首先,將瓶子的10進制編號數改成7位的2進制碼。然后,讓第1只老鼠喝所有2進制碼第1位是1的瓶子中的水;讓第2只老鼠喝所有2進制碼第2位是1的瓶子中的水;以此類推下去。這樣,每個老鼠第二天的死活情況就決定了毒水瓶子二進制碼這一位的數字:老鼠死,對應1,反之為0。

這兒把它叫做‘問題1’,解決此題的方法可謂二進制應用的經典:

首先,將瓶子的10進制編號數改成7位的2進制碼。然后,讓第1只老鼠喝所有2進制碼第1位是1的瓶子中的水;讓第2只老鼠喝所有2進制碼第2位是1的瓶子中的水;以此類推下去。這樣,每個老鼠第二天的死活情況就決定了毒水瓶子二進制碼這一位的數字:老鼠死,對應1,反之為0。換言之,將7只老鼠死活情況排成一排。比如說結果是“死活死死活活死”的話,毒水瓶子的二進制標簽就是:1011001,轉換成10進制,得到89。

14.為什么下水道的蓋子是圓的?

 

參考答案:

主考官認為的最好回答是:正方形的蓋子容易掉到洞里去。想一想,如果蓋子真掉進去的話,那么不是發生傷人事故,就是蓋子會掉到水里。為什么正方形的蓋子容易掉下去呢?這是因為正方形的對角線是其邊長的約1.414倍。如果把一個正方形蓋子垂直地立起來,稍微一轉,它就會很容易掉到下水道里去。與此相反,圓的直徑都是等長的,這使它很難掉進去。 
一種詼諧回答是:下水道的洞口是圓形的,蓋子當然也應該是圓的。那么為什么下水道的洞口是圓形的?答案是因為圓形的洞比方形的洞好挖。 
還有另外一種答案:在進行短距離搬運時,圓形的蓋子可以很方便地通過滾動的方法來搬運,而方形的蓋子就不容易搬運,你需要借助手推車或者由兩個人抬着走。再有一點就是用圓形蓋子蓋住洞口時,不需要怎么調整就可以與洞口嚴絲合縫。 
這個問題恐怕是微軟最為有名的面試問題了。由於“曝光率”太高,微軟在面試中已經停止使用這個問題了。

15.美國有多少輛加油站(汽車)?

 

參考答案:

這個乍看讓人有些摸不着頭腦的問題時,你可能要從問這個國家有多少小 汽車入手。面試者也許會告訴你這個數字,但也有可能說:"我不知道,你來告訴 我。"那么,你對自己說,美國的人口是2.75億。你可以猜測,如果平均每個家庭 (包括單身)的規模是2.5人,你的計算機會告訴你,共有1.1億個家庭。你回憶起 在什么地方聽說過,平均每個家庭擁有1.8輛小汽車,那么美國大約會有1.98億輛 小汽車。接着,只要你算出替1.98億輛小汽車服務需要多少加油站,你就把問題解 決了。重要的不是加油站的數字,而是你得出這個數字的方法。

16.距離問題

有一輛火車以每小時15公里的速度離開洛杉磯直奔紐約,另一輛火車以第 小時20公里的速度從紐約開往洛杉磯。如果有一只鳥,以外30公里每小時的速度和 兩輛火車現時啟動,從洛杉磯出發,碰到另輛車后返回,依次在兩輛火車來回的飛 行,直道兩面輛火車相遇,請問,這只小鳥飛行了多長距離?

 

參考答案:答案很容易計算的: 假設洛杉磯到紐約的距離為s 那小鳥飛行的距離就是(s/(15+20))*30。

17.概率問題

你有兩個罐子,50個紅色彈球,50個藍色彈球,隨機選出一個罐子,隨機 選取出一個彈球放入罐子,怎么給紅色彈球最大的選中機會?在你的計划中,得到 紅球的准確幾率是多少?

 

參考答案:一個罐子放一個紅球,另一個罐子放49個紅球和50個藍球,概率接近75%.這是所能達到的最大概率了。實際上,只要一個罐子放<50個紅球,不放籃球,另一個罐子放剩下的球,拿出紅球的概率就大於50%

無答案,看你有沒有魄力堅持自己的意見。 

18.重量問題

你有四人裝葯丸的罐子,每個葯丸都有一定的重量,被污染的葯丸是沒被 污染的重量+1.只稱量一次,如何判斷哪個罐子的葯被污染了?

參考答案:從第一盒中取出一顆,第二盒中取出2 顆,第三盒中取出三顆。 依次類推,稱其總量。再根據總重量增加多少判斷污染的葯罐。

19.誇脫的水問題

如果你有無窮多的水,一個3誇脫的和一個5誇脫的提桶,你如何准確稱出 4誇脫的水?

參考答案:

  1. 先用3 誇脫的桶裝滿,倒入5 誇脫。以下簡稱3->5) 在5 誇脫桶中做好標記b1,簡稱b1)。 
  2. 用3 繼續裝水倒滿5 空3 將5 中水倒入3 直到b1 在3 中做標記b2 
  3. 用5 繼續裝水倒滿3 空5 將3 中水倒入5 直到b2 
  4. 空3 將5 中水倒入3 標記為b3 
  5. 裝滿5 空3 將5 中水倒入3 直到3 中水到b3
  6.  結束了,現在5 中水為標准的4 誇脫水。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM