女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

Max Howell因?yàn)椴粫?huì)翻轉(zhuǎn)一棵二叉樹,被Google拒絕

算法與數(shù)據(jù)結(jié)構(gòu) ? 來源:是不是很酷 ? 2020-09-03 10:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

2015 年 6 月 10 日,Max Howell 發(fā)表了一篇推特:

簡(jiǎn)單翻譯:Google 說,我們 90% 的工程師都使用你寫的軟件——Homebrew,但是因?yàn)槟悴荒茉诎装迳戏D(zhuǎn)一棵二叉樹,所以,滾蛋。

這條 Twitter 在當(dāng)年引發(fā)了不小的爭(zhēng)論。

Homebrew 是 MacOS 上的一款非常著名的軟件,它極大地簡(jiǎn)化了在 macOS 上的軟件安裝和管理流程,所以使用者眾多,相當(dāng)有業(yè)界影響力。如這條推特所說:Google 里 90% 的工程師都使用這款軟件。

Max Howell 就是 Homebrew 的創(chuàng)作者,也是一名業(yè)內(nèi)知名的 MacOS / iOS 工程師。他曾經(jīng)是著名的網(wǎng)絡(luò)電臺(tái) Last.fm 的首席客戶端開發(fā)者,后來是 Twitter 的客戶端 TweetDeck 的首席移動(dòng)開發(fā)者。

2015 年,Max Howell 決定加入 Google。但是,根據(jù) Max Howell 的敘述,他去 Google 面試,作為一名 iOS 業(yè)界專家,面試官?zèng)]有問任何和 iOS 相關(guān)的問題。

Max Howell 的面試進(jìn)行到第七輪,在一道算法題上出了問題。這個(gè)算法問題就是:翻轉(zhuǎn)一棵二叉樹。

這其實(shí)是一個(gè)很簡(jiǎn)單的算法問題。相信對(duì)很多還沒有畢業(yè)的計(jì)算機(jī)專業(yè)的同學(xué),都是很容易的。

其實(shí),如今我們也已經(jīng)很難判斷 Max Howell 到底是不是真的不會(huì)這個(gè)算法問題?還是只是對(duì)這樣的面試流程抗議?

我們也很難分辨,Google 不聘請(qǐng) Max Howell 的真實(shí)原因,到底是因?yàn)樗麤]有解答出這個(gè)問題?還是有其他原因?

對(duì)這些問題的分析,在當(dāng)年很流行。有業(yè)內(nèi)人士指出,Google 出這么簡(jiǎn)單的算法問題,顯然已經(jīng)是在放水了。而 Google 決定不招聘 Max Howell 的真實(shí)原因,很有可能不是能力問題,而是在面試過程中認(rèn)為,Max Howell 的個(gè)人性格不適合 Google 的文化。

畢竟,面試不是考試,不是把問題回答正確就可以了。很多時(shí)候,面試的過程,是面試官在看,和候選人共事,共同探討一個(gè)問題,共同解決一個(gè)問題,是怎樣的體驗(yàn)。

還有很多人據(jù)此吐槽硅谷大公司的招聘方式。

有的人說:Facebook 不要我,因?yàn)槲医獠怀霭嘶屎髥栴}。

有的人說:曾經(jīng) Amazon 讓我翻轉(zhuǎn)一個(gè)鏈表,當(dāng)時(shí)我的靈魂就已逃離了那個(gè)房間。

有的人說:如果問我如何翻轉(zhuǎn)一棵二叉樹,我會(huì)當(dāng)場(chǎng)把那個(gè)白板翻過來,然后說,看,我完成了。

還有人說:1997 年,Google 面試了我 6 個(gè)小時(shí)。最后一個(gè)問題是:為什么我們要聘用你?我的回答是:你們 TM 自己想吧。最后我拿到了 offer。

對(duì)于當(dāng)代計(jì)算機(jī)行業(yè),算法是不是一定這么重要?我的回答是,不一定。為此,我寫過一篇文章:算法到底有什么用?對(duì)你來說可能真的沒用。

