sponsored links

Dan Abramov 接受油管 UP 主的面試挑戰,結果差點沒寫出來居中……?

大家好,我是 ssh,前兩天大名鼎鼎的 React 核心開發者 Dan Abramov 接受了油管 up 主 Ben Awad 的一場面試,而且是正兒八經做題的那種,不是之前國內那場戲稱的面試。我們趕快一起來看看。

剛開場,Dan 首先來了段自我介紹:

這繞口令呢?I work on React i did not create react but i work on it on React team...

大意就是,他是 React 和 Redux 的聯合開發者,他不是 React 創始人(估計是他對外發聲太多,有誤解的小白不少),今天他想透過 Ben 的面試,祝他好運!

接下來寒暄幾句,Ben 就正式開啟了面試環節:

let vs const

上來就是國內也很經典的一道面試題,讓 Dan 回答 let 和 const 的區別。

Dan 回答說他認為這不重要,於是面試官讓他滾回家等通知了(誤

開個玩笑,Dan 還是穩穩的回答出了區別,const 可以防止變數重新分配,並且指出 const 建立的物件 object 依然可以用 object.xxx 來修改物件屬性的值。

之後主持人問他平時的使用習慣,Dan 說他是個很混亂的人,看心情使用,然後詢問主持人是不是要解僱他(哈哈哈)

Redux

主持人非常俏皮的問:“有一個可愛的庫,經常和 React 一起使用,你可能知道叫 Redux”

Dan 也很俏皮的回了句:“聽說過”。

接下來主持人發出了靈魂拷問:“什麼時候我該考慮在專案中使用 Redux?”

Dan 略加思索,從以下幾點來回答了這個問題:

  • 專案中已經使用了它。
  • 團隊對它比較熟悉。
  • 服務端資料 -> 可能需要被快取。
  • 跨元件共享某些資料。

最後 Dan 說,如果現在新建一個專案,他可能不會選擇 Redux 了,主持人蛤蛤大笑,問他會選擇什麼,Dan 說這取決於實際情況,如果是一些需要快取的服務端資料,他可能會選擇 react-query, relay, apollo 等一些現代的 react 請求狀態庫。

主持人接著追問,如果是需要提升到頂部的狀態,你喜歡用 Context 嗎?Dan 給出了肯定的答覆。

dangerouslySetInnerHTML

接下來,主持人對 dangerouslySetInnerHTML 這個 API 的使用時機提出了疑問。

Dan 回答說,這個 API 是在你可能從資料庫或者什麼地方拿到一串 HTML 想要展示到頁面上時,在確保它是安全的 HTML 文字的前提下,可以使用。你可以提前對這串 HTML 消毒(santize),確保沒有未經過消毒的使用者輸入。

居中

一個很常規的 CSS 問題,讓這段文字在頁面上水平垂直居中

Dan 慌慌張張的開始用 display: flex 起手,然後來了個 width: 100% 想讓容器撐滿,他顯然已經忘了這是預設的塊佈局的行為了 XD。

翻譯大誤

Dan 寫到這一步,開始迷茫了,為什麼沒生效!

經過了大約整整 5 分鐘的苦思冥想的除錯,Dan 終於試出來了問題,因為 HTML 元素預設不是 100% 的高度,大師原來也會遺忘這些基礎,哈哈。

我得意的笑

國際友人埃文尤也對此事發表了親切的慰問。

演算法:反轉二叉樹

主持人:Dan 我要給你出個經典的演算法題,你在 Facebook 工作,現在我要看看你能不能在 Google 工作。

沒錯,接下來他祭出了 homebrew 作者聞風喪膽的反轉二叉樹

如圖所示,把二叉樹的節點左右反轉。

Dan 很快給出了答案,看來常年維護 React,對樹方面的操作必須是手到擒來了,主持人打趣說 Dan 破了他保持的最快反轉二叉樹的記錄。

獎金問題:找兔子

主持人神秘的拿出了他的額外獎金問題,找兔子。

這個問題大意是,一條直線上有 100 個洞,兔子藏在其中的一個洞裡。

你一次只能檢視一個洞,並且每次你檢視洞的時候,兔子都會跳到它當前所在位置的相鄰的洞裡去。

舉例來說,現在有 _ X _ _ 這四個洞,X 代表兔子的位置在第二個洞,如果你查看了第三個洞,那麼兔子就可能會跳到它左邊的第一個或右邊第三個洞中去。

要求寫出找到兔子的演算法,並且給出複雜度。

這是一個比較開放性的問題,具體 Dan 除錯和解答的過程可以直接去油管看原影片,佔據了整整二十多分鐘時間。這題是真的有難度了,不過 Dan 會把他思考的過程轉化成程式碼或者文字寫在 IDE 裡,幫助自己找到更多線索,並且不斷的和麵試官進行溝通來確認細節,我覺得這是非常值得學習的。

最後,主持人說他決定僱傭 Dan 了,當他在回答 let vs const、redux、dangerouslySetInnerHTML 的問題時,展現出的思考過程就已經足夠打動他了。

主持人說,谷歌也會僱傭 Dan,因為他解決了反轉二叉樹問題(笑),而且在遇到困難的兔子問題時,他能夠一步步的寫下自己的思考,和麵試官不斷進行互動獲得更多提示,這是非常關鍵的。

這也可以給我們自己一些啟發。當你在面試中遇到難題的時候,不要悶著頭一聲不吭的寫,最好把你的思考過程轉化成文字寫下來,多和麵試官進行一些提問和細節的確認。不然面試官也不知道你在想什麼,該如何提示你。從我個人的感覺來說,沒有面試官會喜歡沉默寡言的面試者,畢竟面試招進來的人是要在日後的工作中緊密合作的,確定你的思考過程很清晰,確定你在溝通交流方面友好和耐心也是面試官考察的重要因素,大家共勉。

文章來源:https://jishuin.proginn.com/p/763bfbd6e0b2

分類: 科技
時間: 2021-12-15

相關文章

淺談文化教學下語文課本插圖的功能及其使用
呂琳琳 新鄉醫學院管理學院 課本插圖,作為一種現代設計的重要視覺傳達形式,以其直觀的形象性.真實的生活感.美的感 染力,在課本設計中佔有重要的地位.它是課本的"第二語言",不但具有 ...

5G千兆工業路由器,暢享NSA和SA雙模5G網路

5G千兆工業路由器,暢享NSA和SA雙模5G網路
5G千兆工業無線路由器USR-G810,支援NSA和SA雙模5G網路,向下相容4G/3G網路,覆蓋全運營商網路制式:具備4路千兆網口,支援多種VPN協議,具備M2M遠端管理平臺,可無縫對接各類工業物聯 ...

數碼淺談丨蘋果2021秋季釋出會

數碼淺談丨蘋果2021秋季釋出會
北京時間時間15號凌晨,Aplle本年度的秋季釋出會如約而至,對於本季釋出會的主要釋出內容及猜想,相較於網上調侃的13香,我個人還是對本季的iphone13期待值較低的,相較於手機我更加期待闊別三年i ...

第二屆5G·AR(增強現實)技術應用高峰論壇於9月16日圓滿落幕

第二屆5G·AR(增強現實)技術應用高峰論壇於9月16日圓滿落幕
9月16日,由VR陀螺以及中國國際光電博覽會(CIOE)合作主辦的第二屆5G·AR(增強現實)技術應用高峰論壇在深圳國際會展中心(寶安新館)圓滿落幕. 2021年非比尋常,"元宇宙" ...

中興通訊5G網路建設踐行雙碳戰略

中興通訊5G網路建設踐行雙碳戰略
[高質量能源內容,點選右上角加'關注'] 中興通訊股份有限公司高階副總裁張萬春 一.綠色低碳可持續發展成為時代主題 為應對氣候變化,競逐綠色可持續發展,全球各國共同協作積極推動雙碳戰略. 2020年, ...

淺談建築物外牆面磚/真石漆脫落的處理措施
由於經濟高速前進,此時很多的外牆裝飾物質出現在我們的生活中.有很多的建築都是用外牆面磚來開展裝修工作的.因為建設的時候,其基層沒有處理好或是鋪貼的措施不合理,容易導致掉落現象,有時候和基層一起落下,為 ...

高通孟樸談5G發展,毫米波等新技術將推動千行百業數字化變革

高通孟樸談5G發展,毫米波等新技術將推動千行百業數字化變革
2021中國企業家太陽島年會"數智未來--科技創新與產業變革" 峰會於9月17日舉行,眾多專家學者和企業家匯聚哈爾濱,交流思想,分享經驗,為推動科技創新和產業變革出謀劃策.在會上, ...

五菱宏光MINI EV和理想ONE為例,淺談智慧互動在新能源汽車的應用

五菱宏光MINI EV和理想ONE為例,淺談智慧互動在新能源汽車的應用
從巴黎協議到碳中和方針的提出,人類任何的創新都在和環保.二氧化碳等話題做著聲嘶力竭的鬥爭,在漫漫歷史長河之中,埃隆馬斯克絕對算是耀眼的明星,無論是特斯拉的新能源車,還是Space X的可重複使用火箭, ...

我國5G已實現商用,技術、規模已領先,卻因3個問題難以全面普及

我國5G已實現商用,技術、規模已領先,卻因3個問題難以全面普及
最近這兩年最常聽到的話題應該就是5G了,在人工智慧時代下5G產業也迎來了飛速發展.根據官方釋出的<2021一季度通訊業經濟執行情況>來看,截止到今年3月底,國內5G基站總數達到81.9萬個 ...

中國移動:“十四五”期末基本實現行政村5G網路覆蓋
中新社北京9月23日電 (記者 劉育英)中國移動23日釋出<數智鄉村振興計劃>白皮書,提出"十四五"期末基本實現行政村5G網路覆蓋. 白皮書公佈了中國移動"十 ...

淺談本田中排量五虎將,雖然來勢洶洶,但貌似力度不夠
淺談本田中排量五虎將,雖然來勢洶洶,但貌似力度不夠 自從本田成立中排量品牌HONDA Wing以來,旗下的車型是越來越多,顯然已經構成了五虎將之勢.不過雖然這五款車型來勢洶洶,但貌似力度不夠,並沒有引 ...

淺談,奔達燎700和唐刀700的選擇方向,以供車友們參考

淺談,奔達燎700和唐刀700的選擇方向,以供車友們參考
淺談,奔達燎700和唐刀700的選擇方向,以供車友們參考 隨著燎700和唐刀700的亮相,奔達摩托可以說是徹徹底底的火了,而隨之而來的就是,車友們對於這兩款車型之間的選擇糾結. 很多小夥伴都沒有搞清楚 ...

淺談影響藝術塗料施工的因素

淺談影響藝術塗料施工的因素
藝術塗料就好比我們的化妝品,運用簡簡單單化妝工具:一個小海綿,滾筒,批刀等,就可以給一張白紙.一副白牆面化出一個個美美的妝容.當然相同的工具不同的施工手法,不同的工具相同的材料化出來妝容體現出不同的風 ...

淺談音響頻率範圍和頻率響應「聲拓電子音爵士」

淺談音響頻率範圍和頻率響應「聲拓電子音爵士」
淺談音響頻率範圍和頻率響應[聲拓電子音爵士] 在實際運用中,音響的頻率範圍與頻率響應一直是備受關注的問題,然而因為涉及到專業細分知識,不少人對頻率範圍和頻率響應的理解比較片面.頻率範圍和頻率響應有什麼 ...

蘋果13promax怎樣啟用5G 蘋果13promax設定5g網路方法分享
蘋果13promax手機是支援5g網路的,開啟5g網路後大家可以享受到更加優質的使用體驗.本期小編為大家帶來了設定5g網路的詳細教程,感興趣的朋友就接著往下看吧! iphone13promax設定5g ...

榮耀v40設定5G步驟分享 榮耀v40怎樣啟用5G網路

榮耀v40設定5G步驟分享 榮耀v40怎樣啟用5G網路
榮耀v40手機是支援5g網路的,開啟5g網路後大家可以享受到更流暢的網速,提升大家的使用體驗感.那榮耀v40怎樣啟用5g網路呢?下面就跟著小編一起瞧瞧吧! 榮耀v40設定5G步驟分享 1.在手機設定選 ...

DISH與IBM合作開發新的雲原生5G網路

DISH與IBM合作開發新的雲原生5G網路
9月18日訊息,據外媒報道,DISH和IBM宣佈了一項新的合作伙伴關係,兩家公司將在雲原生5G網路上展開合作. DISH在一份宣告中表示,IBM將提供"人工智慧自動化和網路編配軟體和服務,為 ...

中興Axon 30 5G屏下至臻版開啟預約,素皮材質,售價3498元

中興Axon 30 5G屏下至臻版開啟預約,素皮材質,售價3498元
今天,首款屏下攝像頭手機,中興Axon 30 5G屏下至臻版目前已經開啟了預約.這款手機的機身背面採用了素皮材質,質感看起來還不錯.而且,得益於這一新工藝,手感也有一定的提升. 雖然是至臻版,但是這款 ...

報告:中國5G網路建設速度和規模全球第一
26日,<世界網際網路發展報告2021>和<中國網際網路發展報告2021>藍皮書新聞釋出會在浙江烏鎮舉行.藍皮書指出,中國網際網路基礎設施建設穩步推進,加快移動基礎設施和應用基 ...

【健康教育】(十三)淺談白內障
[健康教育](十三)淺談白內障