0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣找到一份工程師工作

工程師人生 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師吳畏 ? 2018-11-27 15:33 ? 次閱讀

說實話,你是一位優(yōu)秀的工程師候選人嗎?你怎么評價自己?你面試過多少家公司?你拿到offer的比率是多少?試一下用以下的公式來計算。

x = 現(xiàn)場面試的次數(shù)

y = 拿到的 offer 數(shù)量

value = 100 * log(x) * y / x

如果你的計算結(jié)果小于90,請仔細(xì)閱讀這篇文章;如果大于120,那你并不需要這篇文章。

我是誰?

我沒有高中學(xué)歷。我19歲從芝加哥前往南加州開始編程。我把所有東西裝進了我的轎車?yán)铮砩现挥?00美金和一個offer,4萬美金年薪的初級程序員。那是在12年前,當(dāng)然又是另外一個故事了。

從那以后,我曾在 Double Helix、 Namco Bandai、 Google、Obvious 和 Square等公司工作過。也收到過來自Naughty Dog、 Activision、 Riot Games、 Blizzard、 Pinterest、 Goldman Sachs 等公司的offer。正由于此,用前面提到的公司算出我的得分是132。

我至少面試過500位工程師求職者,他們之中大概10%會收到offer,3%我認(rèn)為是”搖滾明星(rockstar)”類型的求職者,他們留給我的印象尤為深刻。

我想告訴你,絕對沒有萬無一失的方法保證你被錄用。因為這里面存在太多的不確定因素,特別是像Google這樣的公司,你將會面對5-7個隨機挑選 出來的工程師,他們會選擇一套他們認(rèn)為合適的問題來進行面試,通常會包括“白板編碼”。但是有一些工程師是很差勁的面試官,他們會問一些不公平的問題并作 出武斷的判斷。但是沒關(guān)系,這對我們來說正好,因為求職者通常會允許搞砸多輪面試中的其中一輪。

我可以做的就是告訴你怎樣做好充分的準(zhǔn)備,下面是我提供的一些建議:

技術(shù)建議:

1. 堅持編程:

很簡單,程序?qū)懙迷蕉?,你的收獲越多。通過編程,你不斷的練習(xí)。不過,最好的練習(xí)是有目標(biāo)的練習(xí)。在腦海里有一個目標(biāo),開拓新的領(lǐng)域,和挑戰(zhàn)自我。經(jīng)過一段時間后,你需要給你完成的和未完成的項目建立一個主頁。Github是一個非常好的用來建立項目主頁的地方。

2. 掌握至少一門編程語言

掌握一門編程語言會讓你擁有敏銳的洞察力。為此,你必須編寫大量的代碼,閱讀大量的代碼,同時要學(xué)習(xí)代碼里的最佳實踐。理論上,一門語言會有一個很活躍的社區(qū),和大量的產(chǎn)品代碼提供學(xué)習(xí)??蛇x的編程語言包括C#、C++、java、PHP、Python和Ruby。

在C++面試?yán)?,有一個經(jīng)常被問到的問題:“你給自己的C++知識打多少分,從1分到10分?”。我非常厭惡這樣的問題。愿上帝幫助那些給自己打了 9-10分的人,因為他們很快會露出馬腳。Bjourne Stroustrap給自己打了8分或者更少。這門語言真的太復(fù)雜,太豐富,而且隨著時間的過去,演進了太多次。離題了:)。

3. 理解復(fù)雜度

閱讀這篇文章( Read this cheat sheet)。 明確自己清楚復(fù)雜度的含義。然后實現(xiàn)一些常用的算法,比如Dijkstra’s, Floyd-Warshall, Traveling Salesman, A*, bloom filter, breadth-first iterative search, binary search, k-way merge, bubble/selection/insertion sort, in-place quick sort, bucket/radix sort, closest pair 等。再次重復(fù),堅持編程!

4. 重復(fù)發(fā)明輪子

你應(yīng)該使用你常用的語言來實現(xiàn)一些常用的數(shù)據(jù)結(jié)構(gòu)。不要依賴于庫。實現(xiàn)以下的數(shù)據(jù)結(jié)構(gòu)并為其編寫測試用例:vector (dynamic array), linked list, stack, queue, circular queue, hash map, set, priority queue, binary search tree 等。你應(yīng)該能夠很快的編寫完成。

5. 解決問題

不要在google上這樣搜索 like this。這都是一些基礎(chǔ)的編程概念。你要做的是,至少花費40小時編寫解決各種問題的代碼。其中最好的資源是TopCoder(Read this),然后嘗試去解決更多的問題。挑一些問題來測試你實現(xiàn)recursive, pattern-matching, greedy, dynamic programming, and graph problems的能力。瀏覽一下這些歸檔的問題(archived problems)。

