校招開篇第一次面試——打響校招的第一槍(二)

前言:剛剛更了一面的內容,問到的問題都是前端技術相關的,而此次二面問到js的問題就一個,上來第一個問題就是算法,而後又是計算機網絡,計網我以前有刷過一次書,可是時間已是1個多月前,因此我自己的知識已經有遺忘,並且當時的心態也被各類打擊慘了,因此計網的問題也是答得很很差,整體表現就是差。可是此次面試經歷對我也很是的重要,它讓我清晰明白的知道了我技能的薄弱的一塊——算法,同時也激起了個人鬥志,接下來的學習重點就是算法啦~真的很痛苦,可是此次不再要退讓了,不把算法啃下來,我就啃我本身,哼css

正文:html

二面面試題目前端

1.自我介紹git

思路:我的信息+應聘崗位+相關技能+實踐經歷github

2.簡單介紹一下作過的項目web

思路:就像我一面總結文裏說的,儘可能不要囉嗦,言簡意賅就是最高境界,更詳細的思路能夠看我上一篇文 (連接在此:http://www.cnblogs.com/zllwebstudy/p/5839518.html)面試

3.表達驗證,異步,文件上傳(這些是我說到的實現的功能,而後就引起了下一個問題)算法

4.如何實現大文件上傳,如幾百M或者幾G的文件gulp

思路:當時是懵掉了,由於咱們作的項目有要求文件大小不超過多少,因此沒有考慮過大文件上傳,只能扯了半天,說不知道了。總結時,去網上找了不少文來看,可是基本是一個調調,在此真的要感慨一    下,網上的文在不少網站都是如出一轍,也不知道是誰抄誰的,但願抄襲的網站可以註明原著,不要讓人家的心血白費。因此我以後看到這個文(連接在此:http://blog.csdn.net/sinat_29804751/article/details/46876061)還不錯,但不知是否是原創,但願不是又一個傷害原做者的網站。尚未具體實現過,可是原理感受應該是對的,以後會去實踐,若是有錯再來改正。數組

5.冒泡排序的時間複雜度是多少?

思路:很不肯定的說是nlogn(徹底是亂蒙),面試官很耐心的引導我,我想起出來,說是n²(答案是n²)

6.那簡單說說快速排序的實現思路。

思路:沒答上來,總結看書是知道了,簡述以下:首先選擇一個軸值,將待排序記錄劃分爲獨立的兩部分,左側記錄的關鍵碼均小於或等於軸值,右側記錄的關鍵碼均大於或等於軸值,而後分別對着兩部分   重複上述操做(即選取軸值,而後小於或等於軸值的放到左邊,大於或等於軸值的放在右邊),直到整個序列有序。

7.在對話框裏5分鐘寫出冒泡排序算法(當時用的qq開視頻)

思路:沒答上來,在此寫js的代碼實現:

function bubbleWay(arr,n){//arr爲排序的數組,n爲須要排序的元素個數
      var exchange = n;  //排序從1-n
      while(exchange != 0){//用0來做爲邊界斷定條件
            var bound = exchange;//當前須要從1-bound進行交換
            exchange = 0;//初始化exchange爲0,表示尚未進行交換
            for(var j=0;j<bound;j++){//遍歷須要交換的元素
                if(arr[j]>arr[j+1]){//若是當前元素大於其後元素,則二者交換
                        var temp = arr[j];
                        arr[j] = arr[j+1];
                        arr[j+1] = temp;
                        exchange = j;//exchange記錄當前交換髮生的位置
                }
            }
      }      
}        

8.一我的走100個階梯,他能夠走1步或者走2步,問一共有多少種走法。

思路:依然是沒答上來,哎,心塞,題思路解以下:

  (1)當要走的階梯爲0階時,有0種走法。(選1步或2步都不能到達)

  (2)當要走的階梯爲1階時,有1種走法。(選1步)

  (3)當要走的階梯爲2階時,有2種走法。(走1步兩次或者走2步)

  (4)當要走的階梯大於等於3時,有fn=f(n-1)+f(n-2)種走法。(想象一下,這我的如今站在第n階梯,他只可能從n-1或者從n-2階梯走過來,由此再往前推,n-1階梯只可能從n-1-1或者n-1-2階  梯走來,因此這是一個遞歸調用)

  綜上所述,100階梯的走法爲f100=f99+f98=....種走法。(寫了算法準備算一算的,然而被卡死機了。。。反正你們就知道原理好了,應該不至於變態要算出結果來。。。。)

9.http狀態碼中200表明什麼?304表明什麼?

思路:200表明成功,304表明緩存可用。

10.http報文表頭裏指示緩存的字段有哪些?

思路:cache-Control,pragma,Expires,網上找了一篇文,寫得挺好的(連接在此:http://www.codeceo.com/article/http-cache-control.html)

11.tcp鏈接時須要幾回握手?斷開須要幾回揮手?敘述一下斷開時的狀況。

思路:3次握手4次揮手。(ps:個人WiFi名就是這個~)斷開時,(1)由客戶端發出鏈接釋放報文,並中止發生數據,主動關閉tcp鏈接。

    (2)服務器端發出確認,這時的tcp處於瓣關閉狀態,客戶端不能發生數據,當任然能接受服務器端發送的數據

    (3)服務器端發出鏈接釋放報文,等待客戶端的確認

    (4)客戶端返回確認,等待一段時間後,斷開鏈接

12.tcp的MTU是多少?(此處面試官說的是這個問題,可是以後有大牛指出,MTU是鏈路層的概念,因此特別說明,MTU是鏈路層概念,MSS是tcp的概念)

思路:1500字節 這裏有個和MTU相關的概念是MSS,看到一篇文講得挺好的(連接在此:http://blog.csdn.net/yygydjkthh/article/details/7359281)

13.什麼是閉包?什麼是原型?

思路:又是經典的必考問題,閉包和原型是js裏面很重要的概念,面試被考到4次的3次,不會的小夥伴在網上搜文來看,講得很詳細,再也不贅述。

14.看你用過gulp,主要是用來作什麼?(答:壓縮圖片)除了壓縮圖片還作過什麼?(壓縮js,css,添加前綴)那爲何要壓縮js文件?

思路:gulp教程不少,我放一個我本身很喜歡的(連接在此:https://github.com/nimojs/gulp-book)至於爲什麼壓縮js文件,主要說到兩點:(1)減小js文件大小,方便傳輸,提升傳輸速率(2)保護   源碼,不被竊取原創知識,保護原創從我作起。

15.對於前端工程師的見解。

思路:有事兒說事兒,無事退朝。

16.還有沒有什麼想問的。

思路:看過不少面經,總結一點就是,別問敏感問題,敏感問題的關鍵字有:工資,加班等等。

 

後話:

此次是視頻面試,比起一面的電話面試會有更多的打擾因素,因此你們在面試的時候更要注意面試時的環境,否則真的會很打擾面試時的心情,可是對於那些不能改變的部分(我面試時,網速不穩定,面試官說話的聲音很卡頓,很嘈雜)就要調整心態,也當是一次身心的修行吧。此次面試的表現不怎麼樣,可是也是一次很不錯的經歷,一面讓我增長的信心,二面讓我深入的明白本身的不足,我相信待得校招還有更好的表現。最後,各位要面臨校招的戰友們,一塊兒加油吧~但願你們都能簽到本身滿意的公司~加油~

相關文章
相關標籤/搜索