2019 面試實戰 - 第二回合

jsliang發表於2019-03-10

Create by jsliang on 2019-3-7 22:26:08
Recently revised in 2019-3-10 18:28:53

Hello 小夥伴們,如果覺得本文還不錯,記得給 jsliang 的文件庫點個 star , 你們的 star 是我學習折騰的動力!GitHub 地址


【2019-08-16】Hello 小夥伴們,由於 jsliang 對文件庫進行了重構,這篇文章的一些連結可能失效,而 jsliang 沒有精力維護掘金這邊的舊文章,對此深感抱歉。請需要獲取最新文章的小夥伴,點選上面的 GitHub 地址,去文件庫檢視調整後的文章。


並不是只有特定的季節才能跑路,只因為人跑得多了,這條路就定下來了。

金三銀四跑路季,jsliang 進行了第二回合的面試,並寫下這篇文章。

一 目錄

不折騰的前端,和鹹魚有什麼區別

目錄
一 目錄
二 前言
三 早上 09:30
3.1 Job Description
3.2 技術一面 - 機密試題考查
3.3 技術二面 - 男女混合雙打
3.4 個人三面 - 研發總監考查
3.5 個人四面 - 撩人事小姐姐
3.6 個人五面 - 驚人智商考查
四 下午 15:00
4.1 Job Description
4.2 Block chain
4.3 Just chat
五 總結

二 前言

返回目錄

請時刻準備好自己的簡歷,不管是網際網路經濟不佳面臨裁員,還是因為公司內部鬥爭嚴重想換份工作,還是因為厭倦了目前的一切……只有隨時更新自己,把自己的簡歷準備好,你才知道哪一刻跑路是最佳選擇。

  • 時間:2019-3-7
  • 地點:廣州
  • 年限:一年工作經驗
  • 薪酬要求:9K - 15K
  • 場次:上午一場,下午一場
  • 感想:揹著電腦負重 10 斤前行 13000 步,進入辦公室放下電腦那一刻,輕鬆上陣!沒人能在我的 BGM 裡……

三 早上 09:30

返回目錄

  1. 公司規模:員工 3000 +
  2. 行業:計算機軟體
  3. 面試前:人生最可怕的噩夢,就是面對廣州死亡三號線 + 中途會被要求下站的六號線!jsliang 於 7:15 分出發,在漫長的等地鐵之後,終於在 8:15 分抵達目的地。出地鐵一瞅,好傢伙:山清水秀鳥語花香(黑雲壓城城欲摧)。撐開傘,雨中漫步一會,走了一個地鐵站左右,去大門登記,進入並等待面試。

3.1 Job Description

返回目錄

崗位職責: 
1、負責前端頁面開發和維護,並根據需求優化產品效能、使用者體驗、互動效果及各種主流瀏覽器的相容適配工作; 
2、對Web前端新技術進行預研,掌握業內主流技術,保持公司前端開發技術的先進性; 
3、優化與重構前端程式碼,並整理出可重用的程式碼模組; 
4、配合產品經理和UI設計師,通過各種前端技術手段,提高使用者體驗並滿足效能要求。 

崗位要求: 
1、2年以上前端開發工作經驗。 
2、精通JavaScript、JQuery、AJAX、HTML5、DIV+CSS等Web前端開發技術
3、至少熟悉主流JS庫或框架如:Bootstrap、AngularJS、backbone、React、Vue等中的一種; 
4、熟悉Grunt,Gulp,Webpack等前端自動化構建工具; 
5、熟悉模組化開發(Requirejs、Seajs、Commonjs),並具有相關專案經驗;
6、熟悉Web Components 標準,並能夠獨立設計、開發web元件;
7、熟悉各種Web前端技術、深刻理解Web標準,對瀏覽器相容性問題有豐富經驗; 
8、對使用者體驗、互動操作流程、及使用者需求有深入理解;
9、熱愛前端,熱愛設計,對新鮮事物充滿好奇心。
10、主動了解最新前端技術動態,對HTML5技術領域、Web發展趨勢具有良好的洞察力和關注度,求知慾強。
複製程式碼

3.2 技術一面 - 筆試題考查

