2017.07.16 阿里內推一面

找內推人推的,第二天就收到了天貓部門內部面試,估計是想看看值不值得內推吧。

CSS

一上來問的技術問題就是css布局相關的:給三個div,實現排列在同一行的布局,我順口一答就是flex布局,然后面試官就問能不能說出十種方法,我最后說出了六種,算是勉強過關吧:flex、float、表格布局、定位布局、inline-block布局、inline布局+padding撐大(開始說設置width然后面試官提醒我inline元素設置不了width)。

css部分還問了個怎么把div旋轉90度,我回答了個rotate90度就沒了。

Js

接下來問js部分,我就記得這個題了

Object.prototype.a = 1
Function.prototype.b = 2
class A{}
var a = new A()

問a.a和a.b分別是什么?為什么?

這是一道典型考察原型鏈的題目,我就說class是Object的語法糖,實際上a的原型還是Object,所以a.a是1。
至于a.b,我當時認為new這個操作符還是調用了Function的,所以Object.proto會指向Function.prototype

我自己事后實驗看看他們的關系到底是什么樣的:

a.__proto__ === A.prototype 
A.__proto__ === Function.prototype
A.prototype.__proto__ === Object.prototype

Function.prototype === Function.__proto__         
Function.prototype === Object.__proto__           
Function.prototype.__proto__ === Object.prototype 
Function instanceof Object

Object instanceof Function
Function instanceof Object
Function instanceof Function
Object instanceof Object

把原型鏈的圖畫出來:

原型鏈.png

網絡

HTTP相關的知識肯定是必問的啦~這次問了經典的一個問題:在瀏覽器里輸入url到網頁展示給用戶的過程發生了什么?
我就不贅述了。

項目

問完這些基礎,就開始問項目了,聊著聊著,一個經典的問題拋出來:你在項目里印象里最難的部分是什么?最深刻的地方是什么?

我是這樣回答的:功能需求其實總是可以想辦法實現,現在google/stackoverflow/github等等這么方便,難的是優化功能和性能,然后就引出了面試官的一個問題:前端在和后端通信的時候因為網絡延遲的原因會造成用戶接受到的信息和發送過去的不一致的情況,比如百度搜索時搜索阿里巴巴四十大盜可能因為網絡不好返回給用戶的是阿里巴巴的搜索結果,這個問題問我怎么解決。

我就回答說前后端一起想辦法解決,比如后端給返回的信息添加一個標識用的ID,前端用節流/監控網絡超時(用rxjs的timer和throttle函數)。面試官說這樣用戶體驗會不好,于是我借機詢問面試官說:那您有什么好的建議嗎?
面試官很大方的給了我他的解決方案:全局維護一個自增id,前端請求后后端返回的數據帶上這個id,然后前端進行比較,如果一致則使用,否則丟棄。

其他

因為我是學安全的,就還順便問了web安全的問題:假如有一個找回密碼的接口,有發送短信的功能,如果一個人想刷接口,偽造十萬個手機號碼來惡意找回,怎么辦?
我:前后端都加個限制,前端一分鐘只能使用一次,后端一分鐘內返回的是一樣的驗證碼
他:但是短信照樣發啊,發短信要錢的啊
我:那就加驗證碼唄
他:圖片驗證碼嗎?一般都可以破解了
我:那就換成12306那種驗證碼或者拖拽式的
他:還有其他方法嗎?
我:這個場景能說清楚一下么?信號源是在那個人家里還是全國各地?
他:不知道
我:那就這樣:如果是他家就用后端監測手段封鎖IP,如果是全國的話就要求認證用戶身份
他:算你過吧。。。

最后我稍微問了下面試官在哪個部門,有什么產品,和技術架構,團隊氛圍,然后就愉快地結束了這次面試,這場面試算是今年秋招的開胃菜吧~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,573評論 25 708
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,815評論 1 92
  • 生活有所期待,才有生存的意義。 每次讀完一本書,或者追完一套電視劇時,總是不舍,心里會空空的,因為那些曾經期待的劇...
    快樂拉拉閱讀 181評論 0 1
  • 在微博上看到,微信錢包 - 信用卡還款板塊終于上線了這項功能。一年前實習的時候有幸參與過這個功能的設計,有些感觸。...
    劉英滕閱讀 1,151評論 5 5
  • 我來到 你的城市 走過你來時的路想像著 沒我的日子 你是怎樣的孤獨拿著你 給的照片 熟悉的那一條街只是沒了你的畫面...
    樸玄閱讀 501評論 3 2