那大公司面試為什么總要考算法?對(duì)此,我寫過一篇文章,叫:大廠面試為什么總考算法?以及如何避開算法面試。

但如今,5 年時(shí)間過去了,這一切爭(zhēng)論,對(duì)于當(dāng)事人來說,或許都不重要了。無論是 Max Howell,還是 Google,都在這五年間,做出了不錯(cuò)的成績(jī)。

大家雖然沒有合作,但都有很好的未來。

而就在最近,我無意中翻到了 Quora 上對(duì)這個(gè)問題討論的一個(gè)“老帖子”。

這個(gè)問題在 Quora 上是這樣的:Homebrew 的作者 Max Howell 因?yàn)椴粫?huì)翻轉(zhuǎn)一棵二叉樹,被 Google 拒絕,這背后的邏輯到底是什么?

沒想到兩年以后,在 2017 年的 12 月份,Max Howell 自己親自回答了這個(gè)問題。

Max Howell 的這個(gè)回答,我今年才看到。說實(shí)話,我讀了好幾遍。語言并不多,但卻讓我感觸頗深,以至于我想逐句翻譯,和大家分享。

以下是 Max Howell 的回答。

Hi, I’m Max Howell, I’ve spent the last two years not answering this, and many questions like it. Maybe I shouldn’t answer this.

大家好,我是 Max Howell。我嘗試用了兩年時(shí)間,不去回答這個(gè)問題,或者千千萬萬個(gè)和這個(gè)問題類似的問題?;蛟S,我不應(yīng)該回答這個(gè)問題。

So, what's the logic? Clearly I wrote something worthy of Google, right?

Google 拒絕我的邏輯到底是什么?很明顯,我寫了一些值得去 Google 的代碼,對(duì)吧?

Well, no I didn't. I wrote a simple package manager. Anyone could write one.

其實(shí),不是這樣的。我只寫了一個(gè)很簡(jiǎn)單的軟件包管理工具。任何人都能寫出來。

And in fact mine is pretty bad. It doesn't do dependency management properly. It doesn’t handle edge case behavior well. It isn’t well tested. It’s shit frankly.

實(shí)際上,我寫的非常差。它甚至沒有做好軟件包的依賴管理。它也不能很好地處理很多用戶的邊界行為。它沒有被充分測(cè)試。坦白地說,它就是一坨屎。

Is it any surprise I couldn’t answer their heavily computer-science questions well?

所以,如果我不能很好地回答那種“重量級(jí)”的計(jì)算機(jī)科學(xué)問題,真的那么驚訝嗎?

On the other hand, my software was insanely successful. Why is that?

但是,另一方面,我的軟件不可思議的成功。為什么?

Well the answer is not in the realm of computer science. I have always had a user-experience focus to my software.

我想,答案和計(jì)算機(jī)科學(xué)無關(guān)?;蛟S是因?yàn)?,我在我的軟件中,總是更關(guān)注用戶體驗(yàn)。

Homebrew cares about the user.

Homebrew 在乎它的用戶。

When things go wrong with Homebrew it tries as hard as it can to tell you why, it searches GitHub for similar issues and points you to them. It cares about *you*.

當(dāng)軟件發(fā)生問題的時(shí)候,Homebrew 會(huì)盡最大的可能告訴你:為什么?它會(huì)在 Github 上搜索類似的 issues,并且將你指向這些可能的問題解決方案。它在乎*你*。

Most tools don’t give a shit about you. If they go wrong, well screw you. Homebrew helps you. And if it can’t help you I made it so, so easy to fix Homebrew (I built a command into the base for editing and fixing Homebrew). You can make Homebrew better.