返回目錄

人事小姐姐將我帶到了一個空曠的廳子,交給我一份 【機密】 試卷,嚇得我正襟危坐,拿起筆來開始答題:


一、選擇題:

  1. 下面哪些屬性不會讓 div 脫離文件流?
A. position: absolute;
B. position: fixed;
C. position: relative;
D. float: left;
複製程式碼
  1. 下面有關 HTML 的 Doctype 和嚴格模式與混雜模式的描述,錯誤的是?
A. 宣告位於文件中的最前面,處於 <html> 標籤之前。告訴瀏覽器的解析器,用什麼文件型別規範來解析這個文件。
B. 在標準模式下,瀏覽器根據規範呈現頁面,在混合模式中,頁面以一種比較寬鬆的向後相容的形式解析這個文件。
C. DOCTYPE 不存在或格式不正確會導致文件以標準模式呈現。
D. 瀏覽器根據 DOCTYPE 是否存在以及使用哪種 DTD 來選擇要使用的呈現方法。
複製程式碼
  1. 元素的 alt 和 title 有什麼異同,選出正確的說法?
A. 不同的瀏覽器,表現一樣。
B. alt 和 title 同時設定的時候,alt 作為圖片的替代文字出現,title 是圖片的解釋文字。
C. alt 和 title 同時設定的時候,title 作為圖片的替代文字出現,alt 是圖片的解釋文字。
D. 以上說法都不正確。
複製程式碼
  1. 下面可以讓 div 水平居中的 css 設定是?
A. { margin: 0 auto; }
B. { margin: auto auto; }
C. { margin: auto 0; }
D. { margin: 0 0; }
複製程式碼
  1. 以下全部屬於行內元素的是?
A. <div><p><input><span><img>
B. <div><h1><p><img><dl>
C. <select><button><label><img><a>
D. <div><p><form><ul><li>
複製程式碼
  1. 下述有關 CSS 屬性 postion 的屬性值的描述,說法錯誤的是?
……………………
……………………
……………………
……………………
複製程式碼

選擇題就到此結束了。

因為 jsliang 就坐在一個毫無屏障的大廳上答題。人來人往的,並且試題標明需要關閉電子裝置,為了不被趕出去,為了能進入之後的環節,所以俺慫了~只在答完題假裝拿手機找人事小姐姐的時候,乘機拍了前五題的,哈哈。不過下面的問答題還好我記得,下面我們一起瞅瞅!

二、問答題

  1. 請看下面程式碼:
function foo() {
  var i = 1;
  return function() {
    i++;
    console.log(i);
  }
}

var a = foo(), b = foo();
a();
a();
b();
複製程式碼

請寫出上面程式碼的輸出結果。

這題考查的是閉包,小夥伴可以先自己想想答案,然後複製程式碼到控制檯看看結果。

  1. 請看下面程式碼:

<div><img></div>

請按照上面程式碼的格式,實現該圖片的近似垂直居中和完全垂直居中。

一開始表示 jsliang 是懵逼的,不按套路出牌啊,不都是水平垂直居中麼?不管了,我直接用 less 格式寫下了 position 和 flex 的垂直居中方式,然後備註下如果要加上水平居中要怎麼搞。

  1. 下面有個頁面,左邊塊寬 100px,高 120px,中間 10px 縫隙,右邊寬度佔剩餘頁面的 100%,高度佔整個頁面高度的 100%,請寫出相關程式碼(HTML + CSS)。

2019 面試實戰 - 第二回合

很經典的一個佈局,注意右邊高度 100% 要設定好喔~


總結

面試題要求 45 分鐘寫完,jsliang 30 分鐘左右搞定了。總體來說在 jsliang 的面經文章上(即將釋出)都有出現,個人覺得難度 5 顆星是最高難度的話,那這份題卷頂多 2 顆半星,當然後面知道 15 道選擇題我還是錯了 2 道。

不過,看到我的字,enm...我是覺得……程式猿寫的字不好看就不好看了吧!I dont care!……安慰一波受傷的心靈。

