2019 面試實戰 - 第二回合

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

Hello 小夥伴們,若是以爲本文還不錯,記得給 jsliang 的文檔庫點個 star , 大家的 star 是我學習折騰的動力!GitHub 地址css


【2019-08-16】Hello 小夥伴們,因爲 jsliang 對文檔庫進行了重構,這篇文章的一些連接可能失效,而 jsliang 沒有精力維護掘金這邊的舊文章,對此深感抱歉。請須要獲取最新文章的小夥伴,點擊上面的 GitHub 地址,去文檔庫查看調整後的文章。html


並非只有特定的季節才能跑路,只由於人跑得多了,這條路就定下來了。前端

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

一 目錄

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

目錄
一 目錄
二 前言
三 早上 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
五 總結

二 前言

返回目錄github

請時刻準備好本身的簡歷,無論是互聯網經濟不佳面臨裁人,仍是由於公司內部鬥爭嚴重想換份工做,仍是由於厭倦了目前的一切……只有隨時更新本身,把本身的簡歷準備好,你才知道哪一刻跑路是最佳選擇。web

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

三 早上 09:30

返回目錄面試

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

3.1 Job Description

返回目錄算法

崗位職責: 
一、負責前端頁面開發和維護,並根據需求優化產品性能、用戶體驗、交互效果及各類主流瀏覽器的兼容適配工做; 
二、對Web前端新技術進行預研,掌握業內主流技術,保持公司前端開發技術的先進性; 
三、優化與重構前端代碼,並整理出可重用的代碼模塊; 
四、配合產品經理和UI設計師,經過各類前端技術手段,提升用戶體驗並知足性能要求。 

崗位要求: 
一、2年以上前端開發工做經驗。 
二、精通JavaScript、JQuery、AJAX、HTML五、DIV+CSS等Web前端開發技術
三、至少熟悉主流JS庫或框架如:Bootstrap、AngularJS、backbone、React、Vue等中的一種; 
四、熟悉Grunt,Gulp,Webpack等前端自動化構建工具; 
五、熟悉模塊化開發(Requirejs、Seajs、Commonjs),並具備相關項目經驗;
六、熟悉Web Components 標準,並可以獨立設計、開發web組件;
七、熟悉各類Web前端技術、深入理解Web標準,對瀏覽器兼容性問題有豐富經驗; 
八、對用戶體驗、交互操做流程、及用戶需求有深刻理解;
九、熱愛前端,熱愛設計,對新鮮事物充滿好奇心。
十、主動了解最新前端技術動態,對HTML5技術領域、Web發展趨勢具備良好的洞察力和關注度,求知慾強。
複製代碼

3.2 技術一面 - 筆試題考查

返回目錄

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


1、選擇題:

  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 就坐在一個毫無屏障的大廳上答題。人來人往的,而且試題標明須要關閉電子設備,爲了避免被趕出去,爲了能進入以後的環節,因此俺慫了~只在答完題僞裝拿手機找人事小姐姐的時候,伺機拍了前五題的,哈哈。不過下面的問答題還好我記得,下面咱一塊兒瞅瞅!

2、問答題

  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)。

很經典的一個佈局,注意右邊高度 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. 題目:假設我有一個頁面,頁面上有一張圖,大體就是:

代碼結構以下:

<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、HTML五、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… 處得到。

相關文章
相關標籤/搜索