背景
暑假想找一份實習,碰巧看到了學長的搜狐內推,就把自己的沒有誠意的簡歷投了過去,過了一個多星期收到了電話面試的郵件(十分懷疑是學長面子比較大)。
問題
這裡只挑幾個重點的問題記錄一下(我記得的..)
React和Vue
相同點
- 都使用了
Virtual DOM
- 元件化
不同點
React
使用JSX
渲染頁面,Vue
使用簡單的模板React
不是MVVM
,而Vue
是,擁有雙向資料繫結,允許插值表示式React
中只能用setState
修改狀態,Vue
中可直接修改data
React Native
與Weex
Promise
Promise
本質是一個狀態機。每個promise
只能是 3 種狀態中的一種:pending
、fulfilled
或rejected
。狀態轉變只能是pending
->fulfilled
或者pending
->rejected
。狀態轉變不可逆then
方法可以被同一個promise
呼叫多次then
方法必須返回一個promise
。規範裡沒有明確說明返回一個新的promise
還是複用老的promise
(即return this
),大多數實現都是返回一個新的promise
,而且複用老的promise
可能改變內部狀態,這與規範也是相違背的- 值穿透
這裡還問了一下具體實現,我只答上了nextTick()
上面這幾個問題我只答上了部分... 感覺自己水平還是不夠
原型鏈
舉個例子: 在一個物件上尋找成員的時候,如果沒有找到就繼續順著proto
往上找,如果最後沒找到就報錯(直到Object.prototype
)
balabala...
繼承
原型鏈
// B 繼承 A
B.prototype = new A()
複製程式碼
Class
class B extends A{
constructor(props) {
//呼叫實現父類的建構函式
super(props);
}
}
複製程式碼
Undifined 和 Null
這是Js的兩個基本型別..balabala..
什麼時候這兩者會出現?
Undifined
是未賦值..當你定義了一個變數但是沒賦值,或者像是變數提升這種balabala..
Null
在我看來是一個指向Object的指標..因為Typeof Null = Object
balabala...
面試官: 那什麼時候Null會出現?
我TM竟然沒答上來..當時心裡就是一陣涼涼,後來我一想Null
不就是沒賦值的引用型別麼..
讀過什麼原始碼麼
讀過React
的setState
和Node
的setImmediate
... 但是考慮到自己水平問題這裡就一筆帶過了..然後嘴欠提了句感覺讀原始碼對自己現階段幫助不大,面試官還問了問為什麼,我又好不容易圓回來23333
你使用的Html5和Css3新特性
HTML5
audio
,video
,canvas
,datalist
..
Canvas
用的比較多,用其模仿過草莓音樂節的宣傳視訊動畫
datalist
在懶載入的時候有經常用..
CSS3
選擇器,Animation
,Transition
,Transform
...
然後讓我描述了一下看見一個動畫如何去實現它..balabala..
我覺得沒人能完全答上來所有的...主要還是說一下自己用的比較多的
總結
面試方面
面了大約40-50分鐘左右,技術點自我感覺扯上了80%左右,沒答上的也儘量扯一點(除了一些自己真的聽都沒聽過的)。感覺問的技術面不是很廣(可能因為是實習生),原生方面問的比較多..但是沒問一些更深入一點的,自己比較擅長的Css和React方面也問的比較少(難過),瀏覽器和Http方面沒問,整體來說面試難度不大..可能考慮到我只是個大二來實習的?
自己方面
人生第一次電話面試..全程緊張,大腦間歇性暫時性空白,許多自己會的沒有完美地答出來很遺憾,自己會的想表現出來的沒問也有點遺憾,其中還有幾次尷尬的寂靜(最怕空氣突然安靜),不出意外自己應該是涼了QAQ。
但是想想自己大二還有時間補救,趕緊把這篇部落格整理出來反思一下自己,諸君共勉吧~
一些補充
- 這篇文章好像省略了絕大部分問題(我真的記不起來了)
- 後來Leader又問了我許多專案相關的問題,但是請看下一條
- 本文只記錄了我記得的中認為有價值(其實是我覺得可以寫出來的)的問題
- 面試官還是不錯滴
- 本文比較適合找實習工作的小萌新
- 本文隨我的記憶實時更新..
結果
說好一個星期內回覆,但是到現在也沒有,估計是涼了,感覺態度很差,包括面試前面試官遲到,讓我對搜狐印象大打折扣