阿里巴巴 業務平台事業部 前端實習

2021-09-19 03:29:35 字數 3081 閱讀 6879

筆試結束過兩天打**來約面試時間,阿里的面試官感覺更有點面試經驗,會抓住某個點,往下深入;並且話題的轉移不生硬。面試官一開場先根據你的筆試的回答情況為切入點,他問我最後一題中的優化策略,為什麼要這麼做。

面試時長: 50 分鐘

題目列表:

優化策略中,為什麼 css 放在,js 放在尾部有沒有其他方法取代 js 放在尾部的方法介紹一下 defer 和 async*1.js 2.js 3.js 他們defer 的執行順序減少請求次數,展開講httpshttps 判斷偽造*https 加密過程簡歷上的專案的模組專案中,元件如何復用專案的後端框架原型鏈es6 class supera類繼承b類,重寫b類的方法閉包閉包什麼時候可用,什麼時候不建議*js如何實現 private 可見性*typescript 轉成 js 的原始碼你有看嗎做前端你最有成就感的事情*$.fn 是 jquery 物件這個你有了解過嗎1.優化策略中,為什麼 css 放在,js 放在尾部

瀏覽器渲染規則,script 標籤會阻塞,並且 js 有權利操作dom。

2.有沒有其他方法取代 js 放在尾部的方法

defer async

3.介紹一下 defer 和 async

defer 和 async 都是非同步載入,但是defer 會在文件解析完畢之後才執行,async是載入完之後立刻執行,仍會阻塞。

4. *1.js 2.js 3.js 他們defer 的執行順序

關於defer:

defer只適用於外聯指令碼,如果script標籤沒有指定src屬性,只是內聯指令碼,不要使用defer`

defer指令碼會在domcontentloadedload事件之前執行

5.減少請求次數,展開講

如果不減少請求:

tcp建立連線和斷開連線是有一定開銷的

如果**使用的是https,每一次的http請求都要經過加密解密的過程,也會消耗記憶體和cpu。

7.https 判斷偽造

ssl使用 證書的手段確定通訊方

8.*https 加密過程

客戶端傳送 hello 報文開始ssl通訊。報文中含ssl版本,加密元件列表等資訊。

伺服器端回送 hello 報文。報文中亦包含ssl版本及加密元件。

伺服器端傳送 certificate 報文。報文中含 公開金鑰證書。

伺服器傳送 hello done 報文通知客戶端。最初的 ssl 握手協商部分技術。

客戶端傳送 client key exchange 報文。報文中包含通訊加密中使用的 pre-master secrect 的隨機密碼串。該報文已被3 中的公鑰進行加密。

客戶端傳送 change cipher spec 報文。該報文提示伺服器,在此報文後的通訊會採用 pre-master secret 金鑰加密。

客戶端傳送 finished 報文。該報文包含連線至今全部報文的整體校驗值。這次握手協商能否成功,要以伺服器是否能正確解密該報文作為判定標準。

伺服器傳送 change cipher spec 報文。

伺服器傳送 finished 報文。

10.ssl 建立完成。

9.簡歷上的專案的模組

略。10.專案中,元件如何復用

做成類,採用 $.fn.extend 擴充套件 jquery 庫

11.專案的後端框架

springboot框架,持久層用mybatis,資料庫用 mysql,介面設計為rest

12.原型鏈

我講述了__proto__prototype的區別,物件的 隱式原型 指向 建構函式的 顯式原型,並且在呼叫方法時會有向原型鏈尋找的動作。

13.es6 class super

當乙個類繼承另乙個類,則必須在 constructor 建構函式中 先呼叫 super ,才可以使用 this,super 指代父類。

14.a類繼承b類,重寫b類的方法

js 中只要函式名一致,在呼叫函式時就會沿著原型鏈尋找,至於引數是否一致不重要。然後只需要在子類同名函式中使用super.***x()就可以呼叫父類的函式了

15.閉包

描述了一下自己對閉包的理解,以及閉包的好處和壞處

16.閉包什麼時候可用,能用來幹嘛,什麼時候不建議

閉包可用:收斂許可權,比如屬性可見性。

閉包不可用:不要濫用,能不用就不用

17.*js如何實現 private 可見性

proxy 和 object.defineproperty 設定 getter setter

我提到了 typescript 可以很方便地直接設定 private 可見性

18.*typescript 轉成 js 的原始碼你有看嗎

我說沒有,可讀性有點差。。

19.做前端你最有成就感的事情

我說按照自己的思路封裝出乙個**元件並且可行的時候,後面詳細地交流了這個元件。

還聊到這個元件使用的是**模式。

20.*$.fn 是 jquery 物件這個你有了解過嗎

沒有。。。

阿里的面試官其實是很有水平的,我遇到的這位不太嚴厲,並且還知道我封裝元件的時候的想法和使用到的設計模式。

阿里巴巴開放平台

請求簽名 private string sign string urlpath,dictionaryparamdic list.sort string tmp urlpath foreach string kvstr in list hmac sha1 hmacsha1 hmacsha1 new h...

阿里巴巴開放平台學習

1.url 請求url註解 樣例url 說明備註 gw.open.1688.com 1688開放平台公網網域名稱 param2 請求協議格式 1 cn.alibaba.open member.get api version api namespace api name api版本 api命名空間 a...

阿里媽媽事業部三面面經

自我介紹 講講實習經歷 如果線上oom了,說乙個排查的思路 日誌你一般都怎麼設定 你們原來用的cms,那你講講cms cms和g1有什麼區別 g1比cms好在哪 你多執行緒一般都怎麼寫 介紹你的jvm調優經驗 說說jvm記憶體模型裡,gc起作用的部位都是哪 給了乙個兩個執行緒i 的那個經典執行緒安全...