大多數(shù)工具不在乎你。如果事情出現(xiàn)了問題,那么你將一籌莫展。Homebrew 在嘗試幫助你。甚至,如果它無法幫助你,你可以直接修改它?。ㄎ覄?chuàng)建了一個(gè)命令,可以讓你直接去編輯或者修改 Homebrew。)你可以讓 Homebrew 更好。

Homebrew is a shining example of true Open Source.

我堅(jiān)信:Homebrew 是真正開源世界中一顆閃亮的星。

Maybe Homebrew doesn’t do dependency management well, but it does it in a way you care about.

或許 Homebrew 沒有很好地完成依賴管理,但是,它用一種可能你更關(guān)心的方式完成了它。

Unlike the competition at the time Homebrew used the dependencies on your Mac as a base thus saving you intense amounts of time installing software and quite a lot of pain, because practically speaking a large dependency graph breaks.

不像當(dāng)時(shí)的大多數(shù)競(jìng)爭(zhēng)者,Homebrew 直接使用你的 Mac 上的軟件依賴關(guān)系作為基礎(chǔ),從而為你節(jié)省了大量安裝軟件的時(shí)間,少了很多痛苦。因?yàn)?,根?jù)我的經(jīng)驗(yàn),使用一個(gè)更大的依賴圖,事情總是會(huì)出問題。

But that isn't computer science and it didn’t involve any graphs or trees so I guess I suck.

但是,這一點(diǎn)和計(jì)算機(jī)科學(xué)沒有半點(diǎn)關(guān)系,也不牽扯到任何圖或者樹這類我完全不擅長(zhǎng)的東西。

I want to defend Google, for one I wasn't even inverting a binary tree, I wasn’t very clear what a binary tree was.

在這里,我想為 Google 辯解兩句。我確實(shí)不會(huì)如何翻轉(zhuǎn)一棵二叉樹。我甚至不是特別清楚二叉樹到底是什么。

I studied Chemistry not Comp-Sci. Sure, for my masters dissertation I used Mathematica and modeled the quantum mechanical properties of Helium—I did a good job actually—but it wasn’t computer science.

我的專業(yè)其實(shí)是化學(xué),不計(jì)算機(jī)科學(xué)。當(dāng)然,我的碩士論文中使用了數(shù)學(xué),并且為氦原子的量子學(xué)特性進(jìn)行了建模。我相信我的碩士論文還不錯(cuò),但這和計(jì)算機(jī)科學(xué)無關(guān)。

But well, what the fuck does comp-sci have to do with modern app development? And well, that’s all I want people to take from my tweet.

但是,計(jì)算機(jī)科學(xué),到底和現(xiàn)代軟件 App 的開發(fā)有什么關(guān)系?這是我希望大家通過我的推特,去思考的東西。

Google in fact gave me seven interviews and I did well in the software engineering ones, because that is actually my talent.

Google 實(shí)際上給了我七輪面試。在軟件工程面試中,我是相當(dāng)出色的。這是我的天賦所在。

I feel bad about my tweet, I don’t feel it was fair, and it fed the current era of outragism-driven-reading that is the modern Internet, and thus went viral, and for that I am truly sorry.

對(duì)于我發(fā)的那條推特,我也會(huì)覺得它可能不合適。這條推特為很多“憤青”提供了“養(yǎng)料”,并且火了。這就是現(xiàn)代互聯(lián)網(wǎng)。對(duì)此,我感到抱歉。

But ultimately, should Google have hired me? Yes, absolutely yes.

但如果問我,Google 是不是應(yīng)該聘用我?我的回答絕對(duì)是:是的,Google 絕對(duì)應(yīng)該聘用我。

I am often a dick, I am often difficult, I often don’t know computer science, but. BUT. I make really good things, maybe they aren't perfect, but people really like them.

我承認(rèn),我是個(gè)混蛋,我很難相處,我不懂那么多計(jì)算機(jī)科學(xué)。但是,但是,我創(chuàng)造了優(yōu)秀的作品?;蛟S它不完美,但人們喜歡它。

Surely, surely Google could have used that.

