Intuit OA 面經分享|Backend & Fullstack 雙崗通關經驗總結

最近剛剛結束了一場 Intuit 的 Online Assessment ,趁著記憶還很新鮮,來和大家第一時間分享一下。 這次學生比較拼,一次性投了 Backend 和 Fullstack 兩個崗位,結果是兩份 OA 全部順利完成並通過。 對於準備 Intuit 或者其他大廠 OA 的同學來說,這份經驗應該能帶來不少參考價值。

Intuit OA 面经分享|Backend & Fullstack 双岗通关经验总结

整體體驗

先聊聊 Intuit OA 的整體感受:

  • 每份 OA 一共 4 道題
    • 2 coding(需要補全 solve 函數)
    • 2 multiple choice(偏向計算機基礎/邏輯,難度不高)
  • 程式設計題思路直白,不存在特別複雜的數據結構考點。
  • 時間給得比較充裕,平均 20–25 分鐘做一道題就綽綽有餘。

所以總體氛圍比一些大廠 OA 輕鬆很多,只要基礎功夫紮實,發揮穩定就能順利通過。

編碼部分

Question 1: Three-Value Sorting

Problem Statement:
You are given an array consisting of only three distinct integers (for example, -1, 0, 1). Write a program to sort the array in ascending order with a time complexity of O(n).

Input:

  • The first line contains an integer N, the size of the array.
  • The second line contains N space-separated integers, the array elements.

Output:

  • Print the sorted array.

Constraints:

1 ≤ N ≤ 200
Array elements ∈ {-1, 0, 1}

思路解析

這題就是經典的 Dutch National Flag Problem 簡化版。 因為陣列裡只有三種元素,最簡單的辦法就是:

  1. 遍曆陣列,統計 -1, 0, 1 的出現次數。
  2. 按照順序把它們重新拼回結果陣列。

這樣寫起來很直觀,時間複雜度 O(n),空間複雜度 O(1),完全符合要求。

Python 示例

def solve():
    n = int(input().strip())
    arr = list(map(int, input().split()))

    count = {-1: 0, 0: 0, 1: 0}
    for num in arr:
        count[num] += 1

    result = []
    for val in [-1, 0, 1]:
        result.extend([val] * count[val])

    print(" ".join(map(str, result)))

Question 2: Triple Occurrence Check

Problem Statement:
You are given an array of positive integers. Determine whether there exists a number in the array that appears exactly three times.

Input:

  • The first line contains an integer N, the size of the array.
  • The second line contains N space-separated integers, the array elements.

Output:

  • Print true if such a number exists, otherwise print false.

Constraints:

1 ≤ N ≤ 200
1 ≤ arr[i] ≤ 500
At most one number satisfies the condition

思路解析

这道题考察的就是哈希表:

  1. 遍歷陣列,用 map / dict 統計頻次。
  2. 如果某個元素的頻次等於 3,就輸出 true。
  3. 如果遍歷結束都沒找到,就輸出 false。

注意關鍵點是 exactly three times,不要寫成 “≥3 次”。

C++ 範例

#include 
using namespace std;

void solve() {
    int n;
    cin >> n;
    vector arr(n);
    for (int i = 0; i > arr[i];

    unordered_map freq;
    for (int num : arr) {
        freq[num]++;
    }
    bool found = false;
    for (auto &p : freq) {
        if (p.second == 3) {
            found = true;
            break;
        }
    }
    cout << (found ? "true" : "false") << endl;
}

多項選擇部分

除了兩道程式設計題,還有兩道選擇題,偏向基礎知識。 印象中題型包括:

  • 演算法複雜度的判斷
  • 簡單邏輯推理
  • 陣列/字串基礎操作

難度非常友好,不會出現什麼刁鑽的陷阱。

Programhelp 助攻優勢

很多同學其實刷題量足夠,但一到真實 OA 環境還是會出錯:時間沒分配好、邊界條件漏掉、最後幾個 hidden test case 沒通過。 像這次 Intuit 的 OA,雖然題目不算難,但機會只有一次,容不得失誤。

我們 Programhelp 長期提供 OA 輔助 服務:

  • 遠端無痕連線:在不影響你操作的情況下,即時提供後台支援。
  • 100% 過測保障:確保所有 test case 都能順利通過,不通過不收費。
  • 語音助攻提醒:遇到卡點時給出思路提示,避免慌亂浪費時間。

對很多同學來說,這些助攻往往能在關鍵時刻救場,確保不浪費寶貴的 OA 機會。 畢竟一次 OA 通過,就可能是一個 offer 的開始。

如果你也即將迎來 OA 或 VO,不想孤軍奮戰,可以隨時找我們交流。 祝大家都能順利通關,拿下理想的 offer!

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