加拿大(北美)軟體工程師工作與面試

2021-02-19 A家園

【作者介紹:高洲陽,2012年浙江大學信電系畢業,2014年McMaster大學研究生畢業,畢業後在IBM工作2年,現就職於Google公司,本文所有內容僅代表作者個人觀點】

 

現在IT工程師是相對高薪的職業,同時就業範圍比較廣泛,特別是網際網路時代,任何企業都離不開IT技術的支持。對於剛畢業的學生、新移民要找到軟體工程師的職位可能是一個新的挑戰,今天我分享一下我個人關於如何在加拿大或北美尋找軟體工程師工作的經驗。

 

首先介紹一下IT行業的特點。這個行業最大的特點就是它的變化非常快,快速的變化給這個行業帶來了很多的機會,也給從業者提出了更高的要求。另一個特點是技術非常的多,現在大的方向有做前端的、有做後端的、有移動開發的、有做iOS的、做測試的、做資料庫的等等,每一個大類裡面又分很多小類,每個小類裡還有很多相關的技術。面對快速變化的行業和眾多的技術,軟體工程師需要有持續的學習能力才能跟上變化。

 

我周圍學習軟體相關專業的同學畢業後大都有三個職業發展的方向。第一個方向是去大公司,大公司的產品比較穩定,生活工作的平衡比較好,第二個是去小公司,發展快的小公司可以學到很多東西,缺點是沒有大公司那麼穩定,第三個是轉行,轉去可以發揮IT的特長行業,比如金融行業有算法交易,高頻交易需要軟體工程師,現在股市裡已經有相當大一部分交易都是由算法直接自動完成的,不需要太多人工幹預。我覺得找到適合自己的方向,每一個選擇都不錯。

 

下面進入正題,談談如何去面試軟體工程師這個工作。這裡必須提一下一些軟體工程師的基礎書籍,即便是沒有學過軟體工程專業的人士,如果能把這些書看一看的話,我覺得也能去嘗試面試軟體工程師的工作。

 

Thinking in Java,這是最經典的學習Java程式語言的書,講解的非常全面而且具體,想要學習Java的同學可以多看看。

C++ primer,這是學習C++最好的書之一,跟上面的Thinking in Java類似,這本書會結合具體的例子把語法講解的非常的全面,學習C++的話強烈推薦。

Introduction to algorithms,這是最經典的學習數據結構與算法的書,數據結構跟算法在面試過程中非常的重要,幾乎每場面試都必須會考察的知識點,這本書講解的非常全面,唯一一個不足的可能是書裡面的例子都是用偽代碼寫的,有些同學可能看不習慣。

Operating system concepts,這是一本比較經典的介紹作業系統的書,在面試過程中不一定會考察上面的內容,但也是一本比較基礎的書籍,有利於為工作打下一個紮實的基礎。

Computer architecture a quantitative approach,類是於作業系統,這是一本基礎書籍,在面試中可能很少用到,但對成為一個好的軟體工程師也很重要

Compiler principles,techniques and tools,這是介紹編譯器最經典的書之一,面試過程中很少考察編譯器知識,但這本書會幫你深入了解從程式語言到機器認識的二斤制碼之間會發生什麼,要想成為一名好的軟體工程師是必須了解的知識。

bash,Linux,這兩個並不是書籍,很多面試也可能不會考察但非常重要,是工作中幾乎沒天都會用到的知識,需要好好掌握。相關的書籍非常的多,就不一一介紹了,大部分書都介紹的很好。

 


有了上面的基礎,就可以準備工作的面試了,北美的軟體工程師面試大都需要做算法題。這裡有幾個非常經典的練習算法題的資源

Cracking the coding interview,這本書相對來說是一本比較入門的算法書,裡面大概有三四百題,每道題都有詳細的講解,很多朋友問我我就推薦這本書。

Leetcode,這是一個非常流行的練習算法題的網站,現在大概有好幾百題,幾乎涵蓋了大部分面試中會碰到的算法題,雖然題目比較多但是很多題的算法都是一樣的,練習過程中需要學會總結,提高效率,有些題目非常難,可能超過了很多公司的要求,建議大家多看看網上的經驗再練習。

最後稍微談談具體的面試過程。一般很多公司會有三到四個面試環節,一個環節是是做一個網上測試,即公司會發給申請者測試連結,進入連結完成裡面的題目,包括編程基礎知識和一些算法。第二個環節是電話面試或視頻面試,這個相對後面的面試比較簡單,一般會考察編程算法能力。電話面試後,進入到下一環節,很多公司都會邀請申請者去公司面試。一般是多輪的一對一面試,每輪的面試時間大概在一個小時左右。面試的內容各個公司都不一樣,但一般主要考察寫代碼的能力。


