自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

面試了100多位軟件工程師后的建議

新聞 前端
當(dāng)我第一次天真地冒險地進入軟件工程面試這個世界時,沒過多久,我覺得我在 2~3 個小時內(nèi)識別軟件工程師的能力就像法醫(yī)一樣精準(zhǔn)。

 [[342579]]

我們都討厭面試,然而,它卻是我們職業(yè)生活中無法回避的事。

當(dāng)我第一次天真地冒險地進入軟件工程面試這個世界時,沒過多久,我覺得我在 2~3 個小時內(nèi)識別軟件工程師的能力就像法醫(yī)一樣精準(zhǔn)。然而,我總想知道坐在桌子另一邊的人是什么樣的人,需要什么才能知道一個工程師是否適合這個角色。

在過去幾年,我進行了 100 多次軟件工程技術(shù)面試。盡管每家公司都有自己獨特的面試流程,但還是有一些人們?nèi)菀追傅某R婂e誤。下面是我關(guān)于如何避免犯下這些錯誤的忠告。

1. 優(yōu)秀的軟件工程師

成功之路和失敗之路幾乎一樣。(The road to success and the road to failure are almost exactly the same.)

——科林・雷克斯・戴維斯(Colin R. Davis,英國指揮家)

什么是優(yōu)秀的軟件工程師?沒有唯一定義。它關(guān)系到公司對角色的需要以及公司的多樣性和成熟度。一家剛剛起步的初創(chuàng)公司無疑需要很短的上市時間,而如果一家成熟公司已經(jīng)擁有龐大的客戶群,那么有可能會面臨規(guī)模和架構(gòu)方面帶來的挑戰(zhàn)。

在理解對業(yè)務(wù)有何意義的同時,構(gòu)建產(chǎn)品與解決復(fù)雜的技術(shù)難題是不同的。

細(xì)致的完美主義工程師不同于快速迭代的工程師。你需要了解公司想要的是什么,然后將你的行為和言論框定在這種思維中。不要去寫一份適合所有人的簡歷,而是要根據(jù)實際情況改寫簡歷。如果你不得不推銷自我(以某種方式,你總是要以正式的或其他方式進行推銷),你要用一種你將如何成為特定公司的資產(chǎn)的方式進行推銷。你應(yīng)該理解這個角色所要滿足的需求,并捫心自問,這個角色是否能夠激勵你,如果確實如此,那么就接受它吧。

你應(yīng)該弄清楚“優(yōu)秀”的定義在公司的背景下是什么樣子的,并表明你的知識、經(jīng)驗和態(tài)度是如何符合這個定義的。

2. 做好準(zhǔn)備

沒有準(zhǔn)備的人,就是在準(zhǔn)備失敗。(By failing to prepare, you are preparing to fail.)

——本杰明·富蘭克林(Benjamin Franklin,美國政治家及科學(xué)家)

在對公司一無所知的情況下參加面試,就像約會只談?wù)撟约阂粯?,這并不意味著不會有第二次約會,但也不會給人留下好印象。要努力去了解企業(yè),它的目標(biāo)、它的使命、戰(zhàn)略和成果。我絕不會因為一個人對此一無所知而讓他失望,但這也暗示了他的動機。同時,這也是 HR 傾向于評估的標(biāo)準(zhǔn)。

除了企業(yè)目標(biāo)之外,如果他們有技術(shù)博客的話,一定要查看他們的博客,并了解他們的技術(shù)棧。應(yīng)聘者通常不會對公司表現(xiàn)出應(yīng)有的興趣,但一旦他們表現(xiàn)出來,這就是脫穎而出的絕佳方式。

3. 要有批判性的意識

受教育的標(biāo)志是你可以不接受一種觀點,但你能夠容納它。(It is the mark of an educated mind to be able to entertain a thought without accepting it.)——亞里士多德(Aristotle,古希臘大哲學(xué)家及科學(xué)家、柏拉圖的學(xué)生、亞歷山大大帝的老師)

