2個來自大廠的產品面試題

2022-09-26 19:12:14 字數 2780 閱讀 1421

換做是你,會怎麼回答?

最近有幾個星球內的同學私信我問產品面試題解答思路,我覺得挺有意思的,這裡也分享一下。

選了兩程式設計客棧個人的問題,他們分別面試了騰訊和位元組跳動,工作經驗都在 1 年到 2 年的樣子。

先看面試騰訊的這位小姐姐遇到的面試題,面試官讓她估算一下北京有多少輛計程車。

這種估算類問題我相信很多人在面試中或許都遇到過,大概在 15 年的時候,我和朋友也討論過這個問題。

對於這個問題,遇到問題的第一直覺,你認為面試官考察的是什麼?

是乙個準確的資料嗎?

肯定不是。

這種估算題,面試官不在乎具體數字是否正確,他們關心的是你定義問題、分析問題以及解決問題的過程。

說白了,就算你回答的數字和正確答案相差很大,也沒事兒。

回到上面那個問題,估算一下北京有多少輛計程車?

首先,定義問題。

計程車大致分為兩種狀態,行駛中的和停運的,這裡我們把問題定義為「北京有多少輛行駛中的計程車」。

如果再加上乙個時間維度,那就可以定義為「在普通工作日,北京有多少輛行駛中的計程車」。

別忽略這個過程,定義問題實際上也是給問題劃定邊界,這樣解決方案也會更有針對性,就像需求一定要有邊界一樣。

問題定義好了,第二步就是分析問題。

因為不要求絕對精確數字,所以我們要給出的是一套估算的計算過程和邏輯依據。

為了得出這個問題的估算答案,我們可以把大公式定義成「工作日乘坐計程車的總人數」/「每輛計程車服務的總人數」。

假設工作日打的士的總人數是 100 萬,每年車每天服務總人數 20 人,那估算的計程車數量就是 5 萬輛。

但這種結論性的估算沒有意義,還是需要乙個有邏輯支撐的過程。

接下來,再分析上述公式中的分子和分母如何得出。

對於分子,按北京 2000 萬常住人口計算,通過計程車出行的人口比例假設是 5%(估算值),那就是 100 萬人。

對於分母,我們需要進一步再拆解一下問題,因為計程車是分出行高峰期和平峰期的,這部分需要分開計算。

先看高峰期,北京的高峰期基本是在早上 7 點到 9 點,以及下午的 5 點到 7 點,總共 4 個小時。

在這 4 個小時裡,計程車的乘坐率是比平峰期更高的,但也不是時時刻刻都滿載,所以假設是 80% 的滿載率,所以高峰期 4 小時裡會程式設計客棧有 3.2 小時是滿載的,其餘時間空駛。

而高峰期乘客的平均乘坐時長,我們拍腦袋按照單程 40 分鐘計算,如果考慮高峰期堵車情況,可能到 1 個小時左右。

所以,在高峰期每輛計程車能服務的乘客數量就是 3.2 * 60 / 40,也就是 4.8 人。

如果按照平均單程 1 小時算,那就是 3.2 人。

好了,得出了高峰期的平均服務人數大概是在 3.2~4.8 人之間,我們取平均值, 4 人。

接下來就是平峰期的乘坐人數。

如果按照計程車司機早上 6 點出車到晚上 10 點收車總共 16 小時且兩個師傅兩班倒的方式計算,除去高峰期的 4 小時和吃飯、上廁所、換班時間,我們按平峰期總共 10 小時計算。

平峰期的載客率肯定不如高峰期,索性按 50% 計算,即一般時間有乘客,一半時間空駛。

此外,平峰期不堵車,單個乘客平均乘車時長估算半小時,也就是 30 分鐘。

那平峰期單台計程車服務的平均人數就是 10 * 60 / 30,即www.cppcns.com 20 人。

按照前面定義問題的解決公式「工作日乘坐計程車的總人數」/「每輛計程車服務的總人數」計算。

在普通工作日,北京行駛中的計程車數量是 100 萬 /(4 + 20),也就是 4.2 萬輛。

這個資料不一定絕對準確,原因是其中的一些變數的數值或者百分比是估算,但基本思路和分析過程是能解決問題的。

有了這個邏輯框架,如果要得出準確數字,只需要通過查閱相關資料的方式進行引數調整就可以了。

上述過程,相當於搭建了乙個解決問題的模型,引數可以自由調整,也是過程性的體現。

所以,在定義問題、分析問題過後,還得思考一下,要解決的問題到底是什麼?

比如,得出工作日內北京行駛中的計程車數量的目的是什麼?

是要做出行市場的規模預估,並做出業務規劃或者產品調整策略,還是要對計程車未滿足需求的那部分使用者做滲透。

搞明白要解決的問題是什麼,再看解決方案,就會更具備可落地性。

對於這道面試題,在回答時不要急於作答,可以向面試官爭取多一點的思考時間,最好用紙筆做乙個簡單的思路分析和計算。

這類估算題,重點不在於精確的結果,而是分析的過程。同類的估算題,其實都可以用類似的思路回答。

比如再問你,北京有多少個在冊的計程車司機?

還是那個思路,人家不是關注你能給出乙個多麼精確的答案數字,更多是看你的思考和分析過程。

第二個小哥哥面試的是位元組跳動,他的問題就沒那麼複雜了。

面試官問了乙個問題,當需求增多且研發資源有限的情況下,你會怎麼處理?

對於這個問題,其實只需要抓住乙個三角關係就可以了,時間、質量、資源,這三者是相互制約的。且它們三者共同決定了需求的實施範圍。

需求增多,意味著實施範圍增大,對應的,要麼時間延長、要麼增加資源。如果時間不變且資源恆定,那質量就得降低。

不過降jogxfa低質量也不是大家期待的結果,所以,通常情況下會做需求拆分。在不影響核心主幹體驗的情況下,分階段上線需求,實際上就是對範圍進行了拆分。

可能有人會說了,資源都是恆定的,時間也不能變,老闆還要加需求,怎麼破?

這種情況下,要麼提高已有資源的產出效率,要麼延長資源使用時間,說白了,加班唄。

當然,面試時不方便這麼說,但圍繞上面三個制約因素做對應的平衡調整的方式,準沒錯。

如果你也遇到了一些有意思的產品面試題,歡迎留言區留言。

本文標題: 2個來自大廠的產品面試題

本文位址: /news/media/347763.html

關於鍊錶的幾道大廠面試題

獲取鍊錶中的有效節點個數 這是十分簡單的一道面試題,只需要將鍊錶除了頭節點遍歷即可,實現如下 獲取整個鍊錶的有效節點個數 public static intlength heronode headnode int length 0 heronode curheronode headnode.next...

最近面試的幾個大廠演算法面試題彙總

某程 都用過哪些演算法?應用最熟悉的是那個?特徵工程如何做?介紹一下rf吧?lr相比樹模型對資料有什麼要求?為什麼有些演算法需要剔除共線性?距離演算法了解哪些?余弦相似性相比k means有什麼區別?k means的k如何選擇的?聚類的效果如何評估?為什麼距離演算法需要對資料進行歸一化?樹模型需要嗎...

12 進大廠必須掌握的面試題 持續測試面試

我將建議您遵循以下提到的解釋 連續測試是作為軟體交付管道的一部分執行自動測試的過程,以獲得與最新版本相關的業務風險的即時反饋。這樣,每個構建都將得到持續測試,從而使開發團隊能夠快速獲得反饋,從而可以防止這些問題發展到軟體交付生命週期的下乙個階段。由於無需手動重建專案並在進行更改後重新執行所有測試,因...