金三銀四,記錄一次前端面試經歷

丶華華華華華哥發表於2019-03-22

前言

今年的前端還是很火的,市場需求量特別大,從2月16日來廣州,進行了為期2周的面試,3月份就入職了,下面分享我在一家公司的面試經歷,希望大家能在這金三銀四的日子裡能拿到自己滿意的offer

  • 找工作時間:2月18日~2月28日
  • 地點:廣州
  • 期望薪資:8k~10K
  • 面試時間:2月27日下午,2月28日下午

職位要求

1、兩年以上前端開發工作經驗,精通HTML5,CSS3,精通DIV+CSS網頁佈局,熟悉W3C網頁標準,有開發前端框架經驗;
2、精通Javascript,從事過javascript程式碼優化工作且懂得部分javascript高效能寫法,熟悉常用的前端效能優化原理及手段以及效能分析工具;
3、熟悉常見JS開發框架原始碼實現,(如:Bootstrap、jQuery、React),至少熟練其中一種,有過Angular開發經驗優先;
4、能夠理解後端架構,與後端工程師配合,為後臺工程師編寫資料介面,為專案提供最優化的技術解決方案;
5、熟悉HTTP、WebSocket、SSE、REST等網路/服務協議優先;
6、良好的溝通能力和團隊協作精神,能與產品經理、UI人員、後臺開發人員很好的溝通、協作;
7、有微信公眾號開發經驗;
複製程式碼

技術一面

那天天氣陰沉,下了一點小雨,但這並不能阻止我面試的熱情。坐地鐵到動物園站下車,走幾分鐘就到公司了。到了公司人事小姐姐就讓你登記下,然後就來個前端,面試開始:

  • 一面前端:你好,先自我介紹下吧。
  • :好勒,我叫***,工作1年多,然後balabalaaaa...
  • 一面前端:看你簡歷會的知識還挺多的,那你說下position地位有哪些?
  • :大概有5種,分別是:static,relative,absolute,fixed,sticky。
  • 一面前端:能重點說下sticky定位嗎?
  • :這個是css3新屬性,當它再可視視窗內是以absolute定位存在的,當它即將進入可視區域外,就變成了fixed定位了。
  • 一面前端:一般簡單的動畫為什麼用css3的animation而不是用position動畫?
  • :position動畫會脫離文字流,動畫效能消耗大,而css3動畫基於幀動畫,瀏覽器可對動畫做優化,效能提高不少 (其實華哥也不太確定這樣答對不對,只見面試官點了點頭)
  • 一面前端:js基本資料型別有哪些?
  • :string,number,null,undefined,boolean,symbol
  • 一面前端:typeof 不能區分哪些型別。
  • :不能區分物件,陣列,正則。它們返回的都是Object
  • 一面前端:怎麼把字串的首字母變大寫呢?
  • :不知道(當時腦子一時卡住,還真沒記起,後面就想起charAt())
  • 一面前端:說下promise的實現過程
  • :promise函式裡面存入兩個引數,成功返回resolve,失敗返回reject。new出來的promise函式就可以用.then().catch()捕捉到資訊了
  • 然後看了下我的專案,並介紹一下專案情況,balabalaaaa...說了半小時。
  • 一面前端:你的情況我大概都瞭解了,如果有複試的話我們會盡快通知你。
  • :好的,謝謝

走出寫字樓,心想這次面試好簡單,估計面試官的知識水平比我還差。
坐地鐵回家的路上,就接到電話通知明天下午來複式了

技術二面

天氣還是一如既往的陰沉,下午5點準時到達公司,告訴人事我是來複式的,後面人事通知了技術。那個技術遲遲還不來面試,我足足在那裡等了40分鐘,忍無可忍在問了人事:你們這裡沒有技術面試官的嗎?人事小姐姐又緊急地崔技術面試官來面試,這時終於來了個面試官了,心裡一頓mmp,不說了,先面試。

  • 二面前端:你好,請自我介紹
  • :好勒,我叫***,工作1年多,然後balabalaaaa...

然後大佬就問了我幾個問題

  • 從1244abc6548找出字母部分並把它第一個字母變成大寫,返回Abc。(這道題沒答出來,回去的時候才想起,尷尬了)
var str = '1244abc6548';
function filters(str) {
    var newStr = str.replace(/[0-9]/g,'');
    return newStr.charAt(0).toUpperCase() + newStr.substring(1);
}
console.log(filters(str))
複製程式碼
  • 你是怎麼上傳一個圖片到伺服器的?
我就說先將圖片轉成base64格式,然後上傳。
複製程式碼
  • 手寫一個氣泡排序
//這個倒是寫出來了
    var arr = [3,2,8,4,1];
    for(var i=0; i<arr.length; i++) {
        for(var j=0; j<arr.length-i-1; j++) {
            if( arr[j] > arr[j+1] )
            [ arr[j] , arr[j+1] ] = [ arr[j+1] , arr[j] ];
        }
    }
    console.log(arr)
複製程式碼
  • 一個dom結構,用jq尋找con裡面的所以dom元素?
<div id="con">
    <span></span>
    <div>
        <a></a>
    </div>
</div>
我說我用過jq,他就出這道題了,結果沒答出來,回去想了想應該用$('#con *'),是不是有點搞笑。
複製程式碼

後面還問了一些問題其它技術問題,忘記了。 總體來說這次面試體驗極差,面完6點多了,他說怎麼不早點來?(黑人問號????),我都在公司等了快1個小時了

天黑了,回家

相關文章