在職業(yè)生涯中,我遇見過很多杰出的技術(shù)專家,他們都是各種各樣的人。盡管如此,他們至少都有一個共同點:都是那些挑戰(zhàn)現(xiàn)狀,使流程和技術(shù)都得到改進的人。很多求職者在被問到是否有問題提問時,卻沒有什么可補充的?;乇芴釂柧褪窃诶速M機會,要抓住這個機會,詢問公司的技術(shù)決策和他們面臨的挑戰(zhàn),并討論每種技術(shù)的利弊。

例如:

  • 他們是否正在考慮遷移到 HTTP/3?
  • 他們是否正在轉(zhuǎn)向事件驅(qū)動的微服務(wù)架構(gòu)?
  • 他們使用什么類型的消息代理?為什么不用 Kafka 來代替 RabbitMQ?
  • 他們使用什么樣的數(shù)據(jù)庫技術(shù)?用例是什么?在這個用例中,ElasticSearch 是 SQL 很好的替代方案嗎?

諸如此類。對技術(shù)決策的質(zhì)疑將會表明,你不僅了解這些技術(shù),并且可以爭論何時應(yīng)該使用它們,而且,你還可以進行批判性思考,并最終關(guān)心如何改進你所使用的任何應(yīng)用程序。

4. 技術(shù)挑戰(zhàn)

理論的正確永遠(yuǎn)無法用足夠的驗證性實驗來證明,然而理論的錯誤僅僅需要一個證偽性實驗就夠了。(No amount of experimentation can ever prove me right; a single experiment can prove me wrong.)

——阿爾伯特·愛因斯坦(Albert Einstein,猶太裔理論物理學(xué)家,創(chuàng)立了現(xiàn)代物理學(xué)的兩大支柱之一的相對論。)

當(dāng)前技術(shù)面試狀態(tài)的“忘恩負(fù)義”和直截了當(dāng)?shù)牟还浆F(xiàn)象令人震驚。大多數(shù)過程都涉及到解決與計算機科學(xué)基礎(chǔ)相關(guān)的某種問題,比如圖搜索或排序算法。我發(fā)現(xiàn)一件軼事,求職者必須用最少的資源占用實現(xiàn)一個樹遍歷算法,這樣當(dāng)他得到這份工作時,首先要做的調(diào)試是一個十年前的龐然大物。作為一名應(yīng)聘者和面試官,我覺得這種自命不凡的企圖美化我們工作的復(fù)雜性令人沮喪。這些類型的挑戰(zhàn)很可能會讓那些頭腦中沒有這些新概念的高級開發(fā)人員不屑一顧,即使他們在這個角色中可能有非常豐富的經(jīng)驗。

我同意這些類型的練習(xí)并非完全無用;快速解決小問題的能力與解決復(fù)雜問題的能力有關(guān),這些復(fù)雜問題需要幾天的時間才能解決,但它們從根本上是不同的。面試過程應(yīng)該盡可能地反映日常工作的實際情況。一些過程包括在真實應(yīng)用程序上尋找和修補 Bug、結(jié)對編程,或者實現(xiàn)自動化測試,我覺得這些都比深奧的算法問題要充分得多。對于這種類型的情況,一定要適應(yīng)公司的語言選擇,不要害怕提問,這樣你才能了解挑戰(zhàn)的全貌。

不過,對大多數(shù)過程來說,你都會面臨某種算法或數(shù)據(jù)結(jié)構(gòu)的問題,除非你具備良好的計算機科學(xué)基礎(chǔ)知識,否則無法繞過這些問題。像《程序員面試金典》(Cracking the coding interview)這本書、Leetcode 網(wǎng)站、Pramp 網(wǎng)站等這樣的資源都是很好的參考資料。