這裡不會給答案的哈,畢竟 jsliang 覺得,如果給了答案,小夥伴們的思維就被我的思路限制住了,或者我給出的是錯誤答案,就更引導錯誤了,然後評論區“大神”一堆分析,我體無完膚~所以還不如讓小夥伴們自己敲一遍體驗更深刻!

3.3 技術二面 - 男女混合雙打

返回目錄

筆試題做完之後,微信上呼叫人事小姐姐收了卷,然後坐等 5 分鐘左右,便來了兩個人 —— 一男一女。

一開始我還以為那個女的是人事小姐姐,男的就是接下來我要應付的面試官了。但是當他們自我介紹完,我才知道,臥槽那個姐姐也是前端的啊,接下來就更有趣了……


  • 前端小姐姐:“你好,我叫 A,旁邊這位叫 B。”
  • 短髮小哥:“你好。”
  • :“你好。”
  • 前端小姐姐:“你先自我介紹一下。”
  • :噼裡啪啦介紹一通……

:如果小夥伴對我的經歷感興趣,請關注下一篇文章:《jsliang 的 2019 面試準備》(尚未釋出)

  • 前端小姐姐:“介紹了下對三大框架的理解,並讓我對比了下 Vue 和 微信小程式 以及 Vue 和 jQuery。”

:這點在我之前的文章有提及,詳情可見:《2018 前端開發分享》,在此不進行額外累述。

  • 前端小姐姐:“能講下 Vue 實現雙向資料繫結的原理嗎?”
  • :“Vue 2.0 通過 Object.defineProperty() 進行資料劫持。而 Vue 3.0 使用的是 Proxy。”
  • 前端小姐姐:“能講講具體的實現思路嗎?”
  • :(囧)(忘記具體實現了)“不好意思,我就聽過,但是具體的沒看過。”
  • 前端小姐姐:(沉默)有沒有用 Node 寫過後臺。
  • :“我用了 Node + Vue + MongoDB 寫過畢設,用了原生 Node 寫過一個仿企業建站,提供簡單的增刪改查 API 給 jQuery 使用。”
  • 前端小姐姐:(翻簡歷)“你這工作專案還挺多的啊!”
  • :“是的。”
  • 前端小姐姐:“開發週期長不長?”
  • :“像微信小程式的話就兩個月,jQuery + jQueryUI 打造的那個視覺化拖拽系統就一個半月左右。”
  • 前端小姐姐:“你這些專案是獨立開發還是團隊開發?”
  • :“獨立開發,畢竟前端就我一個幸運兒。”
  • 前端小姐姐:“你這還有個 Angular + ECharts?”
  • :“Angular + ECharts 這個沒寫完,因為折騰到一半的時候,我被流放到電信駐點去了。”
  • 前端小姐姐:“那你把你做的專案裡面,比較有成就感的拿出來講講。”
  • :“整個微信小程式的開發過程是最有成就感的。因為我被安排到電信駐點的時候,還不知道電信需要開發微信小程式,然後我就拿了一套 PSD 圖,邊看官方文件邊折騰,最終在自己說的兩個月期限內寫完了。”
  • 前端小姐姐:“那你覺得專案模組中,哪個比較複雜?”
  • :“在微信小程式中有個通訊錄模組,這個通訊錄模組就跟我們手機的通訊錄一樣。其中有個新增和修改功能,就像我們手機的新增和修改,當我們新增後,頁面會滾動到相應的位置,修改也是。然後,我在自己做通訊錄模組的時候,想了一下,想用二分法來實現這查詢功能。不過後來因為時間不夠的緣故,就沒有具體寫完了。”

:詳情可見我的文章:《微信小程式之奇技淫巧》

  • 前端小姐姐:“你說你搞過 ES6 這方面的知識,那你知道 ES6 這方面的相容性嗎?”
  • :“沒有。”
  • 前端小姐姐:“那你面向的使用者是哪些人群?”
  • :“第一是電信內部人員吧,第二就是 H5 活動頁會通過簡訊形式傳送到電信使用者手上,所以要考慮手機端的相容,常見的就是 IPhone 和微信的相容。”
  • 前端小姐姐:“好的,瞭解了。enm...那我出道題吧。”

