Skip to content

blueBlue0102/LeetCode-Go

Repository files navigation

Leetcode Go

建立 Leetcode 題目目錄

範例:
https://leetcode.com/problems/two-sum 中複製 1. Two Sum 字串

sh .\create_leetcode.sh 1. Two Sum

文章閱讀筆記

是否在練習了許多題目後,卻仍在面試時感覺不到進步?
能想出解答,但想不出最佳解?
總是無法在時限內想出答案?
總是解不出難題?

作者身為前 Google SWE 告訴我們,以上這些問題的原因並不是因為我們不夠聰明或是努力不足,而很可能是因為練習的方法錯誤

真實面試

真實的技術面試和獨自一人刷題有很大的差異:

  • 技術面試是一個與面試官協作的過程
  • 需要與真人對談而非獨自思考
  • 題目中重要的細節很可能需要透過對話才能得出,並不會在一開始主動提供
  • 可能需要自己想出 examples 和 test cases

建議的做法

  • 不要依賴 IDE
    要習慣寫在紙上或白板等等沒有過多輔助或提示的地方
    因為真實面試環境中很可能也不會有這些輔助

  • 找個模擬面試官
    如果能找到同為軟體工程師的對象是最適當的
    但只要是能給予 feedback 的對象(例如台風、表達能力),即使沒有程式背景也可以

  • 計時
    大多的面試介於 45~60 分鐘之間
    訓練自己習慣在時限內解出題目很重要

  • 確保有正確接收題目的資訊
    面試時會由面試官口述題目,因此在過程中作筆記很重要,以免問重複的問題
    為了確保有正確理解題意,用自己的話再將題目複述給面試官,若有任何遺漏或錯誤,面試官有義務讓你知道
    如果是自己一個人練習的話,先將題目唸出一遍,再遮住題目後,用自己的話描述一遍,就像是和真人在對話一樣

  • 問問題
    即使已經自認很瞭解題目,或是過去已經解過這題

    • input 的 data type 和 range
    • memory 的 size 是否足以容納 input
    • 是否需考慮無效的 input
    • input 是如何被提供的
    • input 是否已排序

    獨自練習時,列出自己的提問和假設後,才去查看 LeetCode constraints,再記錄下答案

  • 思考出 input/output example

  • 開始解題前,說出自己的想法,再開始解題
    讓面試官能瞭解和跟上你的思路

  • 完成之後不要直接提交,而是用肉眼進行檢查

About

Leetcode - Go 刷題筆記

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published