不管怎樣,一定要大聲解釋你的理由。通常,問題是相互疊加的,如果你在其中一個問題失敗了,也沒有關(guān)系,只要你能解決其余的問題。如果你陷入困境,面試官會幫助你的,關(guān)鍵是要看到應(yīng)聘者能不能從一個不太為人所知的問題中恢復(fù)過來,并在其他方面做得很好,這才是至關(guān)重要的。另外,當(dāng)你遇到困難時,經(jīng)驗豐富的面試官可能會從提問轉(zhuǎn)變?yōu)榻虒W(xué),所以不要將這種轉(zhuǎn)變解讀為失??;環(huán)境的變化有助于疏通大多數(shù)人的障礙。

記住,面試官既是來幫助你的,也是來評價你的,而不是評判你。你要把面試官看成一個在問題上指導(dǎo)你的老同事。一定要跟他討論各種解決方案和折衷方案;這將顯示出你對這一問題的了解程度。

5. 不要灰心喪氣

成功就是你比失敗多爬起來一次。(Success consists of getting up just one more time than you fall.)

——奧立佛・高德史密斯(Oliver Goldsmith,愛爾蘭詩人、作家與醫(yī)生。)

我曾經(jīng)遇到過一名這樣的求職者,他在面試中表現(xiàn)得特別不自信,沒有把握的樣子。盡管他缺乏安全感,也很懷疑自己,但由于他做得很好,所以他還是被錄用了。但是,在安頓下來后,在日常工作中,他信心十足,能夠領(lǐng)導(dǎo)討論,并在技術(shù)課題上指導(dǎo)團隊。后來有一次,我問他為什么在面試的時候他看上去如此不自信。他跟我解釋說,在那次面試之前,他經(jīng)歷了一連串慘敗的面試,當(dāng)時他還不能很好地應(yīng)對面試被拒絕的情況。遭到拒絕是求職過程的一部分,你不能讓它影響到你。

要在幾個小時內(nèi)評估與軟件工程師相關(guān)的每一項能力是不可能的。每個過程都會為公司選擇相關(guān)的流程,并盡可能以最好的方式對其進行評估。這些可以是你所擅長的,也可以不是。糟糕的招聘對公司來說很難,特別是在士氣方面來說,他們加入的團隊更是如此。他們也付出了巨大的代價。再加上許多公司沒有一個標(biāo)準(zhǔn)化的流程(重點是比較候選人,因此每個面試官都應(yīng)該處理相同的問題,而且應(yīng)該有一個明確的流程,對每個面試官都是一樣的),這樣你就會留下相當(dāng)比例的錯誤否定。在面試中表現(xiàn)糟糕并意味著你就是糟糕的人。而意味著你所表現(xiàn)出來的能力在那個特定時間里并不是那個過程中最好的。

我知道,當(dāng)我失敗了,看到或聽到類似這樣的東西時,我總覺得那都是胡說八道。我一生都在努力成為一名斗士。然而,有時候我也會輸?shù)籼嗟膽?zhàn)斗??偸禽?shù)亩肥恐徊贿^是一個出氣筒。但是有時候,你必須找到內(nèi)心的力量,才能將自己從屈服的殘骸中拉出來。站起來,舉起你的手,再戰(zhàn)斗一次,不要讓失敗影響到你。

6. 這一切都與激情有關(guān)

你的工作將會占據(jù)你人生中的一大部分,同時能夠讓你真正滿意的只有做你認(rèn)為是好的工作,而且要想做偉大的工作只有你喜歡你所做的工作。如果你還沒有找到,繼續(xù)尋找。不要安定下來。事實上,當(dāng)你找到你心中就會知道。并且,就像任何好的關(guān)系也會隨著一年一年地過去而變得越來越好。所以要一直尋找直到你找到。不要安定下來。(Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven’t found it yet, keep looking. Don’t settle. As with all matters of the heart, you’ll know when you find it.)

——史蒂夫·喬布斯(Steve Jobs,美國企業(yè)家、營銷家和發(fā)明家,蘋果公司的聯(lián)合創(chuàng)始人之一)