:震驚!前端小姐姐開始手寫程式碼了!

  1. 題目:一個機構樹的快速定位,快速找到目標樹的 Id:
var tree = [
  {
    parentTreeId: 1,
    nodeOne: **,
    nodeTwo: **
  },
  {
    parentTreeId: 2,
    nodeOne: **,
    nodeTwo: **,
    childNode: 1
  }, 
  {
    childTreeId: 1
    parentId: 2
    childNodeOne: **
  }
  ……
]
複製程式碼

請問我要如何快速找到某 Id 對應的節點。

:由於記憶不太清晰,這裡 jsliang 盡力模仿了小姐姐的程式碼。

jsliang 使用了 for in + 遞迴 的形式進行了查詢,不過因為 jsliang 也不確定,所以感興趣的小夥伴,趕緊行動起來,查詢一番吧~

  • (經過一段時間的寫程式碼以及和前端小姐姐的討論……)
  • 前端小姐姐:“好的,樹節點問題我們就討論到這,下面我再問一個問題,有關定位的。”
  1. 題目:假設我有一個頁面,頁面上有一張圖,大致就是:

2019 面試實戰 - 第二回合

程式碼結構如下:

<body>
  <img>
</body>
複製程式碼

當我點選這張圖片中的某個位置(不僅是人身體,其他空白地方也可以),就會顯示一個 input 框,輸入一些資訊後,點選其他地方會關閉,然後當你滑鼠移動過去後,就會顯示剛才輸入的資訊,請問這你會怎麼實現?

jsliang 覺得這是個有趣的問題,小夥伴們可以自己試試哈~

tips:獲取裝置寬高,獲取相對於圖片的點選位置,定位新 input 的位置,定義 input 的 hover……

  • (又經過一段時間的寫程式碼以及和前端小姐姐的討論……)
  • 前端小姐姐:“好的,我們接著下一個問題。”
  1. 題目:現在,我有四個介面:A、B、C、D,首先我要查詢 A 介面,查詢 A 介面之後才能根據 A 介面返回的資料查詢 B、C、D 三個介面,請問有沒有比較好點的做法?

jsliang 的思路是鏈式呼叫 + 非同步呼叫,回答問題的時候用了 Promise,小夥伴們可以想想自己會怎麼解決吧~

  • (又又經過一段時間的寫程式碼以及和前端小姐姐的討論……)
  • 前端小姐姐:“好的,大致清楚了,那麼你能講講你離職的原因和對下一家公司的期望麼?”
  • :“是的,因為我覺得平臺太小,個人提升有限,因為電信這邊一直使用 jQuery 開發的;同時,因為一個人開發,總感覺缺少點什麼,可能我比較希望找個團隊一起折騰,共同分享,共同進步。

:關於離職原因,錢當然是個原因,但是你不能這麼說,要不然你面試的公司會覺得你市儈。當然,我這裡說平臺小也是個原因,因為之前公司,不管是總部,還是駐點電信,都是一個人開發專案,這樣子你程式碼寫起來是隨意了,但是總想和別人合作的,畢竟大的專案,都不是一人搞定的。

  • 前端小姐姐:“好的,那你對我們這邊還有什麼問題要問的嗎?”
  • :“我想知道如果我進來這公司,大概是做什麼?”
  • 前端小姐姐:“如果你進來的話,大概是做 ……。然後,平時開發的話,是採用元件化開發形式,分工合作的。接著,我們需要進行相容到 IE8,以及我們使用的技術是 Angular 1,團隊是 30 多個人,前端 10 多個。最後,我們可能會涉及的有 ECharts 報表以及地圖之類的開發。”