相對而言,加拿大軟體工程師的職位比其他領域的求職還是有多一些機會的,關鍵在於個人的定位和充足的準備。紮實的專業功底,認真的準備,拓展職業領域的人脈。

相關焦點

  • 面試軟體工程師,這些準備工作你做了嗎?
    編者按:本文作者 Connor Leech 是在灣區工作的一名網頁開發人員,他在本文中面向那些正尋求找到一個軟體工程師崗位的求職者,探討了他們在面試環節可以採取的準備工作。雖然各個公司對於評估人才有自己不同的標準,但軟體工程崗位面試大致可分為兩類:特定領域知識面試和計算機科學基礎知識面試。求職者了解公司評估方式之後,也就可以有的放矢,分別採取相應的準備策略。
  • 如何應對軟體測試工程師面試
    隨著手機、電腦、平板等電子產品越做越好,人們在關注其硬體配置的同時,也越來越重視軟體的使用感。與此同時,隨著網際網路行業的高速發展,各類軟體層出不窮,軟體類公司越來越多,對於專業人才的需求量也越來越大,那麼對於想要進入軟體行業、成為一名測試工程師的求職者而言,應該如何應對軟體測試工程師面試呢?基礎知識要掌握軟體測試工程師是一個專業性比較強的崗位,在面試時,面試官會通過一些專業性的問題來判斷求職者的基礎知識水平。
  • 軟體工程師面試的十個問題
    許多軟體工程師的面試都著重於技術技能,例如對程式語言的了解。但是,一些企業面試官還會注意你的其它一些細節,接下看我們一起看一下十個非技術相關但也十分重要的問題。面試1.「為什麼要成為軟體工程師?」這是一個在面試中非常常見的問題,作為一名軟體工程師,建議通過強調開發熱情來回答這個問題。
  • 軟體工程師生存指南:面試準備、工作經驗和實用工具
    但是如何才能拿到這份工作?又如何才能做好這份工作呢?擁有相關經驗的 Valeri Alexiev 提供了相關建議和工具。其中包括了如何準備面試、如何以軟體工程師的身份工作以及如何持續改進方面的經驗之談。我剛開始工作的頭幾年是緊張學習的時間。我得面對現實,成為軟體工程師需要有很多技能,這些我之前都不知道。回顧過去,顯然學會那些東西是很好的。
  • 從新人到Director,淺談北美軟體工程師的進階之路
    在北美,工程師均有成梯度的級別劃分,但各科技大公司稱呼略有不同,比如有些公司代號為L,有些則為E。
  • 軟體工程師如何應對面試的可怕「反烏託邦世界」?
    在我看來,軟體工程是一種由學習和新經驗提煉出來的一種藝術形式。沒有哪個軟體工程師會只追求在某方面達到「還算精通」,並在他或她職業生涯的全過程中一直都在那個水平上止步不前。至少我是不希望有這樣的軟體工程師的:這樣的人很快就會被別人落下,敗者食塵。那麼,我的面試到底是怎麼回事呢?在長時間經歷這種反烏託邦過程之後,我覺得有必要把各過程分開來分析一下我的觀察結果,然後再復盤,以獲得一個更清晰的全局觀。
  • 加拿大軟體工程專業到底學什麼?
    理論知識&實踐:作為其中一個課程的學生,一方面您可能必須學習課堂的理論知識,另一方面是基於實際項目的實踐工作。這種教學方法的結合使您可以獲得基於理論的知識庫,以及軟體工程各個領域的實用技能。通過就讀軟體工作專業,您將掌握一系列技能,使您能夠成為一名稱職的軟體工程師。
  • 加拿大軟體工程專業不來了解一下?
    加拿大軟體工程專業畢業生就業前景  與計算機工程,計算機科學的畢業生一樣,軟體工程的畢業生在加拿大找工作還是相對容易的,並且起薪較高。多倫多地區的軟體工程師和設計師(NOC 2173)的就業前景將會很好。  以下因素造成了這一現象:  就業增長將帶來幾個新的職位。
  • 啟德教育:留學加拿大,如何在「矽谷」滑鐵盧拿到職業工程師認證
    你聽說過「加拿大工程師之戒」嗎?在啟德第一屆線上國際教育展的加拿大留學頻道,加拿大康尼斯託加學院校方代表Ryan Du分享了「加拿大工程師之戒」的源起與發展,「過了100多年以後,戒指性質變了,在原有的使命基礎上,它變成一種榮譽,很多申請加拿大工程學院的學生都是為了拿戒指。」
  • 軟體測試工程師面試經驗之談
    很多軟體測試朋友都想找份好工作,找一份待遇好、環境好,又有自己用武之地和發展空間的工作。
  • 軍隊文職面試助理工程師軟體工程_軍隊人才
    廣東軍隊人才網提供以下軍隊文職考試快訊信息:軍隊文職面試助理工程師軟體工程_軍隊人才,更多關於軍隊文職面試,軍轉幹考試快訊的內容,請關注廣東軍轉幹考試網/廣東人事考試網!
  • 軍隊文職軟體助理工程師面試_福建軍隊人才網
    廣東軍隊人才網提供以下軍隊文職考試快訊信息:軍隊文職軟體助理工程師面試_福建軍隊人才網,更多關於文職面試,軍轉幹考試快訊的內容,請關注廣東軍轉幹考試網/廣東人事考試網!
  • 千鋒分享:軟體測試工程師常見面試題
    我們面對一場未知的軟體測試工程師面試能夠做的除了做好本質工作,還有就是一些基本的面試題也是需要了解的。正所謂,機會永遠是留給有準備的人的。如果你好好的面對面試,那你肯定收穫的會比沒有準備的多得多。下面是千鋒軟體測試培訓講師總結的一套關於軟體測試的面試題(節選),為你的求職增加一些成功的機率。01.
  • 軟體工程師工作內容
    軟體工程師可謂是軟體項目開發的掌舵者。一名優秀的軟體工程師應當具有較強的邏輯思維能力,對於技術的發展有敏銳的嗅覺。雖然要求技術全面,但無須偏執於門門技術都精通,任何軟體工程師都有自己的技術特長和偏向,對於自己手中的技術,可有精通-掌握-熟悉-了解之分,根據工作需要和職業發展的具體情況來劃分。
  • 如何去面試軟體測試工程師?面試官教你怎麼回答!
    如何去面試軟體測試工程師?面試官教你怎麼回答!找工作,找更好的工作,永遠是職場人士特別是網際網路這個人才流動性巨大行業的永恆話題。提到找工作,則又離不開對於面試的探討。網上存在著諸多面試相關的文章攻略,不過站在面試官角度談面試的卻很少。本文就站在面試官的角度,談一談一個面試是怎麼組織的,有哪些技巧和思路。
  • 一位軟體測試工程師兩個月的面試總結
    三、阿里&淘寶:兩個都是電話面試,對這種面試形式不太習慣,都在下班後來的電話,主要問測試技術相關知識,兩個電話面的都沒結果。  四、三維通信:上市公司,新大樓不錯。先是HR的面試,問的很多,聊的蠻久的,後面是技術面試,感覺他們不是做純粹軟體測試,因為他們的產品大體是基站的擴放器之類,測試側重點主要是看儀器。所以聊的不投機,也沒消息。
  • 軟體工程師崗位面試技能解讀
    編輯的話:做為軟體工程師,在入職一個企業之前,技術面試是必不可少的一個環節。面試官通過對應聘者進行提問交流,考察應聘者的技術能力。但是往往技術面試問題考察的並不單是應聘者對問題技術本身的考察,更多的是基於對面試問題背後的學員的思考能力、設計能力、邏輯思維能力甚至團隊協作能力的考察。
  • 軟體工程師生存指南
    軟體工程師的工作不好做,我就遭遇了這一現實,因此不得不努力掌握很多我根本都不知道我需要掌握的技能。在很多開發者工作的最初幾年,我以導師的身份,對他們進行過輔導。我自己在這方面經歷頗豐,我的一些同事也有相應經歷。所以,基於這些經驗,我撰寫了本文,希望幫助那些需要幫助的人。
  • 全世界有多少軟體工程師?軟體工程師又造福了多少人的生活?
    全文共1708字,預計學習時長3分鐘不久前,軟體工程師內部就其世界影響力發起了一個討論:全世界有多少軟體工程師?軟體工程師又造福了多少人的生活?埃文斯數據公司稱,2016年北美約有440萬軟體工程師。據數據美國(DataUSA)統計,2017年美國軟體工程師、應用與系統軟體從業人數達到了136萬人。美國Don’t Quit Your Day Job網站給出的預計與埃文斯數據公司十分接近,2019年世界上將有420萬名軟體工程師。
  • 面向軟體工程師的面試準備–以Google為例的完整指南
    重要事項Google只聘請傑出的程式設計師,因此毫無疑問,解決問題和編碼技能(重點區域數據結構和算法)是Google在軟體工程中必不可少的技能,但您需要記住,Google也非常在意關於Googlyness的信息,涵蓋了對技術的熱情,好奇心,道德,友善,良好的公民身份等等。