YC
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    2
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # 面試心得 最近剛獲得人生中第一個業界 offer,雖然只是中型公司,但是寫心得除了記錄自己的心路歷程也希望可以給在迷惘的人一些方向。 ## 個人背景 喜歡寫程式,成績普通,必修清一色B和C開頭,但程式課都有A以上(朋友carry+自己努力)。修過計程、前端程式設計、資料結構和機器學習。大學畢業之後當了快兩年的研究助理做~~套模仔~~ ML 相關,去年離職之後開始找後端工程師/軟體工程師的工作。 ## 心得建議 以下純屬個人觀點。每一點可以展開。 :::spoiler 1. **如果不知道自己想要什麼,可以先了解自己不想要什**麼。 \ 大學時期也不知道畢業要幹嘛,有機會就探索不同主題。個人自己有修過金融科技、經濟學和前端程式的課,發現自己沒有很喜歡這方面。當研究助理之後也是發現自己沒有很喜歡隨機的事情,所以也沒有打算念研究所。基本上都是通過刪除法才可以確定自己現在想要什麼。 ::: :::spoiler 2. **盡量去實習** \ 個人大學時期自認很爛也沒勇氣去找實習,感覺蠻可惜的。應該蠻多人都是實習轉正的。 ::: :::spoiler 3. **技多不傷身** \ 有時學了某個技能也不一定直接會用到,但是某天就意外發現會需要。比如我之前在朋友推坑下開始用 terminal 之類的 CLI,雖然當初只是因為感覺比較帥才開始,但後來當研究助理和面試的時候會用 Ubuntu terminal 蠻加分的。 ::: :::spoiler 4. **學程式挑個自己喜歡或者好入門的就好,程式邏輯比較重要。** \ 個人覺得 Python 算好入門,推薦可以買課程或書。我沒上過完整的 Python 課,Coding的時候都是 Google 找怎麼做,結果就是寫了很久的程式才知道什麼是 Class,但這個應該是很基礎的內容。之後自學 Java 的時候基本就只是在看語法。但先學 Python 通常不太會在意形態,所以學 Java 的時候要適應一下。 如果有明確目標就直接挑常用的語言,比如遊戲開發一般上會是 C#/C++。 ::: :::spoiler 5. **要學會某個技能最快的方法就是做個人作品。** \ 自學 Java 時和朋友拿了 OOP 作業,做一個 terminal-based 的大老二卡牌遊戲,有學到語法和一點 OOP 概念。之後自己寫了一個簡單的後端 Server API,裡面用到 Spring、MySQL 和 Postman,雖然沒有到很熟但至少履歷上可以多一些東西寫。 ::: :::spoiler 6. **ChatGPT 很好用,但是不要過度依賴。** \ 目前的ChatGPT比較擅長自然語言處理,所以寫 Code 不一定準確。個人使用方式是請它寫一段 Code,如果我看不懂就請它解釋,然後稍微跑一下看是不是符合自己要的,最重要的是知道自己在寫什麼。 有一家公司take home測驗是要實作特殊的 LRU Cache(可以去leetcode搜原版的 LRU Cache),寫了要求放在github上。雖然有說要設成非公開但是有些人大概是看不懂敘述所以可以找到超多別人的解答。 很多人都會選 Heap 來做這題,但是我自己覺得不對。後來和面試官確認說不能用 Heap,開始出現用heap的解答都是ChatGPT出來之後的時間。 但寫英文履歷和自我介紹還真好用。 ::: :::spoiler 7. **技術文件和原始碼是你的好夥伴。** \ 我一開始都會去看別人寫的教學,但是教學有時比較舊了就不適用了。 Debug不要 trial and error,盡量去看 error log、技術文件和原始碼,可以順便看別人怎麼寫和學一點點 Design Pattern。 ::: :::spoiler 8. **提升英文能力到可以習慣看技術文件。** \ 接著上一點,印象中技術文件都是英文,所以要讓自己習慣。我英文沒有特別強,大概就裸考全民英檢可以及格的程度,英文語法超爛,文件裡面的英文好像也不會到太深奧。 ::: :::spoiler 9. **有空刷一刷 LeetCode** \ 可以熟悉資料結構和演算法,雖然面試不一定會用到。 個人感覺刷 LeetCode 的重要程度是:ML工程師>後端>前端 朋友是做ML的,面試幾乎都會考LeetCode。我面後端工程師偶爾會有考試但是比較多是問後端經驗。 感覺前端的重要程度比較低是因為遇到的前端工程師都不知道資料結構是什麼。之前面試一家 AR 公司的後端,面試官是技術長兼前端工程師表示他們公司都是後端然後不會資料結構,像資料夾怎麼放就不知道。我當時OS想那個不是資料結構。 但技多不傷身,有空就刷一刷。 刷題時可以做筆記寫一下解題思路,一開始可以不用排斥看答案,腦內 Dependency 裝好了刷題比較有效率。 個人沒有很勤勞刷,主要都是離職後刷題,目前 Easy 106/Medium 121/Hard 2 ::: :::spoiler 10. **寫履歷** \ 個人履歷沒有到很亮眼的內容,基本就寫了學歷、之前研究助理工作內容、技能、個人作品和語言。如果沒有什麼作品可以把修課的作業整理放上去。 成就盡量量化成果,有寫過履歷應該知道要按照 STAR 原則。 技能那裡盡量多一些關鍵字,HR都是用關鍵字搜尋的。我起初只寫了 Python/Java/Git 這種比較具體的技能,後來某公司PM不小心把她在104的視角發給我,裡面出現了下面這些: ![image](https://hackmd.io/_uploads/H1UjZrYCa.png) 最後我是把 DSA、Design Pattern 和 OOP 加進履歷,雖然在這之前就有offer了。 ML那裡的關鍵字有看過 Pandas和NumPy。有趣的是甚至 VS Code都有。 我的履歷是用 Overleaf 的模板寫的,基本上就黑白,沒有顏色沒有照片。 Offer的公司面試官說很少看到履歷只有一頁的人,但他喜歡這個風格。 ~~我和他說一方面我也沒其他東西寫了~~。面試的時候應該最好不要示弱,但當時聊得很嗨加上我人比較老實一點就直接把實際情況說出來的。 面試前可以把履歷印出來備用,但我自己最後是都沒用到。 ::: :::spoiler 11. **投履曆** \ 我是去年12月初開始投,那時主要是在 Yourator 投,偶爾有面試但基本沒上。年後 Yourator 幾乎沒什麼新職缺了就轉投104。 有一點點小技巧是職缺都投當天更新的,回覆率比較高。 關鍵字也有點影響,本來搜後端工程師幾乎都是比較小型公司,但是搜軟體工程師/Java工程師會出現比較多大公司。 拿到offer前投了約100多家,沒有投Google那種大巨頭,有回覆的 17 家,有面試的11家。12月到現在3月,扣掉新年大概花了3個月。 ::: ::: spoiler 12. **面試** \ 面試前可以去找找面試趣有沒有其他人分享面試題目或心得。 通常要自我介紹。我大概說了大學開始寫程式的過程、研究助理的工作做什麼、為什麼不繼續做研究、未來規劃。比較是履歷上沒有的。喜歡寫程式好像有加分的樣子,我當初以為當工程師的人都喜歡寫程式,後來發現並沒有,所以後來自我介紹有稍微提一下。 大部分面試官都是問有沒有用過某某東西。比較少數是純刷題,印象中要刷題的大概只有兩家。面試前可以稍微複習自己的職缺需求和公司是做什麼的。 有時PM會問BQ,可以準備一下,我自己感覺都沒有回答到很好。 面試官如果問有什麼問題嗎最好問一下,表示你有興趣。自己之前忘了就沒問。後來大致上會問部門有多少工程師、上下班時間、公司福利、有沒有遠端等等,反正就算104有寫了還是可以問。 勞基法寫的那些不是福利,那些是應該的。 ::: ## 結語 我覺得自己是真的很幸運遇到一些貴人才可以在這裡寫這篇文章。找工作的過程真的很焦慮,尤其沒有offer的時候都會懷疑自己。面試的當下開薪水被面試官告知我一定可以更高時內心差點流淚。希望這篇心得可以幫助到各位。 最後送大家一句最近看葬送的芙莉蓮很喜歡的台詞: $$ \textbf{日積月累的努力不會背叛你。} $$

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully