學(xué)習(xí)筆記-微軟面試題

先看第一題:

1) 有三個連續(xù)的,大于六的整數(shù),已知其中兩個是質(zhì)數(shù),求證第三個數(shù)能被6整除。

那這道題的正確解法是什么呢?

你要先把被6整除這個問題,分解成同時能被2整除,也能被3整除,然后你只需要證明第三個數(shù)既能被2整除、也能被3整除就可以了。題干告訴我們,題中的三個數(shù),有兩個數(shù)都是質(zhì)數(shù),這三個數(shù)里能被2整除的數(shù)和能被3整除的數(shù),只能是同一個數(shù),也就是這兩個質(zhì)數(shù)之外的第三個數(shù)。這樣,我們就證明了第三個數(shù)既能被2整除也能被3整除,也就是能被6整除。

這道題能考驗(yàn)一個人"分解問題"的能力,對應(yīng)到這題,就是把能被6整除這件事情拆解為能被2整除,也能被3整除這兩個小問題。這種能力特別重要。

第二題:

2) 有2個骰子,每一個骰子都是6面的正方體,每一面上只能放0到9的數(shù)字一個,問這2個骰子如何組合,可以達(dá)到顯示日歷的效果(從01-31)?

我們有兩個立方體,那就一共12個面?,F(xiàn)在有0-9,一共10個數(shù),放到這12個面上,所以,一定有數(shù)字是重復(fù)出現(xiàn)在兩個立方體上的。那么,哪些數(shù)是會重復(fù)出現(xiàn)的呢?日歷有11號和22號,所以1和2這兩個數(shù)字在兩個立方體上必須都出現(xiàn)。那這樣一算,正好就是12個數(shù)字和12個面,可以一一對應(yīng)了。當(dāng)日期是一位數(shù)的時候,還需要在十位的位置上補(bǔ)位呢,所以0也必須同時出現(xiàn)在兩個立方體上。那就是6和9。到這為止,這個問題就解決了。

那這個問題考核的是什么呢?這里的考點(diǎn)叫"跨越思維",也就是跳出固定框架去思考的能力。如果你覺得6就是6,9就是9,那就是沒有跳出固定的思維框架。

第三題:

3) 昨天,我早上8點(diǎn)爬山,晚上8點(diǎn)到山頂。睡了一覺后,今天,我早上8點(diǎn)從山頂原路下山,晚上8點(diǎn)到山腳。請問,有沒有一個時刻,昨天和今天,我站在同樣位置?

這道題我先告訴你答案:一定有。

你可以把這道題轉(zhuǎn)換成這樣的一道題:你和另一個人,一個從山頂往下走,一個從山腳往上走,走的是同一條路,是不是一定會相遇?答案是一定的啊,你們走在一條路上,一定會遇見的。

這道題就是這么簡單,但如果你不懂得"轉(zhuǎn)換思維",可能就是答不出來。

這個"轉(zhuǎn)換思維"有什么用處呢?就是用"其實(shí)就是"這四個字,看透問題,然后找到解決方案。

第四題:

4) 上海有多少輛自行車?

這道題考的是"系統(tǒng)思維"。也就是你理解一個系統(tǒng)、事物之間的關(guān)聯(lián)的能力。這道題其實(shí)是沒有標(biāo)準(zhǔn)答案的,我在這給你提供幾種思路。

比如,你可以先查一下上海一共有多少人口,接下來你可以估算一下,這些人口當(dāng)中有多大比例是騎自行車的?比如可能20-60歲之間,工作的人會騎自行車,通過比例你可以估算出有多少自行車。你還可以大致算一下上海有多少條街道,每條街道大致能容納多少輛自行車,這樣也能得出一個相對準(zhǔn)確的數(shù)字。甚至在以前,自行車掛車牌的時候,有的人會說,我去街上隨機(jī)攔幾十輛自行車,算出這幾十輛自行車車牌數(shù)字的中位數(shù),通過這個中位數(shù),我也能算出上海市一共發(fā)放了多少車牌。

目的測試你的思路,測試你發(fā)現(xiàn)自行車和群、自行車和街道、自行車和車牌或者和這個生態(tài)中其他因素的關(guān)系的能力,也就是建立模型,構(gòu)建系統(tǒng)的能力。當(dāng)你建立模型,構(gòu)建系統(tǒng)的能力越接近現(xiàn)實(shí)世界,你的"系統(tǒng)思維"能力就越強(qiáng)。


最后一個題,第五題:

5) 如何用兩個指針,來判斷一個鏈表是否有環(huán)?

上周說這道題的時候,我說大部分人是沒學(xué)過數(shù)據(jù)結(jié)構(gòu)的,如果你不懂,可以忽略這道題。這其實(shí)是我埋的一個伏筆。我之所以放這道題在這,就是想看看,在不懂計(jì)算機(jī)、不懂?dāng)?shù)據(jù)結(jié)構(gòu)的情況下,你是否會去查一查什么是鏈表,什么叫做指針。

這道題考察的就是你的求知欲和快速學(xué)習(xí)的能力。

什么叫做用兩個指針來判斷一個鏈表是否有環(huán)?

你可以把"鏈表"想象成無數(shù)的小房間,每個房間里面都有一張紙條,紙條里上寫的是下一個房間的坐標(biāo),如果你進(jìn)到第357號房間,紙條上寫著456,那你就跑到第456號房間。然后456房間里面寫著578,你就再跑到578號房間,然后從578再到632,從632再到7號房。這就叫鏈表。

那什么叫有環(huán)呢?你到了7號房間,發(fā)現(xiàn)里面的紙條寫著456。你進(jìn)到456,咦,我剛才不是來過嗎?這就是環(huán)。那什么是指針呢?你,或者說一直在走的這個人,就是指針。

那怎么來判斷這個鏈表是不是有環(huán)?這里面考察的就是"相對思維"。

這道題的解法是這樣的。讓兩個人同時走房間,其中一個人一間一間的走,另一個人要走得更快一些,在前一個人走一個房間的時間內(nèi),他要走兩個房間。這樣,每當(dāng)前者走一個房間,后者就比前者多走了一個房間,相對于前者,后者多走的房間就會越來越多。那么,如果這個鏈表有環(huán)的話,后者就一定會在某一個房間和前者相遇。否則,兩人都會先后到達(dá)終點(diǎn)。

這就是"相對思維",就是讓你在一個無休無止的問題里面,懂得制造相對速度。

好了,通過這5道題看到微軟面試人時,非??粗氐?,獨(dú)立于專業(yè)知識的幾種思維能力:分解能力,跨越思維,轉(zhuǎn)換思維,系統(tǒng)思維,和相對思維。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容