chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

普通工程師和優(yōu)秀工程師的差距在哪兒

工程師人生 ? 來源:工程師吳畏 ? 2019-05-29 16:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我相信每個(gè)工程師都曾懷揣一個(gè)成為技術(shù)大牛的夢想,可是真正走向技術(shù)大牛這條路的少之又少。工作中我們常常會(huì)發(fā)現(xiàn),有些同學(xué)工作沒幾年但成長迅速;很快就能走向團(tuán)隊(duì)核心崗位,成為一名優(yōu)秀的工程師;而有些同學(xué)工作幾年后卻在公司里默默無聞,能力和職位上都沒有太大提升,得過且過最終淪為一名普普通通的碼農(nóng)。所以我常常會(huì)有感慨,太多人(包括我自己)真的只不過是用一兩年的經(jīng)驗(yàn)在職場上混了五年十年甚至更久。

那么普通工程師和優(yōu)秀工程師到底差距在哪兒?那些優(yōu)秀工程師是怎么一步一步成長起來了的呢?以下就我自己的觀察和思考來談一談,看看能不能一探究竟,了解通向優(yōu)秀工程師的法門;然后與大家共勉,一起朝著優(yōu)秀工程師的方向去努力。

差距在哪兒?

我們拿吳軍老師在得到專欄中講解的一道 Google 面試題來展開聊一聊,看看面對同樣的問題,普通工程師和優(yōu)秀工程師是如何思考解決問題的。

問題如下:如何設(shè)計(jì)一個(gè)地圖功能,找到離當(dāng)前最近的加油站?

在最近公司的招聘面試過程中,我也拿類似的問題去問過部分候選人,大部分候選人都把問題想的太簡單。通常普通工程師給出的解決方案是:根據(jù)經(jīng)緯度算出所有加油站到當(dāng)前位置的距離,然后對這些加油站按照距離的遠(yuǎn)近進(jìn)行排序,選擇距離最近的幾個(gè)加油站。

可問題是,在路面上行駛,從 A 點(diǎn)通往 B 點(diǎn),往往不是直線距離。因?yàn)闊o論是駕車還是步行,我們都不可能穿過建筑直達(dá)目的地,A 點(diǎn)到 B 點(diǎn)的距離是很多距離片段的組合,這可能會(huì)有上千種組合,那么如何從這上千種組合的路線中選擇距離最近的一條路線呢?使用動(dòng)態(tài)規(guī)劃算法能夠很好的解決這個(gè)問題,在上千種組合中只需幾十個(gè)步驟就能計(jì)算出最短路線。這對部分工程師已經(jīng)是個(gè)門檻了。

接下來就需要按照距離排序,找到最近的幾個(gè)加油站。

絕大部分工程師面對這樣的問題都會(huì)想到排序,排序當(dāng)然能夠解決問題,但并不是最優(yōu)方案。就算使用效率最高的快速排序,也需要 N 乘 LogN 的計(jì)算量。假設(shè)城市里有 1000 個(gè)加油站,那么 LogN 約等于 10,也就是說計(jì)算的復(fù)雜度差不多是 1000,當(dāng)然 1000 的計(jì)算量對于計(jì)算機(jī)算不上什么,但是考慮到一個(gè)城市的路面上可能有上百萬輛行駛的汽車,這個(gè)計(jì)算量的消耗就很可觀了。

假設(shè)我們只需要最近的 5 個(gè)加油站,如果對所有的加油站排序那顯然做了很多無用功。數(shù)據(jù)結(jié)構(gòu)中有一種叫二叉樹的數(shù)據(jù)結(jié)構(gòu),在二叉樹中有一種更細(xì)的分類:“堆”,通過堆排序我們可以只用排出前幾名,而不用管后面的名次。通過堆排序排出第一名的時(shí)間復(fù)雜度是N,排出第二名、第三名、第四名、第五名的時(shí)間復(fù)雜度都 LogN,比對 1000 個(gè)加油站排序要快的多。對于我們的需求:選出最近的 5 個(gè)加油站,差不多只需要 1000 的計(jì)算量,比快速排序快了近 10 倍。