:這部分就不能講了,因為跟某些地方牽扯上關係的,jsliang 還是有所顧忌的。

  • :“好的,謝謝,我大致瞭解了。”
  • (前端小姐姐詢問特短髮大哥還有啥需要詢問的。)
  • 特短髮大哥:“你是覺得自己基礎部分比較好還是應用部分比較好?”
  • :“我覺得我應用部分用的比較多,但是我更希望自己能補充下我的基礎部分,因為我 18 年 8 月的時候開始寫文件庫,就是想查漏補缺,將自己的知識體系進行完善。當你的知識體系完善的時候,你的綜合水平就上去了。”
  • 特短髮大哥:“你覺得你的文件庫中,哪個部分比較容易寫?”
  • :“我覺得我的文件庫中,比較容易寫的地方,就是那些直接呼叫 API 的地方,這些地方很少考慮基礎,直接呼叫 API 即可,完全靠你的使用次數和熟練度。”
  • 特短髮大哥:“好的,那最後你給我寫個 1 分鐘倒數計時吧。”
  • :(拿起紙筆寫了起來)
  • 特短髮大哥:“好的,那你稍等下,我們合計下並找下人事。”
  • :“好的,謝謝。”

總結

這一面大概是總體面試流程中較有難度,並且比較有趣的環節了,畢竟手寫程式碼還是挺好(刺)玩(激)的,雖然短髮大哥不咋說話,但是咋看大哥就是傳說中的背後 Boss,全程觀看我跟姐姐的對話,而且接下來他的舉動,可以看出他還是個有趣的人。

3.4 個人三面 - 研發總監考查

返回目錄

再次經過 5 分鐘的等待後,短髮大哥帶我去辦公室,路上很嗨皮地跟我聊了下,詢問我平時玩不玩遊戲,還是平時有其他活動啥的……最後將我帶到了研發總監的辦公室。

深刻記住他這句話!因為他可能知道我會走到五面,然後他知道五面是啥玩意,特此調侃下我!


  • 研發總監:“你好。”
  • :“你好。”
  • 研發總監:“能說下最近工作專案麼?”
  • :“在開發一個 Vue + ElementUI 的後臺管理專案。”
  • 研發總監:“噢噢,能講下 JavaScript 的閉包麼?”
  • :“簡單來說,有個函式 A 以及一個函式 B,函式 A 裡面包含了 函式 B,而 函式 B 裡面使用了 函式 A 的變數,那麼 函式 B 被稱為閉包。”
  • 研發總監:“那閉包會產生什麼問題?”
  • :“閉包會造成大量的區域性變數,會造成記憶體消耗過大,從而造成網頁的效能問題。不過我特地就閉包詢問了一些前端前輩,他們說目前瀏覽器引擎都基於 V8,而 V8 引擎有個 gc 回收機制,不用太過擔心變數不會被回收。”
  • 研發總監:“那你有遇到過這種記憶體洩漏的問題嗎?能舉個例子嗎?”
  • :“記得我有次在 for 迴圈裡面,寫了個 setTimeout,然後因為資料量過大,從而導致頁面卡住,最後瀏覽器都崩潰了。”
  • 研發總監:“那你是怎麼解決這個問題的?”
  • :“一般在 for 中使用 let 變數了,因為 let 會產生塊級作用域,從而減少產生閉包的可能。”
  • 研發總監:“能講講谷歌的盒子模型和 IE 的盒子模型的區別嗎?”
  • :(尷尬)“這個具體不太清楚,但我可以給你講個類似的,叫 box-sizing。”
  • 研發總監:“那你講講這個。”
  • :“在 box-sizing 中,大致有兩種情況,一種是:box-sizing: border-box,這種情況下,實際寬 = 盒子寬 + padding + border + margin;還有一種情況是 box-sizing: content-box,這種情況下,實際寬不包括這些,最終可能因為 實際寬 = 盒子寬 + border + margin 從而衝破頁面。”
  • 研發總監:“能講講 Vue 和 jQuery 的區別?”
  • :(這裡就不羅列了,上面面試問答提到過了)
  • 研發總監:“能講講 Vue 的資料繫結原理嗎?”
  • :“不能。但是我知道 Vue 2.0 版本使用的是 Object.defineProperty() 進行資料劫持。而 Vue 3.0 使用的是 Proxy。”
  • 研發總監:“知道為什麼 3.0 使用 Proxy,而 2.0 使用 Object.defineProperty() 嗎?”
  • :“不知道,看文章介紹說是 Object.defineProperty() 有的功能 Proxy 都有,而且比它更豐富。”
  • 研發總監:“你離職的原因是什麼?”
  • :(還能是什麼,跟二面一樣再吐槽一遍唄~)
  • 研發總監:“對於薪資你有什麼要求?”
  • :(這裡省略啦~沒啥好說的,小夥伴面試想要多少就直接提多少,市場討價還價還是要有的)
  • (最後聊了下其他雜七雜八的東西,例如調薪啦,培訓啦,工作時間啦,加班啦,加班怎麼算啦等等……)

