2018秋招心路歷程(8月-10月)
以下是我參加的今年秋招的面試經歷總結,不過有些已經遺忘了
天貓(內推 一面+二面)
問的都是一些基礎的東西(當時基礎還不牢實 卒)
兌吧(第一次 內推)
整體根據我的簡歷、github、部落格內容來提問
new關鍵例項化一個物件時,發生了哪些過程
this指向問題
講講你在哪方面做的深入的一些研究
JS單執行緒,事件迴圈
vue生命週期
賣好車(宣講會 筆試+技術面+hr面)
宣講會的時候筆試 晚上筆試通知 第二天參加面試
筆試
基礎知識(單選 多選 兩道函式實現題)具體的題目記不住了,以下是考到的知識點
XSS安全問題及防禦
Array.isArray(Array.prototype) ? true OR false
例項、建構函式、原型物件之間的關係,例項的constructor屬性的值是什麼?
promise中then()返回的是一個promise物件? true OR false
實現一個函式,在不知道函式引數的個數下,返回函式所有引數相加起來的和
hr面試
一上來就給我看昨天的筆試成績(慘不忍睹 不及格)然後告訴我 你知道什麼意思了吧
介紹一些自己,從生活的各個方面,來自哪,平常都幹什麼,生活經歷等
你在你之前的生活遇到最難的事情是什麼,難在哪,怎麼度過的,講一講
用兩個詞來形容你自己,為什麼
你今天的狀態是不是很好?(啊哈?)
你最近身體是不是不舒服?(啊哈?)
有沒有什麼問題要問的?
技術面
專案中使用搜索框時,一般為其新增一個change事件,但當用戶連續在輸入框中輸入,就會不斷執行change事件的事件處理函式,不斷髮起請求從後臺獲取搜尋結果,該怎麼優化?
建議我去看看loadsh
git add了一堆檔案到工作區,此時還未commit,突然其中有一個檔案我不想commit了,想讓他退回到add之前,怎麼操作,換句話說就是撤銷單個檔案的add操作(交談中提到了stash命令)
git中他是怎麼知道檔案哪些改變了,git add和git commit這些操作都做了什麼將檔案新增到哪了(建議多去想一想這些操作實現的資料結構)
袋鼠雲(直接投簡歷到hr微信 別人介紹 一面電話面+二面現場面+hr面)
一面
盒子模型,如何設定想要的盒子模型?
實現三列布局,左右固定寬度中間自適應?
vue的生命週期
閉包的概念
繼承的實現
二面
vue 比如一個圖表的元件,從建立到使用,細節方面都說說(比如暴露了哪些屬性在外面),因為圖表一般都是響應式開發的,當瀏覽器視窗變化了,是如何實現讓圖表大小跟著變化?
vue的文件結構,比如元件放哪引用他的檔案放哪
怎麼樣來判斷什麼時候使用的是計算屬性,或什麼時候用的是原屬性,應用場景舉例
let宣告一個變數的特性
const生命一個變數的特點,如果const生命一個json物件,它還可以改嗎
console.log(是jquery的那個$,這個打印出來是什麼
普通事件與事件監聽的區別
手寫一個jsonp的實現
跨域的方法有哪些
實現演算法,將一串資料,其中包含數字和字串,讓這一串資料進行升序或降序的排列(字元與數字之間的比較是:字元的ASCII碼與數字的大小比較)
hr面
為什麼從上個公司辭職
平時都看哪些書
未來的職業規劃
有什麼要提問的
個推(宣講會 筆試+技術面)
筆試 1 + new Date()? (忘光光了。。。囧)
技術面(因為是直接參加完筆試就去帶著答題紙去排隊參加面試,真的是排隊兩小時,面試5分鐘)
自我介紹
var m = {a:1}; let n = {a:1}; m == n? m === n? 為什麼?
vue的什麼週期
簡單介紹一下vue這個框架,它與一般框架的區別
提一個問題問我(面試官)的
兌吧(第二次 宣講會投簡歷)
自我介紹
開發中對圖片的處理
如何判斷瀏覽器是否支援該圖片的格式?(面試官告訴我:webp格式的圖片格式 相容性比較好,優點蠻多,先發一個1px ×1px到瀏覽器判斷是否支援,支援的話再發整個圖片)
base64的優點缺點
會所有圖片都轉為base64嗎?為什麼?有哪些圖片會選擇使用base64?
如何實現事件解綁?(期間面試官給我講了這兩個jQuery的方法jquery.on,jquery.off)
介紹vue的生命週期並說明每個生命週期中一般都幹什麼
如何給動態DOM繫結事件(事件委託)
給動態DOM是直接繫結不了DOM事件的,為什麼?
怎樣開發一個頁面?從開發過程講到後期優化
講一下prototype
大搜車(內推 筆試+技術面)
從內推到接到面試通知等了半個月
筆試:
一行程式碼實現 隨機打亂陣列的順序
實現一個函式節流,第一次的時候執行引數給的函式之後在定時器間隔時間內都不執行,函式的引數有執行函式method和時間間隔duration
根據傳入的節點元素,返回出它的Xpath,即body>ul>li[2]>span[2]
專案中遇到的一個技術難題及其解決思路
git中切換分支
一行程式碼,將childNode或arguments等非陣列物件轉換為陣列
實現一個函式,將ComeDateName這樣的駝峰命名轉化為come-date-name,儘可能寫出多的方法
var string = “我的賬戶餘額:2,235,467.20”;請用js計算出到底有多少錢(輸出Number型別數字,程式碼儘量簡潔,考慮通用情況,使用正則),即2235467.20
面試:
自我介紹
簡單介紹一個做過的專案
原生ajax怎麼實現
get和post的區別,兩者的應用場景,什麼時候用get和post去請求
實現跨域的方法
手寫一個從後臺獲取列表資料將其呈現到頁面的vue檔案,從開始寫,不用寫樣式
v-if="(key,val) in arr" 在使用v-if的時候會提示要加上key這是優化後的結果,為什麼要加上key?而且在開發過程中不加上key會報錯這又是為什麼?
箭頭函式的特點? 在使用axios獲取後臺資料,在之前會設定self = this; 如果在axios中使用了箭頭函式,則還用進行上述設定嗎?
vue檔案中使用 data () {return{…}} 和 data: {…} 定義資料時,他們兩的區別?
對於一門新的技術,你是如何學習的,有什麼計劃,比如拿你最近正在學的東西舉例
當一個頁面在其他瀏覽器能正常顯示然後就在某一個瀏覽器不能顯示了,第一時間應該怎麼做?
如果一個頁面在電腦上能正常顯示,但到了手機上不能正常顯示了,有哪些措施可以找到錯誤所在?
是否知道async,await
個人小結
以上參加面試的公司都不是什麼大廠(對自我水平還是有個很好的認知的),都是些杭州的獨角獸或準獨角獸公司。在秋招的整個過程中經歷過充滿希望,也經歷過絕望,記得最忙的一天是早上兩面,下午兩面,中午還有一個學校的演講。現在回想起來也不覺得多辛苦,反而這樣的生活很充實,在看牛客網的時候,看到人家面試了十多家公司,有的還要跨省坐飛機去參加面試,我就覺得我這都不算辛苦。 最後附上我對前端知識和一些常遇到的問題的總結,有的給了答案但僅供參考,一些非常基礎的知識我就沒有列出來的,但都是要記得滾瓜爛熟的。