2020.8前端找工做記錄

記錄一下自8月中旬離職以後準備以及找工做的經歷,會提到我的感覺到的招聘狀況和一些前端面試題.會按照如下幾個點來展開.
  • 背景信息(我的相關)
  • 總體找工做的感覺
  • 總體節奏(時間安排)
  • 面試題整理(含算法題)
  • 感悟和總結

背景信息(我的相關)

普通二本,計算機專業,三年工做經驗(一年爬蟲,兩年前端+全棧),前端崗位,技術棧主要是vue.js + node.js.簡歷上稍微好的點應該就是在獵豹的工做經歷和爬蟲的工做背景.總體看來就是很通常般的.前端

總體找工做感覺

在經歷整個過程以後對找工做前的一些點的思考,但願減小一些同窗對今年就業形勢的誤判.vue

  • 總體就業形勢的感覺

由於受疫情影響,總體經濟大形勢是很差的,不少企業都在裁員,因此總體hc減小,工做很差找,這是在脈脈或者v2ex論壇裏面不少人的反饋.可是我我的感覺是今年招人的仍是挺多的,就拿個人狀況來講,我找工做一直用的boss直聘(boss招聘打錢),上面有300+條消息都看不過來(這個有點小訣竅,下面會提到),只有第一週我回了一些比較中意的hr簡歷,剩下的兩週都沒有再投簡歷.
結合約面試的狀況來看,招聘主要集中在滴滴,美團,字節這三家.boss上發消息的10個裏面有6個字節的.美團換着部門面面了三次,滴滴面了兩次.面了三週的時間,基本上天天兩場.最後陸陸續續拿到了6個offer.
後來我也分析了,總體hc減小是不假,但多是10個小廠減小了20個hc,一個大廠漲了12個hc這樣的狀況,hc少了可是更集中了.
個人結論就是,有些事別老聽別人說,要小馬過河,本身去試試.
另外,我也有點困惑,今年找工做的這個狀況究竟是3年的工做經驗帶來的仍是獵豹的工做經歷帶來的.node

  • Github項目star數和我的博客對面試的影響

我在github上有一個500+ star的項目,還有平時有寫博客的習慣,我從改簡歷開始就琢磨這些點該怎麼表達更好,儘管我在每次自我介紹的時候都會提到在開發之餘我會寫寫本身的項目和博客,可是目前github項目基本沒有人問的,博客也只有百度5面和去哪兒二面的時候纔有問到.
因此,這部分怎麼說呢,屬於錦上添花的,要搞好核心能力,不要把這些看過重,除非你這這兩點很是很是優秀.webpack

  • 關於視頻面和現場面

視頻面確實方便,面試成本低,寫代碼也更方便,可是呢,視頻面節奏比較慢,基本上不會一面以後立馬二面,我見過最快的視頻面隔了一個小時進入下一面,其餘的都隔着1-3天不等.不如現場面痛快,今年的現場面基本上都能當場輕鬆的拿到offer.git

  • boss上遇到的一些問題es6

    • 我發現把boss的求職狀態設置成[在職-暫不考慮]比設置成[離職-隨時到崗]更有用,設置成[在職-暫不考慮]而後天天還正常的刷boss會收到更多的消息,我的感覺,無實際依據.
    • boss上有一部分人,不是hr也是否是team leader,可是也會找你要簡歷,這部分八成是賺內推獎勵的,個人簡歷就被莫名其妙的推過幾回,對於這種狀況我不置能否,可是若是你有肯定的內推人的話,最好甄別一下這種狀況,把內推獎勵留給小夥伴.

總體節奏(時間安排)

第一週,主要用來回顧一下基礎知識,看了下一些比較重要的知識點,沒怎麼看面試題,面試題基本上都是經過面試來查漏補缺的.同時開始約下週的面試.
第二週,開始面試,基本都是視頻面,上午一場下午一場,好留出來時間整理遇到的問題.週六日基本不約面試,同時開始約下週的面試.這周的面試基本上全掛一面,慘不忍睹,固然也有拿offer的,做爲保底.這不重要,重要的是查漏補缺,找出本身準備的和麪試的差距.好有的放矢.
第三週,面試節奏放慢了一點,面試題都過了一遍了,因此這周基本上都能進二面了,也拿到了一些offer,這時候去推掉第二週拿到的offer.
第四周,這時候面試節奏更慢了,基本上是第三週面試進入比價靠後的面試和一些臨時約的面試.這時候拿到的offer以後去推掉上週的offer.這周以後基本上面試結束,找工做告一段落,糾結糾結手裏的offer,做出決定,而後等着入職就好了.github

面試題整理

常規知識點

在第一週的時候整理基礎知識的時候側重回顧的一些知識點,這裏列一下web

  • js基礎知識
  • 從輸入url到得到頁面經歷的全部事情(越細越好)
  • 原型鏈
  • 繼承
  • es6新特性
  • DOM事件和事件流
  • 盒子模型
  • 事件循環
  • BFC
  • Flex
  • Promise原理以及手寫代碼
  • vue響應式原理
  • vue虛擬dom & diff算法
  • 前端性能優化
  • 防抖和節流
  • HTTP緩存
  • 常見算法(排序洗牌等)