到這里你是不是覺得問題已經(jīng)解決的很完美了?

我們在解決問題的時(shí)候不由自主的做了一個(gè)假設(shè),就是整個(gè)算法的優(yōu)化過程是圍繞一個(gè)使用者的某一次使用來進(jìn)行的。但是在現(xiàn)實(shí)生活中,一個(gè)城市里有很多人會(huì)同時(shí)在不同的地方尋找加油站。類似的,同一個(gè)人在不同的時(shí)間不同的地點(diǎn)開車時(shí)也需要尋找加油站??紤]到這個(gè)現(xiàn)實(shí)場景,時(shí)時(shí)刻刻都有很多人在不停的尋找附近的加油站,那么很多計(jì)算其實(shí)是可以預(yù)先算好的,等到提供服務(wù)的時(shí)候直接把結(jié)果調(diào)出來就好了,避免重復(fù)計(jì)算。

比如我們可以把上海市所有路口點(diǎn)到點(diǎn)的距離事先計(jì)算好,當(dāng)一個(gè)人要找加油站的時(shí)候,距離的計(jì)算就不再需要實(shí)時(shí)地采用動(dòng)態(tài)規(guī)劃來計(jì)算了,只需要計(jì)算從當(dāng)前位置出發(fā)到附近幾個(gè)路口的距離,再計(jì)算下某個(gè)加油站到它所在地附近路口的距離,由于各個(gè)路口點(diǎn)到點(diǎn)的距離是事先計(jì)算好的,因此做幾次簡單的加法即可,這樣計(jì)算距離的時(shí)間就能省幾十倍。這就是對上面的問題進(jìn)行了全局優(yōu)化的好處。

其實(shí)面對這樣的問題,優(yōu)秀的工程師并不會(huì)遇到問題就直接著手去解決,而是會(huì)更全面的去考慮問題。比如會(huì)考慮到目前的行車方向,比如在解決問題中其實(shí)距離要求并不需要太精準(zhǔn),因?yàn)閷τ陂_車的人來說 2.5 公里和 2.3 公里其實(shí)并沒有什么差別,再考慮到道路擁堵的情況,200 米的距離更加可以忽略不計(jì)了。但如果是行人要尋找附近的便利店,200 米的距離就不得不考慮了。

那么從上述這個(gè)問題的解決上我們能看出普通工程師和優(yōu)秀工程師的差距在哪兒呢?

1. 優(yōu)秀的工程師必然有著扎實(shí)的計(jì)算機(jī)基礎(chǔ)知識(shí),很好的掌握了如數(shù)據(jù)結(jié)構(gòu)、算法這些工具,能夠在工作中借助這些工具幫助自己解決問題;

2. 優(yōu)秀的工程師會(huì)盡量避免做無用功

3. 優(yōu)秀的工程師不會(huì)只滿足于完成任務(wù),他們會(huì)不斷的去思考探索最佳的解決方案;

4. 優(yōu)秀的工程師不會(huì)被思維所局限,考慮問題更加全面,懂得從全局角度優(yōu)化解決方案。

從這個(gè)例子我們也能看出來,一個(gè)優(yōu)秀工程師解決問題的性能可能是普通工程師的幾百上千倍,一個(gè)優(yōu)秀的解決方案甚至能幫助公司節(jié)省幾百萬的服務(wù)器費(fèi)用。

因此,在軟件工程領(lǐng)域一百個(gè)臭皮匠也頂不了一個(gè)諸葛亮!

做為普通工程師的我們?nèi)绾翁嵘约海?/p>

學(xué)好數(shù)據(jù)結(jié)構(gòu)、算法、操作系統(tǒng)原理、計(jì)算機(jī)體系結(jié)構(gòu)等基本功,打好基礎(chǔ)。

