18年求職面經及總結
我的求職之路差不多走到盡頭了,感覺真是精疲力盡了.把這大半年的經歷和麵試總結寫下來,希望能給和我一樣在求職路上煎熬的人一點幫助.
先說背景:微電子科學與工程專業,學過兩門和CS相關的課程:c語言和微控制器.這個專業的唯一好處就是:大部分人並不知道這個專業學什麼,以為和電信差不多.所以在眾多野生程式設計師中也算一丁點兒優勢,哈哈.本專業適合讀博,大三開學決定不去讀研了,轉CS做前端.這也算是一個我很菜的藉口,可以自我欺騙一下.
求職經歷:
三月份開始投簡歷找實習,發現自己真是菜的一無是處.一開始就是騰訊和阿里的內推面試,被虐的體無完膚,(事件模型,原生XHR,this等等都答不上)於是開始瘋狂惡補前端.大三下課程巨多,買了一塊新電池,上課坐在最後邊敲程式碼.遇到稍微知名一點的網際網路公司就投簡歷,不停面試,每次面試完趕緊記錄面經,總結經驗,查漏補缺.
就這樣一直熬到四月份,開始漸漸能夠從容應對前兩輪技術面.五月初,拿到美團和頭條offer.自己幾斤幾兩還是拎得清,這兩個offer多少都有運氣成分,所以並沒有多高興.每次刷別人面經,看到自己那麼多答不上就很慌亂,於是依然不停投簡歷,不停面試,為面試積累經驗.
去了美團實習的經歷很愉快,上班比較輕鬆,leader人也很好,有相對多的時間學習而不是沉迷業務.提前批開始後,就開始刷面經,準備面試.一個月之後拿到留用意向書.
後邊投的公司不多,除了Face++,給了面試機會的公司基本都能走完所有面試流程,頭條,百度,美團,好未來,快手,華為都給了offer.雖然有些最後並沒有給offer,但是這個狀態也勉強過得去了.
所以啊,努力總是會有成果的,還在掙扎的同學千萬別放棄了,總有柳暗花明時.
面試心經:
網際網路一二線公司基本上都面過,總結一下面試技巧.
綜論:個人以為,技術面一般遵循DFS查詢原則,先找一個點切入往深處探底,直到你答不上來,然後開始考察相近知識點,再接著探底.最後綜合評判一個人水平.
因此,你掌握的知識體系必須既有深度又有廣度.但,這是不可能的.
一. 學會主導面試問題走向和適時展示自己技術深度是很關鍵的一點.
舉例來說,你花了足夠時間研究了HTTP/2,基本上對它瞭如指掌.那麼面試官一旦問到計網或者效能優化或者HTTP,HTTPS,你就要想辦法引導面試官問你HTTP/2,然後展示你的功力.
二. 學會回答問題:
面試問題分三種:
第一類,你遇到過並且熟悉的,這時候不要開心,要控制好回答節奏,避免面試官覺得你剛好撞上.
第二類:不太熟,簡單解釋,避開可能讓你入坑的詞彙(比如問react你非要說diff,但是寫不出diff演算法).
第三類:不會,直接說自己沒接觸這方面,不裝懂.如果是非知識性問題,可以推理一番,體現你的分析能力.
三. 應對總監/經理面:
一般技術問題較少,多職業規劃和過去經歷總結.個人以為這裡最重要的是要讓面試官覺得你是個很有潛力的人,以後會是一個優秀的程式設計師.可以用自己的經歷佐證你熱愛技術,喜歡探究原理,做事能夠持之以恆等等,表現你具備優秀程式設計師的品質.應對其他問題慎言就好,出口之前先想好.
除此之外,我看過美團面試評價表,他們也在乎一個人表達能力,思維能力,以及個人素質.所以適當注重個人軟實力也可以彌補技術上的不足.
關於應對前端面試,建立完善知識體系:
基礎:
MDN/w3c文件基本過一遍.就不會在HTML,CSS基礎問題翻車.掌握《JavaScript高階程式設計》就可以應對大部分JS問題.(犀牛書當然也是一樣).然後就是套路型基礎問題,這個多刷刷面經就知道了.
進階:
- 《HTTP權威指南》,掌握HTTP1.1 HTTP/2 HTTPS的各個特性
- JS系列: 《你不知道的JavaScript》,講解js難點問題.曾探的《JavaScript設計模式》,《JavaScript函數語言程式設計》.
- 演算法,推薦《JavaScript資料結構和演算法》
- 下面總結前端主要知識點:
- HTTP相關,尤其與網路效能優化相關
- 快取相關,各類快取控制方式以及CDN
- 本地資料儲存,cookie,ls等等以及pwa
- 渲染相關,瀏覽器渲染機制,載入順序,優化點.SPA白屏等等.可
- ES6相關,非同步函式及其底層原理,推薦阮一峰ES6教程
- 效能優化,包含東西比較多,不僅要掌握做法更要知道原理.
- 設計模式,怎麼寫,優缺點以及應用場景.
- web安全,XSS,CSRF,SQL隱碼攻擊具體原理和防範措施
- webpack相關問題,打包原理,模組相關.
- CSS3和HTML5相關
- 跨域的處理方案以及原理
- 即時通訊方案以及原理
- 三大框架相關問題,vdom,資料繫結,diff之類.
下面記錄面試過的公司的面經:
阿里騰訊以及外企都是直接刷簡歷,沒給面試機會.心塞.
我也很絕望啊, who let me so vegetable !
搜狐提前批
兩輪技術面
(7月份搜狐大廈,問的都比較簡單,只記得這麼多)
- BFC
- Flexbox用法,詳見總結
- 排序,找出最大三個數
- 快排原理,複雜度計算
- 繼承的實現方式,詳細問了建立例項物件的內部過程.
- vdom原理,實現
- 非同步原理,macrotask和microtask,寫了總結
360 奇舞團
兩輪技術面+HR面,當時沒記錄,只記得沒答上來的問題
- webpack重新整理原理
- server push和websocket
- url長度為什麼受限制
- XHR如何傳遞二進位制流
百度大搜和度祕
百度內推面了倆部門,前前後後總計面了六輪,沒寫全,問的問題太多有些也記不清了.
大搜
大搜在百度現場面.三小時面完三輪.(荒郊野外真遠 -_-
- 一輪面試問的都比較基礎
例行自我介紹,隨便問了下美團實習專案,然後開始考察基礎.
Q:先講講JS繼承,後邊有白板,可以畫畫.
講了一下ES5繼承和原型鏈,寫了ES6的class示例.
Q:做過效能優化沒,講講效能優化
大概說了傳輸,渲染,快取的優化
Q:一般怎麼排查效能問題
chrome皮膚,balabala.其他第三方工具
Q:cookie,localStorage有些什麼區別
就記得這些了,基本覆蓋大部分基礎知識 - 二面超嚴肅
例行自我介紹,問了問專案.
Q:學校課程(本專業沒有任何CS相關課程)是些啥?
Q:資料結構瞭解多少,講講前端上用到的
堆疊,佇列,hash table,DFS(挖了一個坑)
Q:現在給個DOM,寫個DFS查詢裡邊的所有文字,列印出來
白紙上大概寫出了樣子,但是明顯有BUG
Q:遞迴是什麼原理,需不需要設定顯式終止條件?
答不出來
Q:給個陣列,把這個陣列每個元素放到一個l列表格里,列印表格DOM結構
寫了一個兩層迴圈
Q:講講URL到頁面過程
balabala
Q:HTTP建立是什麼過程,詳細點,是長連線嗎?
Q:HTTP報文和迴文內容包含些什麼
Q:XHR怎麼發的,具體怎麼建立的,和HTTP有什麼區別
原生XHR講一遍,區別不瞭解
Q:XHR上傳檔案和其他資料有哪些區別?和HTTP傳資料有什麼不一樣?
檔案上傳用formData.
面試官XHR傳資料會base64編碼 - 三面 經理
除了聊人生外:
Q:你這專案裡canvas繪製散點曲線怎麼解決的?
高階貝塞爾曲線擬合,計算控制點.也可以最小二乘法計算.
Q:為什麼不看看其他開源專案比如echart原始碼?(我用過echarts)
當時沒有這麼高覺悟.
介紹了網頁搜尋部前端組業務,整個部門只有一個前端組,貌似加班.
度祕
電話面試,兩天面完
- 一面
例行自我介紹,對著專案問問.
和大搜一面差不多
此外還問了:
Q:如何實現繼承
高程繼承背一遍
Q:例項化物件是怎麼樣的過程?
Q:建構函式上有哪些屬性?
length,其他不瞭解
Q:建構函式的prototype指向什麼?和例項物件的prototype有什麼關係?
Q:這裡邊this是什麼,其他地方用途
Q:bind和call有什麼區別?
Q:排序演算法懟一波,複雜度懟一波 - 二面
例行自我介紹,專案問的更深.
Q:ES6瞭解哪些,一個個細問?
Q:非同步一般用什麼?
promise,順便讓講了promise細節,之前做過總結
Q:ES6 module怎麼實現的,和require區
Q:for of 和for迴圈有什麼區別?
Q:canvas監聽點選事件怎麼實現
獲取觸發位置,計算是否在所繪圖形範圍
Q:其他寫法嗎?canvas有沒有相關介面
他說有,isPointInPath(),這個我忘記了.
Q:web安全知道哪些?
Q:Csrf怎麼防範,驗證了origin和refer是否能完全避免?
並不能完全避免 - 三面
例行介紹,問了學校三年情況,在團隊情況,實習情況.
然後話題一轉,英文怎麼樣,我是聽說不行,讀寫還行.
然後全程英文視訊面(流汗
面試官自我介紹,然後開始問.
英語確實爛,想說的說不出來,好尷尬.
面試官比較厲害,南大本科,國外留學碩博,創辦AI公司被百度收購就來這.
我要是做NLP就好了.當過CEO的人真是有魅力.
後邊面試官給了一些職業規劃和學習上的建議.
頭條一面(內推)
三輪技術面,一下午完成.
牛客視訊面,上來就是寫題.
第一題寫url轉置,www.toutiao.com => com.toutiao.www
轉換成陣列,然後換位.
面試官說,不用API,像c語言一樣寫怎麼辦.
查詢所有.,記錄index.根據index陣列長度,迴圈交換每兩個相鄰index之前的片段.
面試官說這裡交換用到了temp臨時變數,js不用臨時變數而交換值該怎麼寫呢?比如交換ab值.寫個函式試試.
想了一會兒,嘗試寫一個柯里化函式解決,但是沒寫出來,面試官提示ES6.
個人覺得這題好偏,除了解構,用arguments和物件都能實現.
[a,b] = [b,a];
{
a:b,
b:a
}
接著考察css,要求寫一個搜尋框,右側搜尋按鈕固定寬度,左側自適應.
寫了一個absolute定位,浮動佈局,css3 calc,css translate設定寬度.
然後大致講了用flex佈局.
中間問了哪些元素預設是inline-block,解釋與block,inline的差別.
面試官接著上邊問css3有哪些新特性?
問到了動畫,就細細問animation,我說動畫不熟.中間提到了css3效能,
接著問2D和3D動畫效能上有什麼差異?這個不瞭解,說了有些可以觸發GPU加速,渲染效能有一定提升.
面試官又問動畫的GPU問題,這就答不上了.
頭條二面
不多說,寫題.
bind函式實現,這個不難,一會兒寫完了.主要是考閉包和arg,另外記得先檢測bind是否存在.
面試官說不完善,bind繫結物件之後再去呼叫傳參怎麼辦.
獲取arguments傳入返回的函式.
然後出了這個題:
最多儲存n對KV;如果大於n個, 則隨意剔除一個已經過期的KV;如果沒有過期的KV,
則按照LRU的規則剔除一個KV;查詢時如果已經過期, 則返回空;
沒學過演算法完全看不懂.
然後開始問效能優化,從域名服務開始,到HTTP傳輸,到載入和快取,再到渲染,再到程式碼優化,一步步詳細講解.
中間面試官打斷HTTP,問HTTP/2有哪些特性?
講了多路複用和server push.
然後問HTTPS過程
講了HTPPS建立連線,證照加密過程
面試官又問簡歷HTTPS連線之後傳輸資料怎麼加密?
面試官問雪碧圖為什麼能優化效能?
答減少HTTP連線,一次性傳輸,HTTP有併發限制
問HTTP為什麼限制併發,我說可能是避免資源佔用過多.
問要是非要一次性載入100張圖怎麼辦?說不知道,知道的CDN也不能解決.
面試官問HTTP2多路複用是什麼?
建立一個HTTP連線,傳輸多個檔案.
問那雪碧圖優化點在哪裡?還有別的麼?答不上.
(其實雪碧圖把多張圖合併,一定程度上減小了體積,單個圖片要包含很多無用資訊,但是在HTTP層的優化可以被多路複用替代了).
HTTP在OSI哪一層? 應用層
詳細說哪七層?
在渲染優化上問了函式節流,並讓寫了一個節流函式.
在程式碼優化上問了queryselectAll和getBy的區別,
還問了mouseenter和mouseover的區別.
頭條三面
三面主要問專案和實習,遇到了考察點就追問到底.
沒什麼具體印象了.
以下為血的教訓:
又問了OSI,
依然不會.
面試官:中間隔了一個小時,你就不去查一下嗎?
我:…..
滴滴一面
上來一個定時器非同步的for迴圈題,問了一下結果要求解釋.沒啥難度,就是要細心.
然後是一個很長函式呼叫的題,主要考察this指向,作用域鏈,原型鏈和call.一不小心會掉進坑裡,我給了結果,順便深入講了一下分析過程.
接著是一個模板解析函式,給一個mustache風格的模板和一堆引數,要求編譯模板並輸出.白紙手寫.
大概畫了幾筆,發現判斷模板是否合法寫不出來.然後接著寫mustache替換.
告訴面試官自己的想法和遇到的難題,面試官趁勢對著程式碼問了一些問題.
面試官又問了一下事件代理,
大致講了這個東西,順便解釋了事件模型和效能優化點.
然後讓解釋url到頁面渲染的過程,
大致說了整個流程.
接著問css和js載入的差異,主要考察js阻塞問題.
然後問domready和onload區別,這點不是很清楚,答得不好.
中間提到了HTTP/2,所以面試官又讓細說http的各個版本.
講了http1.1特性.http/2的二進位制分幀,多路複用,server push以及效能優化作用,然後講了https加密.
面試官接著問HTTPS流程和細節,詳細解釋了HTTPS證照加密過程.
面試官讓HR領我出去等二面.
滴滴給人面試體驗太差了,所以放棄面試了.
快手
快手HC很少,面試也有點難,薪資還不錯,面完了之後去辦公室看了看,感覺挺不錯的.
講講這家略神祕的公司面試流程
一面是基礎技術面,將前端的方方面面都問了一下,給了一些演算法題和技術場景,讓給解決方案.
二面(前端主管)基本全程線上coding,題目記不清了,四五道題難度有高有低,寫了整整一個小時程式碼.後邊是半小時前端技術面,基本每個點都會問到問不下去.
三面是部門Leader面(前後端主管),HR後來說三面考察智力,反應速度和學習能力,問了一些演算法和智力題,給了一個UML圖應用例項,讓設計一個停車場計費系統的UML示例圖.
四面是HR面,亂七八糟問了一通,學校情況啊,實現情況啊,個人性格啊什麼的.
說說不只是500強的面試
春招實習的時候沒有offer,於是投了菊廠試試.筆試,性格測試混混就過了.兩輪面試,問了一些學校的專案經歷和關於c語言的問題,其他都是在聊天.然後莫名其妙就過了面試.
秋招直接進終面,也沒有問任何技術問題,40分鐘也在瞎聊天.然後就拿到offer了,感覺沒有比華為更簡單的面試了?.薪資一般水平.
附錄:
下面是其他公司的一些面經:
騰訊一面
- 1.瀏覽器工作原理
瀏覽器的主要元件包括:
使用者介面- 包括位址列、後退/前進按鈕、書籤目錄
瀏覽器引擎- 用來查詢及操作渲染引擎的介面
渲染引擎- 渲染介面:Firefox、Chrome和Safari是基於兩種渲染引擎構建的,Firefox使用Geoko——Mozilla自主研發的渲染引擎,Safari和Chrome都使用webkit.
網路- 用來完成網路呼叫,例如http請求
UI 後端- 用來繪製類似組合選擇框及對話方塊等基本元件,具有不特定於某個平臺的通用介面,底層使用作業系統的使用者介面
JS直譯器- 解釋執行JS程式碼
資料儲存- 屬於持久層,瀏覽器需要在硬碟中儲存類似cookie的各種資料
- 2.Web安全,舉例說明
- 3.狀態碼
- 4.同源:同埠,同域名,同協議
- 5.物件繼承
- 6.ES6歷史以及新特性有哪些?
- 7.promise原理
- 8.事件模型
- 9.常見相容性問題,列舉(移動端/PC端)
- 10.效能優化
阿里一面
- 1.Ajax原理
- 2.瀏覽器解析過程
流程: 解析html以構建dom樹->構建render樹->佈局render樹->繪製render樹
參考文章
- 3.垂直居中
- 4.資料型別判斷
- 5.路由實現
- 6.資料本地儲存
- 7.跨域 參考
- 8.資料雙向繫結單向繫結優缺點
阿里二面
- 1.無線效能優化
- 2.Tap事件,Touch
- 3.資料儲存
搜狐一面
- 1.Dom操作
- 2.移動佈局方案
- 3.前後端協作
- 4.原生Ajax實現過程
搜狐二面
- 1.單連結串列反轉
- 2.快排
- 3.即時通訊(除了Ajax和websocket)
懵逼了
總結一下其他方式
1.Comet技術:基於HTTP長連線的Web端實時通訊技術
2.SSE:伺服器傳送事件,使用長連結進行通訊
- 4.伺服器代理轉發如何處理cookie(nginx)
- 5.物件繼承
- 6.this
- 7.rem佈局的優缺點
騰訊Alloy Team
一面(記錄兩個,其他都還好)
-
實現動畫有哪些途徑
- CSS3
- JS幀動畫,定時器,requestAnimateFrame
- Canvas動畫
- SVG
- 圖片
- 物件繼承的實現
二面
-
web安全
- https加密過程,證照用途
- xss幾種形式,防範手段,過濾哪些字元?
- xsrf原理,例項,防範手段(Laravel的token)
- Sql注入
-
效能優化
- 程式碼優化(html,css,js)
-
網路效能優化:
- Cache快取之強制快取和協商快取.看具體詳情
- CDN原理及應用
- HTTP壓縮
- 上下文環境物件
-
設計模式(要求說出如何實現,應用,優缺點):
- 單例模式
- 工廠模式
- 釋出訂閱模式
-
跨域(產生原因)
- JSONP原理
- CORS如何設定
- Nginx代理
- 讀過哪些框架原始碼?
- 如何寫一個CSS庫,要注意哪些東西?
京東二面
- JS物件導向之封裝,繼承,多型的體現和應用?
- BST
- promiseAll如何實現,以及如何實現多層非同步回撥?
- 加油站問題(貪心演算法)
阿里二面
- XHR具體底層原理和API
- 單例模式實現/設計模式
- JSONP原理,回撥過程
- Latex怎麼解析
- hash演算法實現,如何避免衝突,如何在衝突裡檢測
- Generater
- ES6怎麼編譯成ES5,css-loader原理,過程
- ES6轉成ES5的常見例子
- 常見資料結構,常見演算法
- node多執行緒實現
- 程式和執行緒
阿里三面
- 對前端的理解
- 說說rn,weex原理
- 說說XHR
- Jq的選擇器引擎,$(`.a .b`)以及$(`.a`).find(`.b`)
- MD5摘要演算法其他用途
百度外賣二面面
- 前端架構的理解
- 前端框架的看法
- 如何做前後端分離
- 在不使用後端模板渲染的情況下,如何做前端資料直出(不使用非同步請求資料)?
- SSR適用什麼場景?SPA首屏空白原因?
- vue構建過程原理,具體流程
模板到DOM大致流程:
template模板經過parse處理後返回AST
獲得一棵AST後再經過generate()生成渲染函式
執行渲染函式後會獲得一個VNode,即虛擬DOM
patch函式,負責把虛擬DOM變為真正DOM。
- vue2新增內容?獨立構建(standalone)和執行時構建(runtime-only)的差別和應用?詳情
- 爬蟲的實現原理?如何實現一個爬蟲,如何解析檔案?
- 如何解決爬蟲慢的問題?
- 多執行緒如何保障各個執行緒的安全?
- webpack工具和node瞭解哪些?node各個模組的底層原理?
- CSS3實現卡片翻轉?
百度外賣三面
- 說說職業規劃?
- 說說HTML難點,語義化的體現?
- 說說CSS重要難點?如何實現垂直水平居中?
- JS中this是什麼?如何改變this?
- 講講時間複雜度計算?
- 演算法題:假定26個字母對應1-26,將一串數字轉成字母有多少種可能?
暴力解法複雜度是多少?
(百度外賣業務:包含移動客戶端(RN,hybrid),PC web端,H5,後臺介面vue,桌面應用包含編輯器外掛,前端構建工具,node中間層)
餓了麼
- 盒模型之box-sizing
- XHR原理及API
- session和sessionStorage
- map forEach(陣列各個API細節)
- dom事件代理,有什麼優點?
- 三種隱藏方式差別:visibility:hidden,display:none,opacity:0
渲染上的差異:
1.將元素設定為display:none後,元素在頁面上將徹底消失,元素本來佔有的空間就會被其他元素佔有,也就是說它會導致瀏覽器的迴流和重繪。
2.設定元素的visibility為hidden,和display:none的區別在於,元素在頁面消失後,其佔據的空間依舊會保留著,所以它只會導致瀏覽器重繪而不會迴流。
3.opacity:0,只是看不到元素,元素依然存在並且佔有原有位置.
注:
事件繫結的差異:
1、display:none:元素徹底消失,不會觸發繫結的事件.
2、visibility:hidden:無法觸發其點選事件,有一種說法是display:none是元素看不見摸不著,而visibility:hidden是看不見摸得著,這種說法是不準確的,設定元素的visibility後無法觸發點選事件,說明這種方法元素也是消失了,只是依然佔據著頁面空間。
3、opacity:0:可以觸發點選事件,設定元素透明度為0後,元素只是相對於人眼不存在而已,對瀏覽器來說,它還是存在的,所以可以觸發繫結事件
動畫屬性的差異: 1、display:none:完全不受transition屬性的影響,元素立即消失
2、visibility:hidden:元素消失的時間跟transition屬性設定的時間一樣,但是沒有動畫效果.
3、opacity:0,動畫屬性生效,能夠進行正常的動畫效果. 程式碼演示地址
頭條一面
- inline和block元素列舉,block和inline-block區別?
- span包含12px大小英文`abc`,問span高度?baseline怎麼理解?
- css實現自適應正方形?
- string查詢第一個不重複字元.如果換成字串呢?
- Angular資料繫結機制?
- 重繪和迴流的理解
- querySelectAll和ByClassName所獲取元素的區別?如何繫結事件?
- getComputedStyle用法?
- addEventListener繫結事件?引數不同的執行順序.
- 正則匹配電話號碼.exec,match,search用法?推薦一篇高質量正則文章
- 資料型別判斷的方法,toString判斷的來源?
- ES6 class原理?
- function rest引數長度?function.length如何判斷與arguments物件長度區別?
頭條二面
- var a;typeof a;let a;考察點
- mvp,mvc,mvvm
- vuex原理,watch物件
- js defer async順序,模組依賴(AMD,CMD差別)
- 設計模式和應用
- session和cookie
- 清浮動,BFC
- cookie儲存在哪裡?(memory)
- typeof
Null,Undefined,Boolean,Number,String,Object
typeof 只能檢測基本資料型別
CVTE面試
- 四欄佈局
- 陣列,陣列物件去重
- 陣列查某個字元出現次數
- 選擇器權值
- 右鍵選單定製
Ruff
- 函式不定參
- 定時器原理
- url=>渲染:script阻塞
- 資料結構應用
- 資料雙向繫結(vue,ng原理)
其他小公司:
- 物件導向三要素
- 閉包
- 三欄佈局
- 內聯元素包含塊元素的表現
- 三種隱藏方式的區別
- 求最大子陣列和.
- 塊元素和內聯元素渲染區別?
- ul li實現計數.
- flex-box用法
- svg與canvas
- JPG,png圖片特點,場景
- CSS寫輪播
- 拖拽組建
- PV統計
- URL監聽變化
筆試
人人網
- 1.陣列操作
- 2.排序演算法
- 3.動態規劃(書包問題)
- 4.程式設計題(正則)
CVTE
- 執行緒
- 各類通訊協議
- 二叉樹
- 演算法複雜度
- 棧封裝,利用棧對陣列reverse(程式設計)
美團
- 各類排序演算法以及複雜度計算
- Node的一些用法
- 二叉樹遍歷
- JS內部屬性
- 頁面之間傳參
- 程式題:陣列找公共元素
網易
- 出入棧可能性計算
- 陣列去重
- 基本資料型別
Null,Undefined,Boolean,Number,String,Object
typeof 只能檢測基本資料型別