TikTok OA CodeSignal 四題面經分享|順利拿下,助你順利透過 OA

1 月 25 日參加了 TikTok 的 OA ,整體體驗還不錯,題目是 CodeSignal 經典四題模式。難度中等偏下,題型比較常規,只要刷過一些 CodeSignal 或常見演算法題,基本不會太慌。現在分享一下這次 TikTok OA CodeSignal 的題目型別和解題思路,供之後準備 TikTok OA / 位元組跳動 OA 的同學做個參考,希望能對大家的刷題和備考有所幫助。

TikTok OA 面試概覽

  • 平臺:CodeSignal
  • 題目數量:4 題
  • 題型:模擬 / 陣列處理 / 網格放置 / 圖遍歷
  • 整體難度:偏基礎
  • 時間壓力:不算大,思路清楚基本能寫完

TikTok OA 真題分享

第一題:分數統計與歷史最高分

題目給定一個初始分數 1500,以及一系列分數變動的操作記錄。需要在按順序執行這些操作的過程中,計算最終的分數,同時找出整個過程中出現過的最高分數。

解題思路
這是一道典型的模擬題。使用一個變數記錄當前分數,初始為 1500,再用一個變數記錄歷史最高分。遍歷操作記錄時,每一步先更新當前分數,再用當前分數更新最大值。遍歷結束後返回最終分數和最高分即可。

第二題:按規則將數字分配到兩個陣列

題目給了兩個初始數字 num0 和 num1,分別放入兩個不同的陣列中。隨後會依次給出新的數字 num[i],需要按照規則將其加入其中一個陣列。規則是先比較兩個陣列中大於 num[i] 的元素個數,將數字放入該數量較少的陣列;如果數量相同,則放入當前長度更短的陣列。最終返回兩個陣列拼接後的結果。

解題思路
直接按照題目規則進行模擬即可。初始化兩個陣列後,逐個處理新數字,對兩個陣列分別統計其中大於當前數字的元素個數,再根據比較結果決定加入哪個陣列。由於資料規模不大,直接遍歷統計即可,邏輯清晰也不容易出錯。

第三題:在網格中按順序放置圖形

給定一個 n×m 的網格,以及五種固定形狀的圖形(A、B、C、D、E)。要求按照行優先、列優先的順序依次在網格中放置這些圖形,並判斷是否能夠將所有圖形全部放入網格中而不發生重疊

解題思路
這道題本質是二維網格模擬。可以先用一個對映表儲存每種圖形相對於左上角 (0,0) 所佔據的座標。之後按行優先、列優先遍歷網格,對於每個位置嘗試作為當前圖形的左上角,檢查是否越界或與已放置圖形衝突。若可以放置,就標記網格並繼續放下一個圖形;如果整個網格都嘗試過仍無法放置當前圖形,則直接返回失敗。

第四題:鏈式結構的遍歷順序

給定一條鏈式結構,本質上是一個無向圖,其中每個節點最多隻有兩個鄰居。需要從正確的起點開始,輸出遍歷完整條鏈的節點順序。

解題思路
可以先將圖構建成鄰接表,並統計每個節點的度數。由於是鏈結構,起點一定是度數為 1 的節點。從任意一個這樣的節點開始遍歷即可。遍歷過程中記錄上一個訪問的節點,在當前節點的鄰居中跳過前一個節點,剩下的那個就是下一個要訪問的節點。不斷向前推進,直到所有節點都被訪問完。

關於 OA 準備的一點經驗分享

如果你在準備 TikTok OA / CodeSignal 或其他大廠筆試時感覺沒什麼信心,其實很正常。OA 更考驗的是對常見題型的熟悉度和實現穩定性,而不是臨場發揮。Programhelp 長期提供 OA代寫 、面試輔助、VO輔助 ,已經幫助不少同學理清常考套路、提升透過率並順利進入下一輪。如果你也在準備階段,歡迎聯絡我們。

author avatar
Jory Wang Amazon資深軟體開發工程師
Amazon 資深工程師,專注 基礎設施核心系統研發,在系統可擴充套件性、可靠性及成本最佳化方面具備豐富實戰經驗。 目前聚焦 FAANG SDE 面試輔導,一年內助力 30+ 位候選人成功斬獲 L5 / L6 Offer。
END
 0