如果你是天才,面對像上面這樣的問題,即使你沒有學(xué)過計(jì)算機(jī)理論知識(shí),即使你不知道動(dòng)態(tài)規(guī)劃、二叉樹、堆排序,可能也能依靠智力上的優(yōu)勢解決。但遺憾的是絕大多數(shù)人都不是天才,因此在解決問題的時(shí)候就需要借助各種工具以便事半功倍。對于開發(fā)人員來說,數(shù)據(jù)結(jié)構(gòu)、算法以及各種數(shù)學(xué)知識(shí)就是我們手上的工具。

要成為優(yōu)秀的工程師需要我們靜下來,沉下去,老老實(shí)實(shí)的吃透你所做的項(xiàng)目。做好簡單的事,才有機(jī)會(huì)去做更有挑戰(zhàn)的工作。

很多工程師會(huì)抱怨自己一直在做業(yè)務(wù),沒什么挑戰(zhàn),感覺不到成長??墒聦?shí)真的是這樣嗎?往往我們的業(yè)務(wù)需求就像這道面試題,看似簡單其實(shí)想要做好,背后需要下很大功夫。就算平時(shí)做的業(yè)務(wù)真的很簡單,我們是不是還可以想想,我的代碼實(shí)現(xiàn)是否有更好的方式?面對類似的業(yè)務(wù)我的效率是否可以提升?線上出 Bug 了是否可以采集到線上 Log 快速定位并解決問題?你對自己開發(fā)的項(xiàng)目中用到的各種框架是否真的理解其原理,是否真的去翻過代碼學(xué)習(xí)過這些優(yōu)秀框架的實(shí)現(xiàn)?就拿 Android 開發(fā)來說,各種開源框架如 RxJava、Retrofit、OKHttp、ORM框架、熱修復(fù)框架、插件化框架等等,如果你真的去認(rèn)真學(xué)習(xí)過一遍,我相信已經(jīng)遠(yuǎn)超行業(yè)里 90% 的工程師了。

同時(shí)在工作中要有不怕吃虧的心態(tài),主動(dòng)去承擔(dān)更多的職責(zé);做的更多往往也意味著接受了更多的挑戰(zhàn),獲得了更多的鍛煉機(jī)會(huì)。

利用碎片時(shí)間系統(tǒng)化學(xué)習(xí)

很多人反對碎片化學(xué)習(xí),但我并不完全認(rèn)同這種看法。碎片化的時(shí)間既可以用來碎片化的學(xué)習(xí),也可以用來做系統(tǒng)化的學(xué)習(xí)。很多人都指望能夠有一天,有一大片的時(shí)間,好好的、系統(tǒng)化的把計(jì)算機(jī)知識(shí)惡補(bǔ)一遍。所以買了算法導(dǎo)論、深入理解計(jì)算機(jī)系統(tǒng)等等經(jīng)典書籍放在家里,等著有一天能夠有一大片時(shí)間,沐浴更衣、正襟危坐來好好學(xué)習(xí)。但是學(xué)了不久很快又被其它事打斷了,結(jié)果下一次又重新再來。最后往往只是把一本書的前幾十頁反復(fù)看了好多遍,其實(shí)這種才是真正的碎片化學(xué)習(xí)。

而所謂的利用碎片化時(shí)間系統(tǒng)化的學(xué)習(xí)是指制定好完善的學(xué)習(xí)計(jì)劃,利用好每一個(gè)碎片時(shí)間,比如上下班的路上、等公交的時(shí)間、坐地鐵的時(shí)間、排隊(duì)的時(shí)間,甚至是蹲馬桶的時(shí)間來按計(jì)劃的、體系化的學(xué)習(xí)提高。

持續(xù)學(xué)習(xí),堅(jiān)持閱讀,保持輸出

技術(shù)更新迭代太快,而計(jì)算機(jī)科學(xué)之復(fù)雜也遠(yuǎn)不是在學(xué)校的幾年學(xué)習(xí)就能完全學(xué)透的,這就要求我們保持持續(xù)學(xué)習(xí)。但往往很多人走出校門后就再也沒有正兒八經(jīng)的學(xué)習(xí)過、沖過電,這也是為什么我們畢業(yè)后會(huì)被那些優(yōu)秀的工程師越甩越遠(yuǎn)的原因。而我認(rèn)為最好的持續(xù)學(xué)習(xí)的方式就是堅(jiān)持閱讀了。你們看!優(yōu)秀的工程師就算是掛著鹽水也要堅(jiān)持閱讀的?。。????