總結

看過我第一回合面試文章的小夥伴都知道,到了這個環節,只要你不作死,一般都沒什麼問題的了,畢竟這面面的不全是技術,主要是看你在將來工作上可能有的表現,以及跟人的溝通能力。

3.5 個人四面 - 撩人事小姐姐

返回目錄

又又經過 5 分鐘的等待後,人事小姐姐帶我去了會議室,跟我聊了一下:


  • 人事小姐姐:“經過兩輪面試,感覺如何?”
  • :“還好吧~”
  • 人事小姐姐:“住哪啊?”
  • :……
  • 人事小姐姐:“哇,那你過來就有點早了~”
  • :……
  • 人事小姐姐:“感覺這邊如何?”
  • :……
  • 人事小姐姐:……
  • :…………
  • 人事小姐姐:“嗯,因為我們公司機制,今晚你可能還需要做兩套題,一套呢,是崗位匹配度的題目;另一套呢,是智商測試題。你做完這兩套,合格的話第二天我就可以給你發 offer 了。”
  • :(呆)“能不能不做?”
  • 人事小姐姐:(笑)“不能。”
  • :(囧)“好的吧。”
  • 人事小姐姐:“嗯嗯,好的,也到飯點了,你要不要跟我下去吃個飯,你也可以體驗下未來的飯堂。”
  • :(愣)“不了不了,我還有事。”
  • 人事小姐姐:“嗯,好的吧,那我送你到電梯口。”
  • :“好地,謝謝~”

總結

日常到了這環節,要不就是人事小姐姐會讓你回去靜等訊息,要不就是人事小姐姐會讓你回去等 offer 郵件,要不就是……人事小姐姐讓你回去做職位匹配與智商測試題!過了才給 offer !!!

3.6 個人五面 - 驚人智商考查

返回目錄

在人事小姐姐的告知下,想要 offer 還要做兩份測試題,然後晚上回去我真的收到了兩份郵件,開始了痛苦的五面。


  • 崗位匹配度測試
研發類崗位匹配度測試
第一部分 題量 114 題 不限時(約需 11 分鐘)
第二部分 題量 51 題 不限時(約需 9 分鐘)
第三部分 題量 6 題 6 分鐘
第四部分 題量 6 題 6 分鐘
第五部分 題量 6 題 6 分鐘
第六部分 題量 13 題 10 分鐘
  • 智商題測試
能力傾向 CATA 測評
第一部分 題量約 10 題 限時(約需 10 分鐘)
第二部分 題量約 10 題 限時(約需 10 分鐘)
第三部分 題量約 10 題 限時(約需 10 分鐘)

總結

  1. 感覺自從高中畢業後,對於考試題類沒感情,尤其是像崗位匹配度測試這種,是考情商的吧?不是哪個好就選哪個或者選對自己影響較好的那個麼,沒有老老實實根據實際情況真實選答的吧?
  2. 我的智商可能真不過關,那些看圖演示答出下一個圖,找規律啥的搞得我懵懵的。答題完後第二天,人事小姐姐就電話通知我,我的智商題測試差了 3 分及格,並說已經重發郵件給我了,讓我再做一遍……

還好不是再讓我做一遍 崗位匹配度測試,要不然我真的會崩潰,至此上午的面試就完結啦!

四 下午 15:00

返回目錄

  1. 公司規模:員工 1-20 人
  2. 行業:區塊鏈
  3. 面試前:在經過上午的折騰過後,中午吃了個“特貴”的“營養蒸飯”,看下時間還有一個鐘,等不急了,早點搞定早點回去休息。又是一番折騰下(講真要進個大廈還是挺麻煩的,可能為了大廈安全著想),終於進入面試等待狀態。

