1. 【秋招求職之路】「快手-效率工程」面試復(fù)盤總結(jié)

        共 5745字,需瀏覽 12分鐘

         ·

        2021-06-15 03:08

        往期面試復(fù)盤推薦


        快手-效率工程面經(jīng)

        介紹

        8月25日(周二)投遞,在9月8日上午收到 HR 電話,告知簡歷通過了,約9月10日上午11點面試,整個面試時間1個小時左右。

        一面

        面經(jīng)

        1、自我介紹

        2、你剛剛提到了項目中防抖 debounce ,你知道實現(xiàn)原理是什么嗎?說一說

        這個問題是項目中用到過,然后自我介紹提了一下,就說了一下原理,面試官居然不要我手撕...

        3、你家鄉(xiāng)在哪?面試崗位在北京,有沒有城市要求嗎?

        回答:反正在湖南,去哪都是很遠(yuǎn)...

        4、實現(xiàn)一個函數(shù),以字符串形式(要求字母小寫)返回參數(shù)類型

        // null => 'null' undefined=>'undefined'
        function getArgType(arg){
        }

        實現(xiàn):

        /* 編程題:以字符串形式返回參數(shù)類型  */

        function getArgType(arg){
          let str = Object.prototype.toString.call(arg).slice(8,-1)
          let res = str[0].toLowerCase() + str.substr(1)
          return res
        }
        console.log(getArgType(null))
        console.log(getArgType(undefined))

        const a = 1
        const b = new Number(1)
        console.log(a === b)
        console.log(getArgType(a))
        console.log(getArgType(b))
        console.log(getArgType(new Date(2020,9,10)))
        console.log(getArgType(new RegExp(/^\s+|\s$/g)))

        后面終點問了 1new Number(1) 有什么區(qū)別,這里沒答上來。

        對象Number、String、Boolean分別對應(yīng)數(shù)字、字符串、布爾值,可以通過這三個對象把原始類型的值變成(包裝成)對象

        var v1 = new Number(123);
        var v2 = new String('abc');
        var v3 = new Boolean(true);

        typeof v1;// "object"
        typeof v2;// "object"
        typeof v3;// "object"

        v1 === 123// false
        v1 == 123// true

        但是要注意 new Boolean 的用法,只有當(dāng) new Boolean 的參數(shù)值為 null 或者 undefined 時,求值轉(zhuǎn)換的原始的值才是 false ,其他情況都是 true

        5、給你一個數(shù)組 [1,3,2,5] 你有多少種方法,求得最大值,說一說

        一下沒 get 到面試官的點,我想著除了遍歷比較或排序還能怎么做。但后面不斷引導(dǎo)后發(fā)現(xiàn)可以用各種數(shù)組 api ,然后就答了 sortmap,reduce,for循環(huán) ,shift,popforEach,Math.max(...arr)

        后面面試官說了用 apply,沒使用過,補(bǔ)充一下:

        var arr = [641821123];
        console.log(Math.max.apply(null, arr))

        6、實現(xiàn)如下效果:當(dāng)你點擊 ul 下面某個 li后(多個 ui),打印對應(yīng)索引值(可以為 01

        <ul><li></li>........</ul>
        <ul><li></
        li>........</ul>
        <ul><li></
        li>........</ul>

        最終實現(xiàn)如下,一開始我是直接 querySelectorAll所有的 li,但是會給所有 li綁定事件,于是面試官說考慮使用事件代理,然后提示 e.target(當(dāng)時沒寫出來,現(xiàn)在補(bǔ)充一下)

        <!DOCTYPE html>
        <html lang="en">
          <head>
            <meta charset="UTF-8" />
            <meta name="viewport" content="width=device-width, initial-scale=1.0" />
            <title>編程題:ul底下li索引值(多個ul)</title>
          </head>
          <body>
            <ul>
              <li>1</li>
              <li>2</li>
              <li>3</li>
              <li>4</li>
              <li>5</li>
            </ul>
            <ul>
              <li>1</li>
              <li>2</li>
              <li>3</li>
              <li>4</li>
              <li>5</li>
            </ul>
            <script>
              let list = document.getElementsByTagName('ul')
              for (let i = 0; i < list.length; i++) {
                list[i].addEventListener('click', (e) => {
                  let target = e.target
                  // console.log(target)
                  if (target.tagName.toLowerCase() === 'li') {
                    let liList = list[i].getElementsByTagName('li')
                    // console.log(liList)
                    // getElementsByTagName方法獲取到的元素列表不是數(shù)組,
                    // 和函數(shù)的arguments一樣是一種類數(shù)組類型,不可以直接使用數(shù)組的方法。
                    let idx = Array.prototype.indexOf.call(liList, target)
                    /* 或者采用如下方式,將類數(shù)組轉(zhuǎn)換成數(shù)組,然后使用indexOf方法 */
                    // let idx = Array.from(liList).indexOf(target)
                    console.log(liList)
                    console.log(idx)
                  }
                })
              }
            
        </script>
          </body>
        </html>

        7、使用 vue 封裝一個組件,實現(xiàn)倒計時的功能

        倒計時(一個 button 按鈕,有下述三種狀態(tài))
        (開始-》暫停-》繼續(xù))

        {count}
        按鈕

        參考:vue封裝倒計時組件

        8、你還有什么想問我的嗎?

        感受

        問了部門是效率工程,然后主要業(yè)務(wù)是做公司內(nèi)部系統(tǒng),比如各種流程處理,請假那些,然后還提到了公司封裝內(nèi)部聊天工具,類似于企業(yè)微信那種。然后還問了技術(shù)棧,主要用 React + Ts ,然后面試官說了技術(shù)棧都不是太大問題,主要還是 js 能力

        最后,問了一下多久會有面試結(jié)果,面試官說一天之內(nèi)給結(jié)果。

        后續(xù)

        依舊是一面之后就沒有任何消息,結(jié)束了...

        小獅子有話說

        我是小獅子團(tuán)隊的【一百個Chocolate】,全網(wǎng)同名,周更的前端博主,分享一些前端技術(shù)干貨與程序員生活日常,歡迎各位小伙伴的持續(xù)關(guān)注,一起變優(yōu)秀~



        學(xué)如逆水行舟,不進(jìn)則退

        你若喜歡,為小獅子點個【在看】哦~

        瀏覽 94
        點贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
          
          

            1. AV周晓琳一区二区三区 | 国产一级操逼大片 | 国产成人高清视频 | 国产精品欧美一区二区 | 亚洲AV高清无码 |