記一次螞蟻金服電話面試經歷


前端時間接到螞蟻的電話面試,記錄一下面試的過程。
以下是我和面試官的談話:
面試官:做個自我介紹
我:隨便做了些介紹,這個相信大家都有准備。講了自己這幾年工作主要做什么,用的技術棧有哪些,其中提到了umi+dva+antd這一套技術棧,對方表示他們也有用這一套,這對我倒是一個好消息
面試官:談下對 umi 和 dva 的看法
我:這一塊答得不是很好,主要講了好處,但是有沒有突出重點。最后表示自己只是會用的哪個層次。
面試官:看你簡歷寫的你會vue、react 談談他們之間的區別
我:談了vue的雙向數據流,react的單向數據流,寫法上的區別,jsx,虛擬dom,性能等
面試官:react 中 key 的作用
我:key 作為元素的唯一標識用來表示元素的唯一性,在進行diff算法比較時,通過key避免不必要的渲染,實現高效的視圖更新機制。
面試官:談談 redux 的理解
我: redux 是 react 應用的狀態管理機制,為了解決多頁面多組件之間的數據通信。主要有Store、Action、Reducer三部分組成,由頁面發起一個 Action 操作修改 Store 中 的 state,在 reducers 修改 state,返回新的 Store,Store更新后通過 內部的 getState 方法通知頁面更新視圖。
面試官:談談 react 生命周期
我:這個也不算難,但是可能由於緊張漏答了 componentWillReceiveProps 這個周期。
面試官:react 項目數據請求應該在哪個生命周期進行。
我:componentDidMount 周期。
面試官:react 生命周期應該在哪個環節做渲染優化。
我:shouldComponentUpdate 周期。通過條件判斷返回布爾值確定是否更新視圖。
面試官:聊聊虛擬 DOM 的原理
我:把整個 react 應用按照樹形結構分層描述,給每個元素添加唯一的 key 值方便比較。。。。,答得不是很好。本身對 DOM 的概念比較模糊。
面試官:react 中 refs 的作用
我:訪問 DOM 元素實例的句柄。
面試官:類組件和函數式組件有什么區別:
我:類組件可以有自身的狀態和生命周期鈎鈎子函數,而函數式組件沒有。
面試官:什么是受控組件
我:這個問題答得不好
面試官:什么是高階組件
我:以一個組件為參數並返回一個新組件的函數,然后他問了具體的使用,這一點答的不是很好。
面試官:redux 有什么缺點
我:當組件的相關數據更新時,及時父組件不需要用到這個組件,父組件也有可能重新render,造成不必要的渲染。
面試:css 隱藏屬性 display 和 visibility
我:display 隱藏元素,而且該元素原本占用的空間也會從頁面布局中消失,會導致頁面重繪,visibility 隱藏元素,但是頁面元素占用的空間依然存在於頁面不居中,不會導致頁面重繪。
面試官:es6的新語法有哪些
我:let,const,箭頭函數,class 類,拼接字符串,set,map,解構賦值,另外數組添加了一些新的方法,如reducer等。
面試官:談談解構賦值
我:解構賦值是指等式兩邊程式結構相同,就可以賦值上去,對象,函數也可以使用結構賦值,但必須保證對象是可枚舉的對象。
面試官:display屬性有哪些
我:有一個忘了,其他的答了。
面試官:用過 antd 吧,說說穿梭框組件實現過程和你認為在寫這個組件中需要考慮什么問題?
我:沒看過 antd 源碼,答得有點懵。。。。。。
面試官:說說你工作中遇到的比較難得問題,怎么解決的
我:談了混開APP中實現在線瀏覽word的問題和等值線降水圖(這個未解決)
面試官:那我們換個話題,加入要做一個輸入框@人的功能,談談你的實現思路
解釋:就像我們在微信群里聊天,輸入一個@,這時這個符號右邊就會出現很多人名,就這個功能,監控輸入字符有遇到@就出現浮層,用戶點擊選擇名稱,但是這個有一個難點是,你怎么保證你的浮層,剛好在@符號的后面,怎么去獲取輸入框元素中某個字的位置
我:沒答上來,自己沒有這方面的開發經驗,不知道是否有API之類的,最后表示可能需要查一下知道該怎么實現
最后我問了下公司的項目和技術棧,無下文。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM