offer到手!記一次拼多多面試經驗

来源:https://www.cnblogs.com/java-xiatian/archive/2020/06/06/13056259.html
-Advertisement-
Play Games

面完螞蟻後,早就聽聞拼多多這個獨角獸,決定也去面一把。首先我在脈脈找了一個拼多多的HR,加了微信聊了下,發了簡歷便開始我的拼多多面試之旅。這裡要非常感謝拼多多HR小姐姐,從面試內推到offer確認一直都在幫我,人真的很nice。 ...


offer到手!記一次拼多多面試經驗。

 

面試前

面完螞蟻後,早就聽聞拼多多這個獨角獸,決定也去面一把。首先我在脈脈找了一個拼多多的HR,加了微信聊了下,發了簡歷便開始我的拼多多面試之旅。這裡要非常感謝拼多多HR小姐姐,從面試內推到offer確認一直都在幫我,人真的很nice。

一、筆試

不用多說了,上來就是四道演算法題

第一題

  • 題目描述

自動售貨機里有 N 瓶複製可樂。複製可樂非常神奇,喝了它的人會複製出一個自己來!現在有 Alice, Bob, Cathy, Dave 四個人在排隊買複製可樂。買完的人會馬上喝掉,然後他和他的副本會重新去隊伍的最後面排隊買可樂。問最後一個買到複製可樂的人叫什麼名字?

  • 輸入描述:

輸入僅有一行,包含一個正整數 N (1 <= N <= 1,000,000,000),表示可樂的數量。

  • 輸出描述:

輸出喝到最後一罐複製可樂的人的名字。

示例1

offer到手!記一次拼多多面試經驗。

 

說明:

前8個喝到可樂的人依次為:Alice, Bob, Cathy, Dave, Alice, Alice, Bob, Bob.

  • 解題思路
  • 代碼
offer到手!記一次拼多多面試經驗。

 

第二題

  • 題目描述

四年一度的世界盃又來了!小多在公司內發起了一個票選最強球星的活動。共有 N 個候選球星,每位投票者需要在選票上為每位候選球星評定一個實例等級,等級由英文字母表示,'a' 級最高,'z' 級最低,共26級。

我們稱候選球星 X 強於候選球星 Y,當「 X 的評級比 Y 高」的票數高於「 Y 的評級比 X 高」的票數。若一個候選球星強於任一其他候選球星時,則稱該球星為“球王”。根據這個規則,至多只會有一個球王。需要註意的是也可能沒有球王。現在給出所有 M 張選票,請你幫小多判斷一下哪位候選球星是球王。

  • 輸入描述:

第一行包含2個整數 N、M,分別表示候選球星數量以及選票數量。接下來有 M 行,每行是一個長度為 N 個字元串,每個字元串表示一張選票上的信息。每個字元串的第 k (0 <= k < N) 個字元,表示這張選票對第 k 個候選球星的評級。

數據範圍:

offer到手!記一次拼多多面試經驗。

 

  • 輸出描述:

若有球王,則輸出一行僅包含一個整數 X,表示編號為 X (0 <= X < N) 的候選球星是球王;若沒有球王,則輸出一行僅包含一個整數 -1 。

示例1

offer到手!記一次拼多多面試經驗。

 

示例2

offer到手!記一次拼多多面試經驗。

 

  • 解題思路
  • 代碼
offer到手!記一次拼多多面試經驗。

 

offer到手!記一次拼多多面試經驗。

 

第三題

  • 題目描述

有N個貨物(0<=N<=1024),每個貨物的重量是W(100<=W<=300)。如果每輛車最多的載重為300,請問最少需要多少輛車才能運輸所有貨物。

  • 輸入描述:

一行輸入,包含N個正整數,表示每個貨物的重量,空格分隔。

  • 輸出描述:

一行輸出,包含一個整數,表示需要的車輛數。

offer到手!記一次拼多多面試經驗。

 

  • 解題思路
  • 代碼

第四題

  • 題目描述

A 國的手機號碼由且僅由 N 位十進位數字(0-9)組成。一個手機號碼中有至少 K 位數字相同則被定義為靚號。A 國的手機號可以有前導零,比如 000123456 是一個合法的手機號。小多想花錢將自己的手機號碼修改為一個靚號。修改號碼中的一個數字需要花費的金額為新數字與舊數字之間的差值。

比如將 1 修改為 6 或 6 修改為 1 都需要花 5 塊錢。給出小多現在的手機號碼,問將其修改成一個靚號,最少需要多少錢?

  • 輸入描述:

第一行包含2個整數 N、K,分別表示手機號碼數字個數以及靚號至少有 K 個數字相同。第二行包含 N 個字元,每個字元都是一個數字('0'-'9'),數字之間沒有任何其他空白符。表示小多的手機號碼。

數據範圍:

2 <= K <= N <= 10000

  • 輸出描述:

第一行包含一個整數,表示修改成一個靚號,最少需要的金額。第二行包含 N 個數字字元,表示最少花費修改的新手機號。若有多個靚號花費都最少,則輸出字典序最小的靚號。

示例1

offer到手!記一次拼多多面試經驗。

 

說明:

花費為4的方案有兩種:777577與777775,前者字典序更小。

  • 解題思路
  • 代碼

2、一面

一個超級溫柔的小姐姐,先聊聊簡歷的東西,說說項目。隨後撕了兩個sql題目,難度弱於筆試。主要考察視窗函數,來張圖證明所言不虛。

offer到手!記一次拼多多面試經驗。

 

業務題是:

如果你負責生產全市的窨井蓋,可以生產圓的和方的,如何計算怎麼生產更合適

 

(思路:根據材料限制情況,線性規劃,別想的太複雜)。

 

當天晚上面試官微信介紹了她所在的團隊情況,估計應該是比較滿意我吧。

3、二面

主要問了下麵這些問題:

  1. 系統有哪些模塊,每個模塊用了哪些技術,數據怎麼流轉的?(面試官有點禿頂,一看級別就很高)給了我一張紙,我在上面簡單畫了下系統之間的流轉情況
  2. 鏈路追蹤的信息是怎麼傳遞的?(RpcContext的attachment,說了Span的結構:parentSpanId + curSpanId)
  3. SpanId怎麼保證唯一性?(UUID,說了下內部的定製改動)
  4. RpcContext是在什麼維度傳遞的?(線程)
  5. Dubbo的遠程調用怎麼實現的?(講了讀取配置、拼裝url、創建Invoker、服務導出、服務註冊以及消費者通過動態代理、filter、獲取Invoker列表、負載均衡等過程(嘩啦啦講了10多分鐘),我可以喝口水麽?
  6. Spring的單例是怎麼實現的?(單例註冊表)
  7. 為什麼要單獨實現一個服務治理框架?(說了下內部剛搞微服務不久,主要對服務進行一些監控和性能優化)
  8. 誰主導的?內部還在使用麽?
  9. 逆向有想過怎麼做成通用麽?
  10. 有什麼想問的麽?

3、三面

HR直接一個電話就過來了,問方不方便聊。記得問了下麵幾個問題:

1.高中有參加競賽,為什麼大學不參加了?

2.看你學的是理科,為什麼選擇數據分析?

3.更傾向於業務還是理論?

4.手裡有沒有其它offer?

小哥哥聲音挺好聽的,整體時間12分鐘左右。我還吐槽了中間等了兩周的時間,氣氛比較活躍友好。

小結

總的來說,拼多多的面試流程就簡單許多,畢竟是一個成立三年多的公司。面試難度中規中矩,只要基礎扎實應該不是問題。但不得不說工作強度很大,開始面試前HR就提前和我確認能否接受這樣強度的工作,想來的老鐵還是要做好準備。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一 安裝jdk zookeeper是採用java開發的,所以需要依賴jdk環境,我們需要先安裝jdk,最便捷的方式就是採用yum,但是yum的官方源速度很慢,我們可以先更換yum源; #備份初始源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos ...
  • 內容不涉及演算法相關內容,paxos演算法,zab協議等網路上已經有很多優秀的文章,這裡就不獻醜了 什麼是Zookeeper ZooKeeper是分散式應用程式的分散式協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要組件。它是一個為分散式應用提供一致性服務的軟體,提 ...
  • 出現這種問題,我這裡遇到的原因是因為上一次查詢的結果集沒有釋放完全,導致查詢失敗 此時的錯誤內容是:Commands out of sync; you can't run this command now 該錯誤內容由mysql_error(conn)語句輸出。 如果你在上次查詢時忘了調用mysql ...
  • 方法引用 在使用Lambda表達式的時候,我們實際上傳遞進去的代碼就是一種解決方案:那參數做操作 弱國我們在Lambda中蘇哦指定的操作方案,已經有地方存在相同方案,那是否還有必要再寫重覆邏輯呢,答案肯定時沒有必要。 我們通過方法引用使用已經存在的方案 public interface PrintT ...
  • import pandasexcel=pandas.read_excel('現代徵信學.xlsx',index_col='列名',header=None) #header預設為0,指讀取第幾行,0代表第一行excel.columns=['Id','title','hh','uei','t'] #重新 ...
  • Java生鮮電商平臺-生鮮小程式首頁系統功能詳解(小程式/APP) 說明:對於一個成熟的生鮮小程式而言,首頁至關重要,下麵我就列舉,我們系統中的首頁的功能,本文只是簡單的介紹下,以達到拋磚引玉的作用,希望對大家有點幫助。 QQ:137071249 共同學習QQ群:793305035 ...
  • 軟體開發的生命周期 既然我們以後從事的工作時軟體開發,那麼我們就要對軟體開發的流程先做瞭解,畢竟要從娃娃抓起。早點瞭解軟體開發流程,也就有了軟體開發的思想與動力。 軟體開發的生命周期 問題定義 問題定義 是軟體定義時期的第一個階段。作為軟體的開發者,在這個階段必須弄清用戶“需要電腦解決什麼問題”。 ...
  • import pandasa=pandas.DataFrame({'ID':[1,2,3],'Name':['Time','Mike','Nick']})b=a.set_index('ID') #重新設置索引b.to_excel(r'D:\電腦二級\ocr 訓練\a.xlsx') ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...