#軟體工程師面試 #文長慎入
面試問題好像一直以來都是一個很多人關切的環節,在各大版上也一直有人會詢問。因為之前有幫公司面試一些人,還有加上從朋友那邊搜刮來的經驗,概括分享一下。
這邊感覺可以分成幾個部分:
1. 面試的題目是否都是演算法相關題目?
2. 是為什麼實際工作內容通常都和面試考的沒有相關?
3. 我現在學的東西對找工作是否有幫助?
4. 公司招募看的到底是這個人的學經歷,能力,個性,還是什麼,為什麼有些人很感覺很厲害卻一直無法拿到offer?
其實用FB排版不太容易,但因為懶得登入部落格,想說快速地打一打,所以也請各位見諒。
#面試的題目是否都是演算法相關題目
如果是投FANG之類的,Facebook Amazon, Neflix, Google (沒記錯應該是這幾間),反正就是這些有名的大廠,除了Netflix目前沒有遇到認識的聊過,其他都是考演算法沒錯。
當然也不只有會考演算法,根據你申請的職缺,可能也會加考一些其他的東西。
那其公司是怎樣呢?其實還是有很多公司會考演算法相關的,尤其是線上面試。
雖然在疫情下全都是線上,但一般來說,還是會有分兩種,一種是沒有真人的狀況下,就是給你像是HackRank這種網站,你點開可能有六十分鐘讓你做兩題。
做完以後你提交,你也不會知道你的分數跟分析結果之類的,看公司怎麼做設定,而且除了演算法相關題目,也可以設定選擇題之類的。
另一種就是真人面試,通常電腦自動面完以後,你可能會跟真人線上面試,真人也是會給你類似所謂的白板題,就是出一個題目讓你現場解題,然後中間可能有的會要你跟他討論,當然看面試官拉!
比較加分的還是,你編寫的時候可以邊闡述自己的想法,而不是低頭默默寫完,這樣也是有點尷尬。如果你編寫邊闡述的話,或者是少有點互動,也是展現你的溝通能力以及你對於題目的掌握能力,就像是你看到一個很簡單的題目 (2+3)*5 之類的,你可以很有自信的說,喔因為2+3在括弧裡面,所以要先算,然後再乘以5,展現底是真的有理解,而不是就是背題目之類的。
有些公司也可能是給你回家作業,叫你做一個小專案之類的,看你應徵的職缺,可能是叫你做一個UI 或者叫你建一個API 也可能叫你做一整個比較完整的東西出來。如果你是面試架構師的話,可能會叫你建一個架構,或設計一個架構出來。
然後也有的公司(像我們公司)就是需要pair programming 所以在線上面試的階段就是會有,真人跟你一起寫程式這樣。
#為什麼實際工作內容通常都和面試考的沒有相關
這個部分一直以來都是一個難解的謎題。像是Google Facebook這種大公司其實不難理解,畢竟他們是比較類似General 的招募,不是一開始就決定好你就是要去某個Team然後永遠讓你待在那個Team。就他們招募的是他們覺得,有潛力的人才,這樣不管需要做什麼都可以自由移動他們,給他們training就可以變得很好用。加上他們一次招募的數量也是相當龐大,考演算法相關的話,可以快速篩選,也更有機會找到他們需要的人才。
因為像是Facebook或Google這種有自己開發框架,開發技術的公司,他們的確有很多時候需要寫演算法或者系統優化的工作。
那像是普通的中小企業或新創,說真的,其實就是跟風。因為覺得人家Google Facebook都是這樣找到優秀人才,那我們也要依樣畫葫蘆,這樣鐵定也能找到厲害的人。
可是這樣找到的人進去以後,發現公司好像也是不知道在幹嘛,最後可能也會待不下去。所以這個部分,近年來也越來越多公司開始改進,開始思考什麼樣的招募流程最適合自己公司。
像是pair programming也開始成為近年來的一個流行的面試,有的公司並不是真的pair 但就是你要跟他們一起工作,了解他們公司的文化,或者跟他們的工程師進行一些深度討論。或者會問你說,假設給你設計一個系統,你要怎麼做之類的。
當然,面試問題跟流程都是每間公司各有不同,不是說你現在準備一種就萬無一失。所以說最好還是盡可能的,提升自己的基礎能力。
如果真的就是打算以FANG為目標的話,就可以從刷題開始,像是Leetcode, Hackrank, codewars之類的都不錯。之前有看到一篇文章,他刷了幾百題,而且每題刷了三次以上,真的很有毅力。刷題的重點就是在於熟練那些題目,可是也不要硬背,你練習是要練那個速度感。可是該理解的還是要理解。
因為你進公司以後,你還是需要使用那些東西來工作,不是只是為了刷題而刷題,而且面試官可能也會考你變形題之類的,或者問你一些記憶體相關的問題,或者是系統設計的問題,或者單純想知道,你是怎麼想出解法的,所以硬背題目跟答案其實也是不太行。
目前我的了解是,大部分中小型企業或者新創,很多時候你學習新東西的能力是比演算法更重要的,尤其是新創你什麼都要會,假設公司是剛起步的新創,你就要變成公司主要的技術專家,什麼東西不太會也要馬上現學現賣,也不要期望公司可能會給你什麼Training 或者有人給你依靠,可能同事還要依靠你。
中型或者普通大型企業,假設公司已經有產品的話,大部分的時候可能是既有產品維護,除非你剛好很幸運地在新產品開發的Team,這樣就有機會學到很多東西,不然維護的話,很多時候只是在了解產品本身是否有Bug,改善code品質之類,也要看公司是否有想花成本在維護上面。如果公司就是打算一個產品,改一點東西就繼續賣錢,那樣好像也不太需要一直去migrate 或者搞新東西上去。
如果你剛好很幸運在獨角獸新創,那你不但可以學到很多東西,還可以用最新科技,可能還有機會遇到大神帶你。
所以說選公司其實也是有點重要,面試的時候,可以問問他們說,那你平常的daily work是怎麼樣的,公司有沒有走敏捷開發,公司有沒有用雲端,公司一個Team的規模之類,以及公司會不會提供訓練。
#我現在學的東西對找工作是否有幫助
其實這個就要看你的未來三年五年十年規劃。
假設你就是都在寫前端,你也覺得我要寫前端寫一輩子,那好像就可以繼續一直focus在前端。如果你擔心自己會丟飯碗,是不是要學點後端,其實也是可以學,可是學了以後,你打算學得多專精?後端的東西也是會一直更新,一直進步。可能Restful API 也可能不是,DB也有好多種DB, 後端語言也很多種,所以你是想要學個大概,還是是希望,後端也問題的時候,自己可以去看code也看得懂?
前一個專案,公司有一個前端,他就是因為自己做的ticket幾乎都會碰到後端,就乾脆把整個後端也寫一寫,就變成fullstack,雖然他主要還是算前端。但也因為是.NET 所以前端跟後端可能沒有太明顯的分界,至少我相信他本來就會寫.NET了,因為幾乎有一半以上的controller都是他寫的。
如果你是寫react SPA,就是跟後端完全分開,你就只要寫到send http request 那邊的話,那好像也不太需要去了解到後端的架構,就是大概知道後端的endpoint 長什麼樣子就好,他們需要提供的文件就是需要提供。
如果說你是怕以後失業,怕公司可能覺得請全端比較划算,那的確還是多學一點好,反正多學也是投資自己。還能順便展現自己的上進心以及學習能力。
以consultancy來說好了,感覺是什麼都要學,像是公司可能就會說,啊最近我們的客人都要求要會什麼什麼,那你就趕快學一下。當然公司也不是很壞心的就叫你要馬上學會,公司最近也是有開始提供一大堆Training 之類的,還給你錢讓你去考一些證照。
目前我使用的語言主要還是Javascript 和 C#這樣,然後公司有希望我可以好好學學Java。其實也不是不會寫Java,如果有發漏我其他文章的話就知道,其實我最一開始學的時候,第一個語言就是Java。
在台大資訊系統訓練班的時候,我就上了Java和PHP的課程,為自己來英國念研究所做準備,一年的master course也都是Java 跟PHP為主,然後有用了一點Python這樣。可是工作以後就只有使用C#和Javascript 而已,所以說,學校學了也不一定會用到。
很多東西都是工作以後才學的,然後Python是平常自己刷題的時候會用,因為覺得不錯用。
其他的話,我覺得雲端相關的東西滿實用的,像是AWS或Azure 或GCP 有機會的話是可以自己摸摸。我自己是滿幸運的在工作上一直都有用到雲端產品,主要是AWS,前一個專案有用Azure 這樣。
DB的話,就是SQL和NoSQL可以個學一個,應該就滿好用的了,目前最流行的應該就是PostgreSQL和MongoDB 。如果對於Graphic Database有興趣也可以稍微看一下像是Neo4J之類的吧!
前端框架的話,就是React, Angular, Vue.js選一個吧!學會一個以後再去學其他的也不難,這三個我是剛好工作上都有用到,我自己是覺得Vue和React應該是比較好上手的,入門門檻比較低,Angular就一定要寫Typescript.
後端框架的話,看你用什麼語言,Java就學spring boot,
C#就是.NET,JS的話應該是Express,Python就Django,PHP就Laravel 。
Mobile的話我沒有寫過也不知道。
如果是平常想要補充知識的話,可以多念一些像是security 相關的東西,或者是Oauth那類的,也可以看一下架構之類的。像是Microservices, microfrontend, Domain Driven Development 這些概念性的東西。
也可以看一些像是Clean Code相關的書,怎樣重構原本的爛Code或者TDD相關的書。
反正前一篇文章就說了,這個職業就是要一直學,活到老學到老,如果打算做到老的話。
#公司招募看的到底是這個人的什麼
其實每個公司應該都不太相同。有的公司就是要招募他們覺得最聰明的人,所以就是一直問你一些很難的東西。或者就是只要找那種名校出來的人,最好有什麼數學物理奧林匹亞的。
有些公司看的是你的個性,符不符合公司文化,或者同事喜不喜歡你之類的。
有些公司就是很缺人,看你能不能馬上上工之類的。能的話就馬上錄取你之類。但通常那個可能是很雷的缺,例如公司找人找很久都找不到,終於看到一線希望。然後為什麼找不到人,可能是薪水開的偏低,或者公司名聲不好,上Glassdoor就可以查看公司的評價。也可能是職缺本身很雷,例如看起來就是個打雜缺。或者是前人都做不久就離開,所以需要一直找人。
有些公司是看你寫的code 例如看你的code乾不乾淨,可能你寫出來的code都很乾淨,設計也很好,思路也很清晰,他們就會錄取你。
有些公司看的是你有沒有某些特定的經驗,例如公司開那個缺剛好就是要找有AWS經驗的人,所以可能就是會錄取他們覺得AWS經驗比較多的人。或者是剛好想找之前有做過Serverless架構的人,或者是有碰過Kubernetes的人,這個時候真的就是靠經驗了。
也有的公司就是,他們也懶得找人,HR給他們面試的第一個人就會錄取,這個完全靠運氣。這件事情真的發生在我第一間公司的另外一個Team,主管非常不喜歡面試人,也覺得我工作都沒時間還要面試。所以就是隨便問問之類的,然後就跟HR說好。
--------------------------------------
以上就是我目前經歷過以及別人分享給我的經驗。我覺得面試的話,運氣真的也是佔滿大的比例,尤其是遇到像第一間公司那種狀況的。
當然年輕的時候可能會比較急躁,也很擔心自己找不到工作,考量到的還有金錢跟公司名聲,所以學不學得到東西也可能是其次。
選offer的時候,也可能就是可以分析一下,自己想要的到底是什麼,是金錢,是做得開心,還是想要可以做的久(這個也要看公司可以活多久),除了看Glassdoor也可以上網看一下公司財報。
最近的疫情衝擊下,有很多新創或中小企業也開始裁員跟減薪,所以公司平常的財務狀況和經營方針也是很重要的。即使公司可能一直都有收入,也可能因為現金管理問題,導致沒有足夠現金需要裁員。
小 編 大神 課程 評價 在 新思惟國際 Facebook 的最佳解答
碩士畢業,看著厚厚的碩士論文,卻不知道如何下手將它寫成文章投稿,也沒有人可以詢問,或是手把手地教我怎麼做。看來看去,論文都放到發霉,仍然沒有投稿出去。
於是打開了新思惟的網頁,發現這堂《#醫學論文與寫作工作坊》的內容正是我所需要的!和先前兩次的猶豫報名不同,這次我很果斷地拿出信用卡,認真的刷下去!
《#醫學論文與寫作工作坊》又再次的證明了,新思惟課程的品質與實用度都是高水準。在論文產量數字說話的時代,能有一整天的時間,讓大師們傳授心法,並手把手的指導各種問題,這種課程,研究所沒有、醫院沒有,真的只有新思惟有!
🎯 心有後悔,如果早上了這些課程……
課程的上半段,是關於一些統計軟體運用,以及論文的寫作分析,聽完之後,我心裡竟然有後悔的感覺,當初念碩士班時,如果有聽到這些課程,我就不用每天都追著博班的學長跑,拜託他教我統計方法和跑統計……
講師很精準的拆解論文的各大結構,並且提供各種心法,讓我們可以少走很多冤枉路,直接學習最好的寫法。而最讓我印象深刻的是,很多人會說寫論文是要靠靈感的,但並非人人都是佛系學者,時間到了論文自然會產出。我們缺的是有人指點方法,只靠碰壁式的學習方式,不但很痛,還可能無效。
圖表規劃也是非常實用,reviewer 利用零碎的時間審查論文,第一印象不順眼,就銘謝惠顧下次再來。一開始我心想,不就是美編嗎,有什麼學問?果然是只有菜鳥如我,才會有這種想法……聽完爵宏醫師講解的各種眉眉角角,回家後看了一下自己的論文圖表,嗯,菜味還真的很夠 XD
🎯 CP 值爆表的互動實作
統計方法和軟體運用,也是這堂課令人期待的部分,研究所時期因為有學校的資源,可以用 SAS 或 SPSS 跑統計,但是畢業後,就沒有資源可以使用,只能尋求學弟妹的幫助,於是常常受限。
而課程上的講解,加上新思惟經典的互動實作練習,竟然能讓我在短短 1-2 小時學會一個統計軟體,並且畫出圖表(雖然沒有得獎 XD)。相較於以前要花一整個學期學 SAS,結果寫 code 還是要上網找 Google 大神,MedCalc 根本 CP 值爆表,對於要快速寫出論文投稿,真的很夠用了!
🎯 上課有沒有用?請看校友傑出榮耀
http://bit.ly/2L3mxKG
√ 2019 全年論文數創新高
√ 超過 1000 位對論文寫作有興趣的朋友參與
√ 每個月都有校友登上 PubMed 的研究入門工作坊,歡迎你來!
🎯 一天弄懂「寫論文」、「統計」及「投稿」。
➠ 2020 / 6 / 13(六)醫學論文與寫作工作坊
➠ https://mepa2014.innovarad.tw/event/
🎯 歷屆學員評價
▪ 大學教授也推薦的高效寫作技能
▪ 還好有上課,讓我明白論文寫作錯在哪裡。
▪ 身為寫 paper 的門外漢,有恍然大悟的感覺。
▪ 指導教授拆不了的地雷,新思惟幫我拆掉了!
▪ 課程含金量超高,院內老師無法比。
🎯 堅強陣容
大道理人人會說,但應用時所遭遇的種種困難,該如何克服,就不是每個人都知道。#復健科吳爵宏醫師,#放射科蔡依橙醫師,與你一樣的世代,超過 100 篇 SCI 發表經驗,給你最實用的建議。
🎯 寫論文不是靠靈感
寫論文不是靠靈感,是像蓋房子一樣,有它的架構,只要懂得架構,蓋起房子就會井然有序。有了大原則,一篇、兩篇、三篇,都不是那麼困難了。
🎯 作為研究新手,新思惟課程協助您......
√ 不再害怕統計,讓你親手畫出數據圖。
√ 入門稿件寫作與準備要訣。
√ 投稿期刊選擇策略。多元文體與學術參與。
√ 還是寫不出來?過來人時間安排建議。
眾多校友從 0 到 1 突破困境,校友們平均每月 40 篇論文發表,最高單月 55 篇!2020 許自己一個有論文的未來,年初投資自己,年底 PubMed 有你!
🎯 一天弄懂「寫論文」、「統計」及「投稿」。
➠ 2020 / 6 / 13(六)醫學論文與寫作工作坊
➠ https://mepa2014.innovarad.tw/event/
小 編 大神 課程 評價 在 Annababy療癒之門 Facebook 的最佳貼文
這次的邁向覺知之路二日營,
對我自己來說,也是個很大的突破。
受邀開課後,我沒有任何的遲疑就答應下來了,
彷佛是這就是一個我需要突破的關卡
既然機會來了,就去做吧!
一如我以往所規劃的任何旅程。
接下來,我開始面臨很深層的內在清理。
很多關於課程的想法一個一個冒出來
但總是無法系統化,思緒跳來跳去
加上我原本就對於在群眾發言
經常會有一種剛開始很好,
之後就會開始臉紅,
然後腦袋一片空白的上台恐懼症,
這些,都是我接下來要面臨的內在關卡。
而如何把我的經驗系統化,
讓大家可以運用,
更是這課程的精髓與重點。
過去世我有很多在面對群眾發言時
被暗殺的記憶,我從小就有上台恐懼症,
這是我在接這個課程之前就知道的事情,
但我知道不能讓自己繼續卡在這個輪迴當中,
於是便不斷的化開累世的輪迴印記,
除了這個之外,也有很多的共時訊息,
甚至還有很多關於夢境的干擾,
都在機緣之下,慢慢的去做內在調整,
慢慢去化開每一個內在印記。
1/31(三)的晚上,
準備課程到半夜2點多,
靜心之後,睡了一覺,
該整理的內在印記以及種種干擾能量
整理得差不多之後,
隔日,靈感便如湧泉般一個一個冒出來。
我腦中自動出現過去看過的素材,
如何把這些素材與NLP以及我的靈魂學、
還有我對於能量的理解與邏輯串在一起,
如何配合動態靜心串接課程,
如何協助大家找到問題,
如何系統化,並以大家聽得懂的方式,
來解釋所有的原理,
以便協助自我的調整與冥想,
讓大家一步步找回自己。
我開始知道,我需要複習什麼樣的素材,
講什麼東西,畫出什麼圖、
播什麼影片,讓大家好理解,
我知道我看完什麼,就能得到什麼,
一切的能量流與訊息串流,配合得天衣無縫,
禮拜五晚上準備好後,
課程素材只得到了兩個字的評價:「完美!」
接下來我們的課程,非常非常的順利。
我負責了禮拜天一整日的課程,
當中有歡笑、有淚水,也有數不盡的感動。
對我來說,這亦是一趟豐盛的內在旅程。
開課當日,我才注意到,
我的第一次開課,竟正好是立春。
立春,是傳統24節氣中的第一個節氣,
象徵春天的氣息已經開始,雖然仍寒冷,
但天地間的陽氣已經悄然冒出頭,
就個人而言,也象徵靈魂新生的開始,
就如同暗夜的寒冬將盡,已露出細微的光明。
而這日,也正好是在我的黃星星波符當中開課。
開完課程的當日晚上便開始地震,
2/4-2/5凌晨,台灣連續12個地震,
直到2/6,在黃星星波符中水晶的藍風暴影響下,
發生了花蓮的大地震,
從能量的角度,看到一個銀色的表面被劃開,
裡面有很強大的金色的能量冒出來,
將這個銀色的表面一分為二,
這是一個劃時代的轉變能量,
透過清理而得到新生。
雖然地面仍不平靜,
但請相信一切都是最好的安排。
只要學會愛自己,把自己的力量拿回來,
在這個宇宙間,你便只需要當個衝浪者,
衝能量的浪,順著河流去看風景。
以下分享與整理同學課後的心得:
【學員A】
今天很謝謝妳,我想妳一定幫我灌了
滿滿愛的能量,因為後來我身體好溫暖、好舒服,
謝謝妳!超愛妳的!正道加油!
【學員B】
真的很謝謝妳,讓我看到我最深最深,
目前所面臨的一切問題,都來自過去對自己
所說過的那句話,在傳著訊息時,我還聽到過去的
自己曾對自己說:「你怎麼不去死!」
我會好好去陪伴、去愛、無條件的接納,
不再有任何批判的全然擁抱並且愛自己、
全然的接納自己,我好開心我發現了,
真的很謝謝妳!覺得這兩天的課程,
整個笑得很瘋狂,好喜歡跟你們一起上課跟玩耍~
【學員C】
這兩天非常感謝能認識各位,
也為這無法解釋的緣讚嘆!
這邊的正向能量很強,
而且磁場讓我很親切,
雖然我也是麻瓜,
沒有靈異第六感,
無法用言詞描述那種感覺,
可是我感覺得到我是被吸引的...
上課之後,我感受到一把鑰匙打開了,
那扇我之前站在前面停頓很久的門...
太多的資訊等著我去吸收與閱讀,
這次我決定不再去思考,
去聽聽看他們想告訴我什麼,
也許裡面就有我一直造成自身衝突的答案。
【學員D】
謝謝毛老師和Annababy,
這兩天的課程很充實,
之前一直有接獲新時代的一些資訊,
可是有點無法消化與自我詮譯。
今天聽到Annababy的詮釋後,覺得很多共鳴
和感覺到我的內在有接受,並有身心平衡狀態
的療癒感。
毛老師的榮格這段很有收獲,之前看分裂這部戲,
一直很有感,覺得有自我連結一些狀態,然後
自我詮釋它,聽到老師解說時,
覺得自己片段的解讀詮釋都串起來了,很讚!
今天的立春,很有意義耶,哈哈,
我允許那個迎接自我覺知之路的我!
【學員E】
謝謝老師跟Annababy,這兩天讓我發現,
原來過去我一直在否定自己、
不愛自己、傷害自己,
今天從一句「討厭自己」
發現過去傷害自己的種種,
一一浮出水面,讓我看到、聽到、感受到,
感激不盡!
【學員F】
回饋給baby,我喜歡妳的氣質與溫柔,
讓人感覺很舒服!
第一天與第二天活動完全不同,
可以看見毛老師與baby的不同風格,
還蠻開心的!
也讓我知道透過「神聖舞蹈」可以看見
在慣性裡都怎麼運作自己的,
還真的是蠻準的,哈哈!
【學員G】
給Annababy一個大大的擁抱,
謝謝精彩的課程內容~~
【學員H】
週末上毛老師和Annababy的覺知旅程,
禮拜一又接著上禪繞畫,
身體和心境的變化,真的有在練習,
就越發明顯有感受。
【學員I】請參閱:https://goo.gl/qcVUiG
【學員J】
Annababy那天的雙縫原理,
和把它看沒有的觀念,也觸動到我心。
也好像對應到了自己在看
進入你的感官世界這本書
和自己內在變化的發現。
就像發現了我的身份認同系統(次人格),
它像是被看見了,滿足了,
或是正在編造故事情節的意圖被看見了,
羞愧的停止了一樣,
現在很有趣的在和我的集體意識做朋友。
【學員K】請參閱:https://goo.gl/mYkMzo
-----------------------------------------
備課時,我為課程主軸抽了一張彩虹卡,
上面寫著:
I love my self and enjoy being
a great and divine expression of life.
我愛自己並且喜歡以偉大、神聖的方式來過日子。
也因此,我使用了「愛自己」這個主題。
這次的課程與相聚,是個美麗的恩賜。
相信你會被照顧得很好,
相信自己、找回自己,接下來你會發現,
我們人天生就是應該活在奇蹟當中。
【延伸資訊】
1.更多課程照片:https://goo.gl/DC16hD
2.改變現狀的行家(毛柏翔)課後分享:https://goo.gl/iRoJEg
#Annababy療癒系統
#Annababy諮詢說明:https://goo.gl/6HesZs