當(dāng)在日常生活中的困惑和混亂中前行時,我們渴望那些清晰的時刻,當(dāng)我們在挑戰(zhàn)或任務(wù)中迷失自己時,時間會彎曲,現(xiàn)實會消失。在那些超越的時刻,你的一生都會在你不經(jīng)意間流逝。這就是編程對于我和我們中的許多人來說的意義。那就是刻在我們內(nèi)心深處的永恒而堅定的激情。而同樣的激情也是成功的秘訣。

我看到應(yīng)聘者在我們的面試過程中表現(xiàn)出色,但他們在應(yīng)聘職位上表現(xiàn)一般。他們并不差,才華橫溢,知識淵博,但他們只是表現(xiàn)平平。有時候,你擅長那些你并不真正關(guān)心的事情,但正是這種激情會驅(qū)使你走向成功。要評價一名軟件工程師的熱情并不容易。但是,如果我問你有什么副業(yè)項目,或者你曾經(jīng)做過的最好的項目是什么,你可能會在整個下午熱切地討論幾個項目。不管它是一個坐擁數(shù)百萬用戶的平臺,還是一個幾乎不起作用的副業(yè)項目,都無關(guān)緊要。一個充滿激情的程序員會滿懷熱情地描述他應(yīng)用的每一種模式、他征服的每一個挑戰(zhàn),甚至每一次破解和失敗。這樣,任何面試官都會知道,坐在他桌子對面的那個家伙跟他一樣,也是一個對編碼充滿無限熱情的程序員同事。

這是一個非常真實的反應(yīng),你幾乎可以從他們的眼神和肢體語言中看出。要么你對它充滿熱情,要么你對它一點熱情都沒有。如果你有激情的話,一定要談?wù)撃切┠艽騽幽愕捻椖?,這可能是一次普通面試和一次優(yōu)秀面試之間的區(qū)別。

7. 結(jié)語

我一直覺得,作為一名應(yīng)聘者,壓力最大的部分是知道我需要得到這份工作,并證明自己是足夠優(yōu)秀的。而面試官的角色也并非完全沒有壓力,他們需要確保有充分的理由批準(zhǔn)或否決某人,這樣做出來的結(jié)果經(jīng)得起審查,就我的情況而言,總是如此,尤其是憑良心。

大多數(shù)面試官都會不得不在某些時候接受面試,所以他們很有可能是有同情心的。我希望我這篇文章能夠幫助你從另一個角度看待問題,我真誠希望,我的建議能夠幫你謀得你真正想要的工作。

 

責(zé)任編輯:張燕妮 來源: 架構(gòu)頭條
相關(guān)推薦

2009-06-29 10:58:08

軟件工程師求職者

2016-02-18 10:18:34

Java工程師面試考綱

2013-09-03 09:30:44

軟件工程師軟件工程師頭銜

2022-09-16 08:00:00

軟件工程師求職薪酬

2013-09-18 14:38:06

面試

2022-07-29 09:12:44

軟件硬件開發(fā)

2009-02-11 13:15:54

軟件工程師女工程師google

2022-01-16 07:12:30

軟件工程師吵架開發(fā)

2009-03-11 11:02:19

面試軟件工程師軟件開發(fā)

2020-05-11 22:44:43

Python開發(fā)軟件工程師

2023-06-05 10:07:13

軟件工程平臺工程師

2009-02-27 10:34:13

2017-11-09 14:12:44

大數(shù)據(jù)軟件工程師算法工程師

2015-06-02 04:08:42

軟件工程師私活

2018-01-09 17:21:18

軟件工程師創(chuàng)業(yè)代碼

2021-04-22 09:00:00

軟件工程師代碼

2015-06-02 11:29:55

軟件工程師程序員

2010-08-10 13:22:41

2009-02-12 11:52:23

軟件工程師職業(yè)規(guī)劃價值

2009-02-12 14:45:17

軟件工程師
點贊
收藏

51CTO技術(shù)棧公眾號