IBM OA 面經分享 | 最新求職經歷整理 | OA 真題+題解分享,帶你避開常見大坑

最近很多小夥伴在沖 IBM 的校招,普遍都會遇到一輪 OA 。 作為一家傳統 IT 巨頭, IBM OA 並沒有走極限演算法難題的路線,而是更偏向於結合邏輯推理、程式設計實戰和情景題,整體難度屬於中等偏上。 相比起只考純演算法的公司,IBM 的 OA 更看重候選人的綜合素質,比如問題拆解能力、邏輯思維、代碼可讀性,以及在業務場景下的應用能力。

這一輪 OA 基本上是所有候選人的必經之路,表現好壞直接決定能不能進面,所以這部分的準備非常關鍵。

IBM OA

IBM OA 流程概覽

IBM OA 一般在申請后一到兩周左右觸發,通過第三方測評平台進行,形式和題型大致如下:

  1. 編碼部分:2 道程式設計題,時長 60 分鐘。 題目難度在 LeetCode Easy ~ Medium 之間,但經常帶點業務場景的包裝。
  2. 邏輯 & 數學題:10 道左右,考察數位推理、邏輯規律識別,類似 GMAT 風格。
  3. 情景判斷(SJT):給出工作場景,讓你選擇最合適和最不合適的做法,考察的是候選人是否符合 IBM 的價值觀和團隊合作精神。
  4. 時間分配:總時長大概在 90 分鐘—100 分鐘之間。

OA 真題回憶 + 題解

Question 1:

Problem:
You are given an array of integers. Find the length of the longest contiguous subarray where the sum is divisible by k.

Solution Approach:

  • Use prefix sum + hashmap to store remainders.
  • If the same remainder occurs again, the subarray between these indices is divisible by k.
  • Update the maximum length accordingly.

Code (Python):

def longestSubarrayDivByK(nums, k):
    remainder_map = {0: -1}
    prefix_sum = 0
    max_len = 0

    for i, num in enumerate(nums):
        prefix_sum += num
        remainder = prefix_sum % k

        if remainder in remainder_map:
            max_len = max(max_len, i - remainder_map[remainder])
        else:
            remainder_map[remainder] = i

    return max_len

Question 2:

Problem:
Given a string, check whether it can be rearranged to form a palindrome.

Solution Approach:

  • Count the frequency of each character.
  • A string can form a palindrome if at most one character has an odd frequency.

Code (Python):

from collections import Counter

def canFormPalindrome(s):
    freq = Counter(s)
    odd_count = sum(1 for count in freq.values() if count % 2 != 0)
    return odd_count <= 1

注意事項

  1. 程式設計題重在思路清晰:IBM 並不一定要求你寫出最優解,但代碼風格和解釋思路非常重要。
  2. 邏輯題時間要把握:很多人容易在數列推理上卡太久,其實做不出來也要及時跳過。
  3. 情景判斷題要符合企業文化:IBM 注重合作、溝通和責任心,盡量避免選擇“單打獨鬥”或“推卸責任”的選項。
  4. 模擬環境:考試介面比較簡潔,沒有花哨的 IDE 功能,建議提前在 LeetCode、HackerRank 等平臺練習適應。

你和 offer 的距離,只差一個助攻

整體下來,IBM 的 OA 其實並不算特別刁鑽,但題量和時間壓力會讓人很容易卡殼。 尤其是 coding 部分,很多同學可能思路有了,但 debug 不及時就容易掉分。 這裡真的要推薦一下 Programhelp 的 OA 遠端助攻,我們團隊提供的服務就是無痕語音提醒、連線助攻,讓你在卡點時有人及時點醒,不至於浪費寶貴的時間。 很多學員靠著這種即刻提醒,直接拿下 OA 甚至後續 VO。

如果你最近也在準備 IBM 或者其他大廠的筆試/面試,不妨來瞭解一下我們的服務,少走彎路,效率會高很多。

author avatar
jor jor
END
 0
Comment(尚無留言)