Google Software Engineer | Early Career | 谷歌OA面試真題

3,373Views
Google Software Engineer | Early Career | 谷歌OA面試真題

在眾多程序員心中,Google 一直是夢想的終極站。它不僅擁有世界領先的工程體係與技術標準,更以極高的招聘門檻聞名。很多同學在準備 Google 軟件工程師(Software Engineer)崗位時,常常感到迷茫:到底面試流程有哪些?題型有什麼規律?需要重點準備什麼?本篇博客將為你係統梳理 Google 的面試流程、題型分佈,以及經典高頻真題案例,帶你站在巨人的肩膀上科學備戰,衝擊 Google dream offer!

Google的SDE工作要求和線上評估測試 (OA):

  • 職位要求: Google 初級軟體工程師職位要求至少一年的相關經驗。
  • OA 時間: 應徵者收到長達 30 分鐘的線上評估測驗 (OA),截止時間為 6 月 1 日凌晨 5:45(太平洋時間)
  • OA 內容: 全是性格測驗。建議應徵者以真誠、正面的態度回答,避免浪費寶貴機會。

面試題:尋找 K 個最接近的元素

Given a sorted array arr = [1,2,3,10,11,12], find k=3 closest elements around target m = ?

題目描述: 給定一個排序數組 arr = [1, 2, 3, 10, 11, 12] 和一個目標值 m,找到距離 m 最近的 k=3 個元素。

Clarification: 面試官提出​​問題:如果陣列是 [1, 2, 4, 5],目標值是 m = 3,需要選擇 2 和 4,剩下一個元素應該選擇 1 還是 5?

候選人: 任選一個即可。

Candidate 和 Interviewer 的確認:

  • 結果數組大小為 3
  • 無需額外排序。
  • 使用 二分搜尋雙指針法 解決問題。

代碼結構與解決方法:

演算法思路:

  1. 二分搜尋: 找到目標值附近的最接近元素。
    • 初始化 leftright 指針。
    • 利用 mid = left + (right - left) // 2 判斷移動方向。
    • 記錄最接近目標值的元素索引。
  2. 雙指針法:
    • 從最近元素索引出發,向兩側擴展。
    • 比較 leftright 指標的值,選擇更接近目標值的元素。
    • 更新指標並將元素加入結果集。
  3. 複雜度分析:
    • 二分搜尋複雜度:O(log n)。
    • 雙指標擴展複雜度:O(k)。
    • 總複雜度:O(log n + k)。
def find_closest_elements(arr, k, m):
    # 二分搜尋找到最接近的元素
    left, right = 0, len(arr) - 1
    while left < right:
        mid = left + (right - left) // 2
        if arr[mid] = 0 and (right >= len(arr) or abs(arr[left] - m) <= abs(arr[right] - m)):
            result.append(arr[left])
            left -= 1
        else:
            result.append(arr[right])
            right += 1
    
    return sorted(result)

面試總結與建議:

  • 關鍵點:
    • 展現對二分搜尋和雙指針法的熟練度。
    • 程式碼結構清晰,註解清楚,幫助考官理解。
    • 確保邊界情況處理正確(如指針越界)。
  • 面試後的交流:
    • 展現對職位的興趣,詢問將來負責的項目內容。

參考資料

Google OA | Leetcode

2024 Google OA

We provide services for writing online assessments (OA), proxy interviews, and interview assistance. For the OA writing service, we will ensure that youachieve a perfect score. 聯絡我們 現在預約。

author avatar
Jack Xu MLE | 微軟人工智慧技術人員
Princeton University博士,人在海外,曾在Google、蘋果等多家大廠工作。深度學習NLP方向擁有多篇SCI,機器學習方向擁有Github千星⭐️專案。
END
 0