面試中遇到的高頻題(跟上面會有重合)

  • 事件循環
  • 原型鏈
  • vue響應式原理
  • HTTP緩存
  • 防抖和節流
  • vue3解決什麼問題
  • Vue 爲何不能檢測數組和對象的變化,怎麼處理(爲何經過索引操做數組不能觸發響應式)
  • vue router原理
  • v-model實現原理
  • vue.nexttick
  • https的過程
  • 性能優化
  • promise(基本上要求能夠手寫Promise.all方法,這個問的最多)
  • async/await
  • 從輸入url到看到頁面經歷的全部事情(越細越好,這道題知識點很是多)
  • 跨域造成緣由以及解決方案
  • 深拷貝和淺拷貝(也會問到JSON.stringify JSON.parse這種方案的弊端)
  • 箭頭函數和普通函數有什麼區別
  • 最近在看什麼新技術

低頻可是須要注意的面試題

  • CSRF & XSS
  • chrome設置小於12px字體
  • node和瀏覽器事件循環有何不一樣
  • webpack tree shaking
  • map & set
  • 前端有哪些技術(騰訊面試題,面試官會順着你說的技術一個一個展開問)
  • 實現一個call/bind(call,apply,bind區別)
  • get 和 post 的區別
  • BFC
  • yield
  • 如何給localStorage加上max-age功能
  • Object.defineProperties都有那些參數,以及參數解釋
  • requestAnimation
  • 手寫原型鏈和js各類繼承模式
  • 讓你從新作你作過的項目有什麼能夠改進的地方
  • 讓一個元素消失的幾種作法,有何不一樣,對子元素的影響
  • 如何遍歷對象(接下來會問有何不一樣)
  • 搜索框輸入須要注意的點(其實仍是在問防抖)
  • 原生實現inserAfter
  • 事件委託應用場景,e.target和e.currentTarget區別
  • HTTP緩存,對應字段,cache-contron都有那些值
  • new過程都發生了什麼

面試遇到的算法題

  • 排序算法(冒泡,快排)
  • 洗牌算法
  • v1.2.3 v0.3.0 這樣的版本號比大小(找簡單方法,不要隨便寫一個循環的版本)
  • 廣度優先遍歷
  • 用O(n)的複雜度合併兩個有序數組
  • 數組生成樹形結構
var arr = [
        { id: 1, value: "節點1", p_id: 0 },
        { id: 2, value: "節點2", p_id: 1 },
        { id: 3, value: "節點3", p_id: 1 },
        { id: 4, value: "節點4", p_id: 2 },
        { id: 5, value: "節點5", p_id: 0 },
        { id: 6, value: "節點6", p_id: 5 },
        { id: 7, value: "節點7", p_id: 6 },
        { id: 8, value: "節點8", p_id: 6 },
    ];
    // 輸出
    [{
        "id": 1,
        "value": "節點1",
        "p_id": 0,
        "children": [
            {
                "id": 2,
                "value": "節點2",
                "p_id": 1,
                "children": [
                    {
                        "id": 4,
                        "value": "節點4",
                        "p_id": 2,
                        "children": []
                    }
                ]
            },
            {
                "id": 3,
                "value": "節點3",
                "p_id": 1,
                "children": []
            }
        ]
    },
    {
        "id": 5,
        "value": "節點5",
        "p_id": 0,
        "children": [
            {
                "id": 6,
                "value": "節點6",
                "p_id": 5,
                "children": [
                    {
                        "id": 7,
                        "value": "節點7",
                        "p_id": 6,
                        "children": []
                    },
                    {
                        "id": 8,
                        "value": "節點8",
                        "p_id": 6,
                        "children": []
                    }
                ]
            }
        ]
    }]
  • 數組L型輸出
// L型輸出
var arr = [

    ['1', '2', '3'],

    ['4', '5', '6'],

    ['7', '8', '9'],

];
// 輸出大體順序 1 4 7 8 9 2 5 6 3
  • 數組求排列組合
// 數組排列組合
var arr = [
    ['A', 'B', 'C'],
    [1, 2, 3],
    ['X', 'Y', 'Z'],
];
// 輸出相似 A1X A1Y A1Z ...
  • 實現一個函數 find(obj, str),知足
var obj = {a:{b:{c:1}}};
find(obj,'a.b.c') //1
find(obj,'a.d.c') //undefined
  • 乒乓球比賽判斷輸贏(這個表達起來費勁,可是是個貼合實際開發場景的例子.不常見,可是不難)

這些是能回憶出來的部分,算法題廣泛沒有那麼難,遞歸比較多,另外能用簡單的方式就用簡單的方式,這樣才能凸顯能力.面試

感悟和總結

  • 必定要避免相似面試官問你項目中遇到什麼問題沒,你說沒問題都解決了這樣的回答,基本必掛(網易二面經驗)
  • 上面的面試題同一個問題會有不一樣的表述,因此要認真審題,搞清楚問的知識點,避免面試官問在第三層,而你只答在第一層這樣的事情,太拉跨(騰訊一面經驗)
  • 找工做是個機率的事情,面試的次數多了就會中
  • 內推有時會可能會有意想不到的加持(面做業幫的體會)
  • 平常咱們要留意構建本身的基礎知識體系,這樣在面試準備準備的時候不用惡補太多基礎知識

最後但願在找工做的同窗保持心態,都能順利找到理想的工做.算法

相關文章
相關標籤/搜索