其實(shí),Google 本是可以抓住這一點(diǎn)的。

通過這個(gè)回答,我相信大家可以看出來,Max Howell 依然是那個(gè)“狂妄”的開源作者。我嚴(yán)重懷疑我的翻譯讓他謙虛了一些。實(shí)際上,上面的翻譯,我修改了一稿,把一些原本我個(gè)人習(xí)慣使用的“謙虛”的用法去除了。

但這個(gè)回答給我感觸最深的,是 Max Howell 描述的關(guān)于 Homebrew 的理念。用一個(gè)比較俗套的成語總結(jié),就是以人為本。說的不要那么文騶騶,就是尊重你的用戶。

我在國(guó)內(nèi)做 iOS 開發(fā),算比較早的。2011 年開始,陸陸續(xù)續(xù)上架了幾個(gè)小 App,直到大概 2015 年停止維護(hù)。

學(xué)習(xí) iOS 開發(fā)的過程確實(shí)極大地拓展了我的技術(shù)視野,因?yàn)?iOS 開發(fā)和我之前接觸的大多數(shù)技術(shù)棧都極其不同。但是,這么多年過去以后,回頭看,這段經(jīng)歷讓我收獲了更多和技術(shù)無關(guān)的東西。

我第一次感受到了:技術(shù)和人的距離,竟然如此之近。

有一名老爺爺,在 2017 年給我發(fā)來一封郵件,讓我感觸頗深。

郵件中,他給我的 App 提了一些建議,并且告訴我,他已經(jīng)使用我的這個(gè)小 App 三年了。

后來,我跟他隨便聊了兩句,他說他住在美國(guó)一個(gè)鳥不拉屎的小鎮(zhèn)上,他自稱自己是名藝術(shù)家,還出版了一本和藝術(shù)相關(guān)的圖書。

他給我了一個(gè)亞馬遜鏈接,我說我不會(huì)買的。他打回一個(gè)笑 cry 的 emoji

這是我第一次意識(shí)到,冷冰冰的代碼,竟然可以連接無論是年齡,國(guó)籍,種族,地理位置,職業(yè),以及性格,都如此遙遠(yuǎn)的兩個(gè)人。

后來,我在慕課網(wǎng)出了一些課程。

在這個(gè)過程中,給我感觸最深的,是在課程的問答區(qū),我和大家的交流。說句實(shí)話,我學(xué)會(huì)了很多東西。很多東西在技術(shù)之外,但是,它們被技術(shù),連接在了一起。

所以我決定寫公眾號(hào)。我想,對(duì)于更加廣泛的技術(shù)世界的探討,或許能讓大家?guī)Ыo我更多的啟發(fā)。我的目的是自私的。

有很多同學(xué)問我各種問題,但我不是各個(gè)領(lǐng)域的專家,對(duì)于一些過于細(xì)節(jié)的問題,也沒有時(shí)間精力在非課程的問答區(qū)一一解答。所以我又開設(shè)了知識(shí)星球,大家可以在那里暢所欲言。從技術(shù)提問,到發(fā)表觀點(diǎn)。

可能并不是所有的觀點(diǎn)我都贊同,但我喜歡這種觀點(diǎn)的碰撞。每次這種碰撞后,都能帶給我更深刻的思考。

我想,這就是“人”的魅力。

我喜歡代碼,喜歡邏輯,喜歡它們的嚴(yán)謹(jǐn),以及這種嚴(yán)謹(jǐn)背后,依然可以產(chǎn)生的無限可能。

我高中畢業(yè)后選擇計(jì)算機(jī)專業(yè),是因?yàn)槲乙詾?,使用?jì)算機(jī),我可以憑空創(chuàng)造出一個(gè)完全屬于我自己的宇宙。

后來,我才慢慢發(fā)現(xiàn),我們的宇宙之所以精彩,不是因?yàn)樯系鄣倪壿嬘卸嗝磭?yán)謹(jǐn)。而是因?yàn)?,有我,有他,有她,還有你。