4.1 Job Description

返回目錄

崗位職責: 
1.負責網際網路產品的前端開發工作,不斷優化使用者體驗,提升產品的相容性和易用性; 
2.根據產品需求,分析並給出最優的頁面前端架構解決方案; 
3.與產品經理,設計師和後端工程師緊密合作,實現產品互動流程和視覺介面的開發需求; 
4.把控程式碼質量,定期維護並更新前端開發規範; 
5.創新能力強,善於學習並總結、分享新技術;
6.具備良好的服務意識、責任心、較強的學習能力、團隊溝通與協作能力;
需要掌握技能 

崗位要求: 
1.熟練掌握JS、HTML5、CSS3等前端技術
2.熟練使用jQuery等主流Javascript庫/框架
3.熟練使用Ajax進行互動開發
4.熟練使用Photoshop對設計圖進行切割和匯出
5.熟悉各種瀏覽器相容處理
複製程式碼

4.2 Block chain

返回目錄

在介紹這份工作的面試之前,我們們還是講講區塊鏈吧,畢竟一開始 jsliang 也不是很懂區塊鏈這塊,面試的時候沒跟面試官勾搭到一塊,面試完回去後,特地諮詢了下在區塊鏈公司工作的大佬 邵威儒,並查了下相關資料,同樣不懂的小夥伴可以跟著一起了解了解。

  • 什麼是區塊鏈?

區塊鏈是分散式資料儲存、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。

區塊鏈(Blockchain),是比特幣的一個重要概念,它本質上是一個去中心化的資料庫,同時作為比特幣的底層技術,是一串使用密碼學方法相關聯產生的資料塊,每一個資料塊中包含了一批次比特幣網路交易的資訊,用於驗證其資訊的有效性(防偽)和生成下一個區塊。

……以上來自百度百科……

好的,說人話。

區塊鏈本質上是解決信任問題,降低信任成本的技術方案,它是比特幣的底層技術。

我們們先從比特幣交易來看區塊鏈具體操作:

  1. 首先,A 和 B 交易,將每筆交易在全網廣播,讓全網承認有效,必須廣播給每個節點。
  2. 然後,吃瓜觀眾礦工節點在接收到交易資訊後,都會拿出賬簿本記載該次交易。一旦記錄,就不可撤銷,不可隨意銷燬。
  3. 接著,礦工節點是通過電腦執行的比特幣軟體對交易進行確認的,所以為了鼓勵礦工的服務,對它所記錄和確認的交易,系統為礦工提供比特幣作為獎勵。

n 個礦工都記錄了,比特幣歸誰呢?當然是系統會出一道運算題,誰算的最快,誰就能獲取記錄入賬權利,贏得獎勵啦~

  1. 最後,獲得該記賬的礦工將向全網廣播這筆交易,賬簿公開,其他礦工進行核對確認,交易達到 6 個以上確認就被記錄在案。都確認無誤後,記錄就會合法,從而進行下一個記錄的爭奪戰啦~

在這些步驟中,礦工的每個記錄,就是一個區塊(block),會蓋上時間戳,每個新產生的區塊會嚴格按照時間線順序推進,形成不可逆的鏈條,所以叫做區塊鏈(Block Chain)。

參考文獻:《幾張圖看懂區塊鏈技術到底是什麼?》

  • 區塊鏈特點?
  1. 去中心化。顛覆性特點,沒有中間商賺差價!不存在任何中心機構和中心伺服器,所有交易都發生在每個人電腦或手機上安裝的客戶端應用程式中。實現點對點直接互動,既節約資源,使交易自主化、簡易化,又排除被中心化代理控制的風險。
  2. 開放性。公共記賬的技術方案,系統完全開放透明,賬簿對所有人公開,實現資料共享,任何人都可以查賬。
  3. 不可撤銷、不可篡改和加密安全性。區塊鏈採用單向雜湊演算法,每個新產生的區塊嚴格按照時間線形順序推進,時間的不可逆性、不可撤銷導致任何試圖入侵篡改區塊鏈內資料資訊的行為易被追溯,從而導致被其他節點排斥,造假成本極高,從而可以限制相關不法行為。
  • 區塊鏈現狀及預測?
  1. 各國反應