另外學(xué)過的知識(shí)只有輸出出來了,才是真正的學(xué)到肚子了。向別人講述知識(shí)、寫作等都是很好的知識(shí)輸出方式。

鍛煉自己的綜合能力

要成為一名優(yōu)秀的工程師,光有過硬的技術(shù)是不夠的。出色的完成一項(xiàng)工作往往考研的是一個(gè)人的綜合能力。良好的表達(dá)能力、出色的會(huì)議組織能力、事情的推動(dòng)能力、個(gè)人的成熟度等等都是需要我們在工作中去刻意的培養(yǎng)和鍛煉的。拿表達(dá)能力來說,如果覺得自己表達(dá)上有所欠缺,就可以通過寫作、主動(dòng)在團(tuán)隊(duì)內(nèi)做技術(shù)分享等等方式來鍛煉自己。有時(shí)候,不逼自己一把你都不知道自己到底有多棒!

寫在最后

作為一個(gè)技術(shù)上的菜鳥,寫這樣的文章實(shí)在是有點(diǎn)慚愧。且算是給自己定個(gè)基調(diào),與大家共勉好了,這樣也能督促自己不斷進(jìn)步。

哦,對了!還有一點(diǎn)?。?!優(yōu)秀的工程師是不會(huì)抱著手機(jī)抖音一刷一晚上的。???

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

    關(guān)注

    59

    文章

    1590

    瀏覽量

    69500
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    (仰天長嘯)為什么受傷的總是硬件工程師...#MDD#MDD辰達(dá)半導(dǎo)體 #電子工程師

    電子工程師
    MDD辰達(dá)半導(dǎo)體
    發(fā)布于 :2025年04月27日 18:21:47

    問,成為硬件工程師需要幾只手?#硬件工程師 #YXC晶振 #揚(yáng)興科技 #搞笑

    硬件工程師
    揚(yáng)興科技
    發(fā)布于 :2025年04月25日 17:15:37

    硬件工程師:回答我!#回答我 #硬件工程師 #YXC晶振 #揚(yáng)興科技

    硬件工程師
    揚(yáng)興科技
    發(fā)布于 :2025年03月25日 18:46:59

    一招拿捏電子工程師#被AI拿捏了 #電子工程師 #電子電工

    電子工程師
    安泰小課堂
    發(fā)布于 :2025年03月25日 17:30:51

    硬件工程師的終極幻想:焊板子焊上人生巔峰!#半導(dǎo)體器件 #硬件工程師 #MDD辰達(dá)半導(dǎo)體

    硬件工程師
    MDD辰達(dá)半導(dǎo)體
    發(fā)布于 :2025年02月24日 19:00:35

    焊板子前,焊板子后,硬件工程師居然兩幅面孔!# #電工 #電路知識(shí) #電路原理

    硬件工程師
    MDD辰達(dá)半導(dǎo)體
    發(fā)布于 :2025年01月07日 18:15:30

    笑死,掌握一眼識(shí)別資深硬件工程師的訣竅了!# #電路知識(shí) #電工 #硬核拆解

    硬件工程師
    MDD辰達(dá)半導(dǎo)體
    發(fā)布于 :2024年12月20日 17:48:17

    FPGA算法工程師、邏輯工程師、原型驗(yàn)證工程師有什么區(qū)別?

    ,共同進(jìn)步。 歡迎加入FPGA技術(shù)微信交流群14群! 交流問題(一) Q:FPGA中的FPGA算法工程師、FPGA邏輯工程師、FPGA原型驗(yàn)證工程師三者有什么區(qū)別? A:FPGA 算法工程師
    發(fā)表于 09-23 18:26

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

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