這或許是我被Google聘請的首要原因,我有2個星期的時間沉迷在Topcode里。在那以后,我可以在閉上眼睛綁起一條手臂的情況下,編好 Dijkstra算法。我可以解決幾乎所有的和圖相關(guān)的問題。這都是在重復(fù)解答問題的步驟而已。Eric Schmidt說過“重復(fù)并不會使得祈禱沒有意義”。

6. 使編程簡單

至少,使其看起來更加簡單。隨著時間的過去,我了解到,編程是工程師工作中最直接和最簡單的部分。我常常用一個詞組“a simple matter of programming”,因為我相信更復(fù)雜的部分是在編程之前和之后。例如,設(shè)計好你所要編寫的代碼和確保你編寫的代碼能夠發(fā)布。讓你的面試官了解你清 楚的知道,編程只是到達(dá)目的的一種手段。

注意,在別人面前編碼可能會讓你感到害怕。自己找方法去練習(xí)白板編程和結(jié)對編程。Google基本上都是白板編程,而Square都是結(jié)對編程。我的朋友和同時Dan寫了一篇關(guān)于這個的文章( Read this)。

其他建議:

在這里,我不能自稱專家。事實上,有些人會說我甚至不善于和別人相處。但是我還是應(yīng)該說一些非技術(shù)的建議,其中有一些還是非常明顯的。

1 知道為什么你在那里

如果你在面試一家公司的時候,完全不明白為什么他們在這,他們是誰,他們在做什么,那么請不要去面試。

2 激情

如果你不在意,那么其他人也不會。對某些事情充滿激情??赡苁蔷幊?,或者別的。你會熱衷于利用業(yè)余時間編寫一個編譯器嗎?你會自己動手制造一個遙控直升機嗎?只要你有激情,都沒關(guān)系,你會使其變得有趣。

3 不要做任何假設(shè)

如果不確定,就詢問。如果他們問了你一個問題,你不是100%的肯定問題是什么,那么請他們再問一次。我見過許許多多的求職者從不詢問任何問題,結(jié)果浪費大量時間解答了錯的問題。

4 微笑

興奮,開心和積極。但不要過度。正如我前面提到的,人們會作出快速的判斷。確保你留給別人的第一印象是好的。微笑是能夠傳染的,我常常帶著糟糕的心情走進面試的房間,但是求職者一個合適的微笑會讓我快速的恢復(fù)過來。

正如我之前所說,沒有銀彈能夠讓你被雇傭。但是,作為一個工程師,你能盡你最大努力做的是 ABC: Always Be Coding. – 堅持編程。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 工程師
    +關(guān)注

    關(guān)注

    59

    文章

    1561

    瀏覽量

    68313
收藏 人收藏

    評論

    相關(guān)推薦

    正是拼的年紀(jì)|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發(fā)布于 :2024年07月25日 11:31:02

    請求一份CS1237 的應(yīng)用應(yīng)用原理圖和軟件代碼

    芯海老師好,我是小家電公司的工程師,準(zhǔn)備做個電子稱在產(chǎn)品中。我初次應(yīng)用CS1237,有問題賜教。第1,請?zhí)峁?b class='flag-5'>一份CS1237 的應(yīng)用原理圖和軟件代碼。第2,我們的主控單片是8位的,請問與CS1237連接通信有沒有問題。原理圖和
    發(fā)表于 06-23 09:39

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    和通信協(xié)議,以及熟練掌握種或多種編程語言和開發(fā)工具。 主要負(fù)責(zé)的任務(wù)和領(lǐng)域 嵌入式軟件工程師工作涉及到各種任務(wù),主要包括: * 系統(tǒng)設(shè)計:包括確定系統(tǒng)功能、分配資源、優(yōu)化性能等。 * 軟件編程:包括編程
    發(fā)表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試題

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15

    個電源工程師的成長路徑

    即將走馬上任電源工程師這個崗位,請問各位大佬,這個崗位的職業(yè)路徑般是怎樣的?
    發(fā)表于 04-08 14:19

    如何搞崩個硬件工程師心態(tài)?試試對ta說這幾句

    硬件工程師
    揚興科技
    發(fā)布于 :2024年02月20日 18:05:49

    #人工智能 #FPGA 怎么成為個合格的FPGA工程師?

    fpga工程師
    明德?lián)P助教小易老師
    發(fā)布于 :2023年12月18日 21:19:01

    電子工程師天上班就暴揍師傅。。。#科普 #示波器 #電子工程師 #打工日記

    電子工程師示波器
    安泰小課堂
    發(fā)布于 :2023年12月18日 17:36:12

    FPGA工程師需要具備哪些技能?

    ,需要具備系列的技能,才能勝任日益復(fù)雜的設(shè)計工作。因此,本文將從設(shè)計思路、硬件語言、EDA工具、數(shù)字信號處理、通信協(xié)議、測試驗證等多個方面,探討FPGA工程師需要具備哪些技能。
    發(fā)表于 11-09 11:03