作者:張智敏-

鏈接:https://www.nowcoder.com/discuss/172245來源:牛客網

背景

歷時兩個多月的面試, 今天終於拿到了前端校招offer. 我本科是諾丁漢大學2+2, 18年畢業後在帝國理工讀碩士, 由於各種原因今年二月輟學回國了, 所以其實是本科學歷. 之後大概前前後後花了2個多月的時間複習前端, 具體的歷程放在github上 github.com/nzhl/front-e, 覺得有用的老兄可以給我點個star.

面經

AMICO (感覺公司規模太小 放棄了繼續面試)

  • Vue 瞭解嗎
  • 常見的網站佈局見過哪些, 如何實現
  • 爬蟲裡面碰到驗證碼怎麼處理
  • HTTP 斷點續連
  • HTTP基於什麼實現的
  • HTTPS 和 HTTP 什麼區別
  • SOCKET 知道嗎

樂信(連續兩面 offer)

  • 三大框架了解多少
  • 講講virtual-dom
  • JS作用域
  • 聊聊閉包
  • JS如何實現繼承
  • ES6有哪些你覺得比較不錯的特徵, 為什麼
  • let / const 相對於 var 的異同
  • 移動端佈局有哪些常用的知識
  • 前端性能提升的方法
  • 從輸入網頁到頁面顯示發生了什麼
  • Promise 相對於 callback 好在哪裡
  • Event Loop 瞭解嗎
  • express中間件的原理是什麼
  • 快排的基本實現思路
  • 節流防抖了解嗎, 給個實現思路
  • HTTP 瞭解多少
  • 頁面緩存是怎麼實現的
  • 假設網頁和伺服器需要保持通訊, 不要求超高頻率, 有些什麼方案
  • 如果頁面中綁定事件錯綜複雜, 難以管理, 有什麼方式可以提高效率
  • 跨域訪問的解決方案
  • 常見的web安全問題你瞭解嗎

攜程(強行匹配到了後臺Java職位 放棄)

  • 先給了1小時做了一張JAVA基礎試卷
  • JAVA面向對象的特徵
  • JAVA中Interface和抽象類的區別
  • JAVA中GC的原理
  • SPRING 框架講講
  • utils裡面有哪些常用的方法
  • 手寫字元串的reverse函數
  • 一個五個數字的數組, 數字範圍0-6w多, 0是萬能數字, 檢測這五個數字是否連續, 五個數字可以不按順序

金蝶

一面 感覺公司技術較差 放棄了繼續面試

  • 水平垂直居中
  • JS繼承
  • 手寫事件訂閱
  • 簡單的CSS動畫

老虎集團

(一面)

  • 聊一聊Promise和callback, 優缺點缺
  • 只能只用callback,如何保證非同步請求只執行一次, 例如用戶多次點擊鏈接
    • 我的回答是設置一個變數hasCalled, 如果為true直接在callback中返回, 面試官表示不滿意
    • 提示使用防抖, 每次點擊取消上一次點擊的請求, 並發出新的請求
  • 講講防抖和節流
  • 瀏覽器中有哪些非同步操作: 宏指令包括定時器setTimeout, setInterval, IO例如AJAX,UI渲染包括一些DOM操作等等 微指令包括Promise
  • PostMessage 知道嗎? 什麼作用
  • 深拷貝的思路
  • 說一個具體的非同步的DOM操作(感覺所有的DOM操作都是同步的, 渲染纔是非同步的)
  • 講講跨域的方案
  • 頁面性能調優
  • 講講編譯器怎麼做的
  • position 四個常用的屬性聊一聊
  • 如何實現雙邊框

(二面)(offer)

  • 跨域方案
  • 前端涉及到的網路協議有哪些
  • HTTP 和 HTTPS的區別
  • HTTPS 伺服器端部署有一個東西叫XXX,你知道是什麼嗎
  • 平時調試伺服器請求, 一般用什麼方法
  • 講講你對CDN的理解
  • CDN是如何做到就近返回的
  • CDN這麼多優點, 有缺點嗎
  • HTTP 頭中的 keep-live 有什麼作用
  • HTTP2 和 HTTP1 相比有哪些優點
  • 考你幾個常見的HTTP狀態碼(問的全是不常見的)
  • 前端存儲技術哪些
  • 除了Cookie, sessionStorage, localStorage還有嗎
  • Websocket 瞭解嗎
  • 你是如何學習前端的

星環科技

