國內某社交通訊大佬面試題 二

2021-07-11 03:16:44 字數 1157 閱讀 3430

額。面試下午兩點開始的。一開始給了一套筆試題。上面就三道題。我就憑記憶大概說一下。

(1)在乙個整型陣列中找出所有前k大的數。

答:這個問題隨便一搜就很多答案了。。沒啥好說了。。我當時是建了個最小堆儲存k個數,第k+1個元素開始和最小堆堆頂元素比較,再判斷是否要移除元素重新建堆。。就說這麼多了。。

(2)給乙個正整數n,輸出所有的包括(1—n)的數字作為節點的bst樹的數目。。比如n=2,結果為2; n = 3,結果n = 5。如下圖所示:

答:我使用了遞迴的方法。一開始畫了n = 4的情況分析找規律。然後發現只需要計算以某個值n=i作為根節點,遞迴計算其左右子樹的情況然後想乘即可得結果了。(記得bst有個特性就是右子樹中所有節點值都小於父節點值,左子樹中所有節點值都大於父節點)。

所以我們拿n=4來分析的話就是,分別以1,2,3,4作為根節點時:

(ps: 我們可以把空子樹看做是一種特殊的子樹情況)

額大概就是這樣的乙個過程了。。**我就懶得寫了。。有空補上吧哈哈哈。。。

(3)有一輛火車需要從a地運送煤炭到b地,其中a距離b地1000公尺。起始a地有3000煤炭,火車一次最多拉1000煤炭,並且火車每走1公尺則消耗1煤炭。問怎樣運輸可以使得b地的煤炭最多?

答:= =。我不知道最終答案。這題大家注意兩種情況,一種是火車返回時候不消耗煤炭,另一種則是火車返回也消耗煤炭。。兩種情況計算結果是不一樣的。。

我直接給我在兩種情況下的計算結果吧,有能算出更多的結果的記得分享分享!

第一種:第一段走334,第二段走499,第三段走157,b地剩843。

第二種:第一段走200,第二段走334,第三段走466,b地剩534。

然後開始各種面試了。我大概想了一下就是以下的問題吧。

1、自我介紹

2、專案介紹,其中哪個專案印象最深刻、怎麼做的

3、stl

4、ios開發有哪些方式寫介面,最常用哪種,**布局

5、多執行緒方式有哪些

6、資料持久化方式有哪些

7、作業系統中的記憶體管理,分頁管理

8、還有一些其他亂七八糟的,不記得了。。。

然後又甩了一道題給我做。。。沒錯又寫**鳥。。。這個就不說了吧哈哈哈哈

國內某社交通訊大佬面試題

額。早上剛面的,也算是一面吧。整個過程大概持續28min左右。崗位是c 伺服器開發的。1.靜態語言和動態語言 指令碼語言 的區別 2.變數宣告和定義的區別 3.指標和引用的區別 4.在乙個單向鍊錶中如何找到中間節點 5.如何在10億的數中找到最大的10個數 6.虛擬記憶體的概念 虛擬記憶體怎麼實現 ...

國內某電商大佬面試題(二)

額。這是個 二面,崗位客戶端開發工程師。全程49min。哎,求人品啊!問題大概是下面這些。1 afnetworking原始碼實現看過麼,大概實現框架是怎樣的?1.其中post方式有兩種,分別有什麼不同?2.post和put有什麼區別?3.http請求頭部資訊有哪些內容,每個欄位是什麼意思?4.常見h...

面試題3 二維陣列查詢某數

題目描述 在乙個二維陣列中,查詢某個數。這個二位陣列的每一行和每一列都是遞增的。解決 查詢都是從右上角的數 該數 開始查詢。如果查詢的數 該數,則直接返回true 如果查詢的數 該數,則說明要查詢的數在該數的左邊,那麼列數 1 如果查詢的數 該數,則說明要查詢的數在該數的下邊,那麼行數 1.直至查詢...