美國:大多數數字貨幣交易發生在法律灰色地帶,美國證券交易委員會正逐步加強對數字貨幣市場的監管。

英國:英國金融市場行為監管局(FCA)針對 ICO 和數字貨幣風險釋出警告。FCA 表示,ICO 是高風險、投機性強的投資活動。若 ICO 落入 FCA 的監管範圍,將具體情況具體分析。

韓國:韓國是對數字化貨幣態度最嚴格的國家之一。韓國民眾對數字貨幣非常狂熱,也催生了一些黑暗交易,韓國政府對數字貨幣的態度從曖昧轉向成全面干預,甚至準備進行全面封殺,近期韓國接二連三的下發政策,禁止開放匿名加密貨幣。

日本:日本是對數字貨幣態度最開放的國家之一,剛剛向 11 個交易所頒發了牌照,即在日本進行數字貨幣投資交易是獲得允許的。

中國:出臺了很多管制措施,如取締數字資產交易所和 ICO,禁止線上訪問海外交易平臺。在香港地區,管理者採取了更加寬鬆的策略,但是它禁止交易平臺在未被官方允許的情況下把數字貨幣像證券那樣進行任何交易。臺灣地區正在觀望。

ICO:ICO(是Initial Coin Offering縮寫),首次幣發行,源自股票市場的首次公開發行(IPO)概念,是區塊鏈專案首次發行代幣,募集比特幣、以太坊等通用數字貨幣的行為。

參考文獻:《2018年區塊鏈現狀報告:發展情況如何?》

  1. 國內環境:中國區塊鏈市場充斥大量三無專案,無應用技術、無技術團隊、無業務邏輯。ICO 被監管機構叫停,但泡沫沒有破裂跡象。所以總結就是相關政府嚴厲監管,技術團隊努力攻關完善區塊鏈,國人駐足觀望。

4.3 Just chat

返回目錄

最後就是面試場景啦~

……-_ -||

……-_ -|| …… -_ -||

…… -_ -|| …… -_ -|| …… -_ -||

這裡真的就沒什麼好講的了,畢竟兩位面試官都不懂技術,然後讓我過來面試的主要原因,是因為:

  1. 我的參與專案比較多,尤其是 PC 端、手機端、ECharts、微信小程式等都有所涉及。
  2. 我是計算機相關專業畢業。
  3. 我是比較活躍的,瞭解過我的小夥伴都知道,我 GitHub 快破 800 star 了,然後掘金也是挺活躍的。

所以,enm...碰上不懂技術的面試官,就盡大可能談心咯:我工作最怕的不是不能做出來,是你給我的時間不夠~

最後的最後,面試官在 Boss 直聘上給了 offer 以及詳細薪酬,讓我回去考慮要不要過去。

五 總結

返回目錄

至此,jsliang 的第二輪面試就結束啦~

首先,還是那句話,面試不一定造火箭,有可能是人家專案中真實存在這個情況,就好比上午二面的小姐姐的問題,你說她是自己想出來的,我看不盡然,說不定就是真實上線的案例中抽取出來的。

然後,面試可以給你更多的 idea,從而根據面試過程中出現的一些點,去擴寬自己知識面。面試第一目的肯定是拿到 offer,但是每次面試請嘗試記住面試過程及面試題目,面試後總結出來,針對自己的不足進行知識擴充。

最後jsliang 在這裡祝小夥伴們面試成功,在金三銀四的季節找到更適合自己的職位!


jsliang 廣告推送:
也許小夥伴想了解下雲伺服器
或者小夥伴想買一臺雲伺服器
或者小夥伴需要續費雲伺服器
歡迎點選 雲伺服器推廣 檢視!

推廣圖
推廣圖

知識共享許可協議
jsliang 的文件庫樑峻榮 採用 知識共享 署名-非商業性使用-相同方式共享 4.0 國際 許可協議進行許可。
基於github.com/LiangJunron…上的作品創作。
本許可協議授權之外的使用許可權可以從 creativecommons.org/licenses/by… 處獲得。

相關文章