因?yàn)槿恕?/p>

或許,這就是我會(huì)突然如此崇拜這名,不會(huì)翻轉(zhuǎn)二叉樹的大神,的原因吧。

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

    關(guān)注

    5

    文章

    1789

    瀏覽量

    58988
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4709

    瀏覽量

    95338
  • 二叉樹
    +關(guān)注

    關(guān)注

    0

    文章

    74

    瀏覽量

    12633

原文標(biāo)題:不會(huì)翻轉(zhuǎn)二叉樹的大神

文章出處:【微信號(hào):TheAlgorithm,微信公眾號(hào):算法與數(shù)據(jù)結(jié)構(gòu)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    Google Fast Pair服務(wù)簡(jiǎn)介

    設(shè)備。多個(gè)Seeker設(shè)備可以擁有同個(gè)Google Account 。Provider和第個(gè)Seeker建立關(guān)聯(lián)的過程稱為initial pairing;Provider和第個(gè)擁
    發(fā)表于 06-29 19:28

    代高速芯片晶體管解制造問題解決了!

    。在這種結(jié)構(gòu)中,n型晶體管(nFET)和p型晶體管(pFET)集成在同結(jié)構(gòu)中,但由絕緣壁(如氧化物或氮化物)隔開。這種設(shè)計(jì)允許nFET和pFET之間的間距進(jìn)步縮小,從而減少標(biāo)準(zhǔn)單元的面積。
    發(fā)表于 06-20 10:40

    Google I/O 2025大會(huì)回顧

    通常,在 I/O 大會(huì)的前幾周,我們不會(huì)透露太多信息,因?yàn)?/b>我們會(huì)把最重磅的模型留到大會(huì)上發(fā)布。但在 Gemini 時(shí)代,我們很可能在三月某個(gè)周已經(jīng)推出最智能的模型,或者提前周公布像
    的頭像 發(fā)表于 05-23 14:54 ?453次閱讀

    如何獲取yocto build來構(gòu)建對(duì)設(shè)備的更改?

    來自 NXP 的 Yocto 構(gòu)建設(shè)置 我想為 imx8m nano 構(gòu)建個(gè)修改后的器件。我了解設(shè)備源文件(.dts、dtsi)的語法,但我不知道如何讓 yocto 版本更新 DTB
    發(fā)表于 04-09 07:37

    安森美收購(gòu)Allegro拒絕 500億(69億美元)并購(gòu)泡湯

    顯示,早在2024年9月,安森美就提出以每股34.50美元收購(gòu)Allegro,但后者拒絕。 此前,彭博社報(bào)
    的頭像 發(fā)表于 03-06 18:26 ?786次閱讀
    安森美收購(gòu)Allegro<b class='flag-5'>被</b><b class='flag-5'>拒絕</b> 500億(69億美元)并購(gòu)泡湯

    如何開發(fā)Google Find My Tag?

    FindMy的硬件平臺(tái)只有Nordic家,以下為型號(hào):我司提供完整解決方案和Apple+Google Find My融合方案,歡迎留言咨詢!
    發(fā)表于 03-05 17:39

    Google Play如何幫助您的應(yīng)用變現(xiàn)

    海外市場(chǎng)等。本文將重點(diǎn)介紹 Google Play 如何幫助您的應(yīng)用變現(xiàn)。 ? 靈活便捷的變現(xiàn)工具 "Google Play 已經(jīng)推出和即將推出的眾多變現(xiàn)工具
    的頭像 發(fā)表于 01-21 11:21 ?689次閱讀
    <b class='flag-5'>Google</b> Play如何幫助您的應(yīng)用變現(xiàn)

    飛凌嵌入式ElfBoard ELF 1板卡-初識(shí)設(shè)備之Makefile修改

    在arch/arm/boot/dts/目錄下會(huì)有很多.dts文件編譯成.dtb文件,通過配置Makefile文件可以對(duì)這些dts文件進(jìn)行選擇性編譯,打開arch/arm/boot/dts
    發(fā)表于 01-10 09:23

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-初識(shí)設(shè)備之設(shè)備組成和結(jié)構(gòu)

    項(xiàng)技能。設(shè)備的起源設(shè)備(Device Tree)是種描述硬件資源的數(shù)據(jù)結(jié)構(gòu),它由uboot傳遞給Linux內(nèi)核,內(nèi)核解析,內(nèi)核根
    發(fā)表于 01-08 08:32

    飛凌嵌入式ElfBoard ELF 1板卡-初識(shí)設(shè)備之設(shè)備組成和結(jié)構(gòu)

    項(xiàng)技能。設(shè)備的起源設(shè)備(Device Tree)是種描述硬件資源的數(shù)據(jù)結(jié)構(gòu),它由uboot傳遞給Linux內(nèi)核,內(nèi)核解析,內(nèi)核根
    發(fā)表于 01-07 09:16

    adc128s052設(shè)備配置,基準(zhǔn)電壓不能內(nèi)核識(shí)別是怎么回事?

    這是目前我配置的設(shè)備信息,不能通過編譯,原因是無法識(shí)別vdd_supply,請(qǐng)問該處該怎么配置才行,我用的是該芯片的VA引腳接 3.3V的基準(zhǔn)電壓 compatible = \"ti
    發(fā)表于 11-29 16:00

    先進(jìn)封裝中的翻轉(zhuǎn)芯片技術(shù)概述

    引言 翻轉(zhuǎn)芯片技術(shù)已成為半導(dǎo)體行業(yè)中不可或缺的封裝方法,在性能、尺寸減小和功能增加方面具有優(yōu)勢(shì)。本文概述翻轉(zhuǎn)芯片技術(shù),包括晶圓凸塊制作工藝、組裝方法和進(jìn)展。 翻轉(zhuǎn)芯片技術(shù)簡(jiǎn)介 翻轉(zhuǎn)芯片
    的頭像 發(fā)表于 11-27 10:58 ?1224次閱讀
    先進(jìn)封裝中的<b class='flag-5'>翻轉(zhuǎn)</b>芯片技術(shù)概述

    什么是默克爾(Merkle Tree)?如何計(jì)算默克爾根?

    01 默克爾的概念 默克爾(Merkle Tree)是種特殊的二叉樹,它的每個(gè)節(jié)點(diǎn)都存儲(chǔ)了個(gè)數(shù)據(jù)塊的哈希值。哈希值是
    的頭像 發(fā)表于 09-30 18:22 ?2310次閱讀
    什么是默克爾<b class='flag-5'>樹</b>(Merkle Tree)?如何計(jì)算默克爾根?

    今日看點(diǎn)丨Google面臨美國(guó)司法部拆分風(fēng)險(xiǎn);NVIDIA Blackwell AI服務(wù)器遭遇&quot;組件短缺&quot;

    1. Google 面臨美國(guó)司法部拆分風(fēng)險(xiǎn) ? 美國(guó)法官裁定 Alphabet 旗下的搜尋引擎龍頭 Google (Google) 存在非法壟斷行為后,消息人士報(bào)導(dǎo),美國(guó)司法部考慮尋
    發(fā)表于 08-14 11:03 ?943次閱讀

    如何解決ChatGPT Plus信用卡支付拒及充值步驟詳解

    如何解決ChatGPT Plus信用卡支付拒絕的問題 在嘗試使用信用卡支付ChatGPT Plus服務(wù)時(shí),如果支付拒絕,可能是由于以下幾個(gè)核心原因:賬戶余額不足、網(wǎng)絡(luò)環(huán)境問題、賬戶
    的頭像 發(fā)表于 08-07 16:22 ?2649次閱讀
    如何解決ChatGPT Plus信用卡支付<b class='flag-5'>被</b>拒及充值步驟詳解