(一面)

  • 講講關於ES6一些你常用的特徵
  • ES6 class的實現
  • let / const 和 var 區別 (想問變數提升)
  • Promise 和 callback 的異同
  • css 選擇器優先順序?- css 解析原理, 為什麼從右到左, 怎麼就提高了效率
  • 導航欄輸入地址到看到內容,發生了什麼

(二面)

  • 談談promise 與 async/await 的聯繫
  • 手寫代碼, 偽代碼講述一下React的實現過程
  • 手寫代碼,用ES5實現ES6 class
  • 手寫代碼, 可拖拽組件
  • 手寫代碼, 一道簡單的演算法題 (劍指offer原題). 大意是給定二叉樹,和一個數字sum。求這棵樹是否存在從根到葉子節點之和等於sum的路徑

(三面 offer)

找出一個數組中, 和為0的最長子數組

視源股份CTVE

(一面)

  • 講講webpack的plugin和loader
  • 講講XSS/CSRF
  • 除了三大框架, 有涉獵什麼新的前端前沿技術嗎

(二面)

  • 瀏覽器與客戶端交互過程中, 假設發生了100次HTTP連接, 問實際的TCP的連接數受哪些因素影響
  • webpack 中有無刷新更新瀏覽器, 如何做到的 (就是問HMR)
  • 手寫代碼 假設一個餐廳有n個點餐窗口, 現在有若干個客人排成一個隊列, 每次窗口有空缺排在最前面的客人都過去接受服務,讓你設計一個隊列模擬這種情況.題目定義了幾個函數表示客人, 客人類似這樣function cust1 (callback) { setTimeout(() => { console.log(『1』) callback }, 點餐所需事件, 他會隨機給) }

    然後是一個queue, 第一個參數表示 排隊顧客的數量, 第二個表示窗口的數量function queue(list, n) { // 你需要補充的部分 }

  • 薪酬方面你的預期, 可以理解為你希望17k左右嗎

(HR)

  • 家庭情況
  • 從小經歷的影響比較大的事情
  • 個人性格
  • 覺得自己有什麼缺陷
  • 預期薪酬, 為什麼覺得自己要20k以上
    • 估計要得太高 被拒了

招商銀行

(一面 面試官說我比較優秀 隨後無下文)

  • 講講XSS/CSRF
  • 哪些方式可以隱藏一個元素, 有什麼區別
  • 講講閉包的優缺點
  • 有哪些影響性能的因素
  • cookie 和 session 的作用和區別
  • JS常見的設計模式你瞭解嗎

阿里巴巴外包

(一面)

  • 如果你來實現數組的reduce要怎麼做
  • 如果你來實現數組的深拷貝要怎麼做
  • 讓你配置一個webpack開發環境, 要求是ES6/7 + React + Redux, 講講你的思路
  • 你對Webpack插件的理解
  • setState API 瞭解嗎
  • 純函數組件和高階組件的概念
  • 告訴我不錯, 一週內會有二面(結果從次了無音訊)

寒武紀

(一面)

  • link 和 media區別
  • 頁面優化
  • iframe 安全問題
  • JS的垃圾回收

(二面)

  • 除了前端還瞭解哪些
  • C++ 智能指針說說看你的理解
  • 看你項目裡面有正則引擎, 具體是怎麼做的, 回溯嗎
  • 能介紹下你的編譯器原理嗎
  • 你用Scrapy, 它的原理了解嗎
  • 博客和github給我看看

(hr)

  • 你拿了哪些offer
  • 你對我們公司瞭解嗎
  • 發現你就算是有offer的公司也沒有做特別的瞭解, 可以理解為你是把薪酬放在第一位考慮的對嗎
  • 你預期的薪酬大概多少
  • 你還有什麼問題要問嗎

騰訊

(一面)

  • 從輸入url到瀏覽器顯示頁面具體過程發送了什麼
  • HTML5一些語義化的標籤
  • web安全
  • get/post的區別
  • js中 var和let 什麼區別
  • 聊聊localStorage/sessionStorage
  • http請求和響應的結構

面試官覺得我不錯, 問我當天晚上還有時間嗎, 給我安排二面

(二面)

當天晚上二面電話一直沒打過來, 第二天過去詢問, 說不好意思, 二面面試官覺得你的情況不適合.. (黑人問號???)

祝大家好運~

與作者交流:nowcoder.com/discuss/17

更多筆經面經:nowcoder.com/discuss?

推薦閱讀:

相關文章