位元組、拼多多前端面經!

来源:https://www.cnblogs.com/ooo12/archive/2020/06/11/13096189.html
-Advertisement-
Play Games

位元組跳動 一面 1.說出以下代碼的原型關係,以及 Object 和 Function 的原型關係 Function; function test() { } var obj = new test(); __proto__ prototype 2.合併兩個已排序的鏈表:遞歸解法、迭代解法3.判斷數組類 ...


位元組跳動

一面

1.說出以下代碼的原型關係,以及 Object 和 Function 的原型關係

Function;
function test() {
}
 
var obj = new test();
 
__proto__    prototype

2.合併兩個已排序的鏈表:遞歸解法、迭代解法
3.判斷數組類型有哪些方法
4.webpack 常用 loader、plugin
5.Promise 中拋出異常能否被 catch 捕獲?

let promise = new Promise((resolve, reject) => {
  throw new Error()
  reject()
})
promise.catch(err => {
  console.log(err)
})

6.馮諾依曼體系講講
7.線程與進程的區別
8.操作系統為什麼要設計用戶態和內核態?

二面

1.講講模塊化規範
2.import 和 require 的區別
3.require 是如何解析路徑的?
4.模擬實現 new 操作符
5.演算法:找出字元串中第一個不重覆的字元
6.promise 考察

/*
用 promise 實現以下功能。
具體: fn1和fn2都是非同步函數,f1、fn2同時執行,並且fn1、fn2的結果是 fn3的參數。當fn1或者fn2發生錯誤時,fn3照常執行,此時的參數為空。
*/
eg:
fn1 = async() => {
 
    // 發送請求
    const data = await sendRquest1();
    return data;
}
fn2 = async() => {
 
    // 發送請求
    const data = await sendRquest2();
    return data;
}

7.下麵代碼的輸出,why?

'use strict';
var b = 2;
if (true) {
    let a = 2;
    var b = 3;
    var c = 4;
    const d = 5;
}
 
console.log(a);
console.log(b);
console.log(c);
console.log(d);
var d = 6;

8.節流防抖,寫代碼
9.列舉獲取 DOM 元素的方式
10.react 生命周期,HOC

三面

1.node 中間件原理
2.寫一個中間件,怎麼使用?
3.webpack 打包整體流程
4.兩道簡單的演算法題:層次遍歷二叉樹、反轉鏈表
5.項目中 cookie + redis 實現自動登錄怎麼做的?
6.常見 web 安全問題,xss、csrf、sql 註入、資料庫加密、cookie 加密及防範措施
7.為啥學前端?
8.以後有什麼打算?
9.有和別人協作的項目嗎?

拼多多

一面 電話面試

1.項目問題:IndexedDB 和 localStorage 使用的區別
2.圖片懶載入思路,監聽頁面滾動實現的,怎麼做優化?除了節流?除了監聽頁面滾動有沒有其他方案?
3.前端監控是啥?讓你設計一個 SDK 給別人用(自己設計一個前端監控庫怎麼做?)
4.添加事件處理程式有哪些方案?區別?
5.給一個 DOM 添加多個 click 事件,不能用 addEventListener,只用 onClick 咋整?
6.發佈訂閱模式,嘴巴撕
7.聊天室用了 WebSocket,說一說
8.最後說第 5 個問題可以用發佈訂閱的思路來實現

二面 微信視頻

1.自我介紹 balabalabala (說了看書和看視頻來學習前端)
2.平常看哪些書啊?
3.webpack 懂吧?說下用過的 loader 和 plugin
4.PWA 瞭解吧?說一下
4.node.js 用過是吧?說下中間件是啥?
5.ES6 用得多吧?說一下 ES6
6.說到了模塊化,require 與 import 的區別?
7.說到 require 會把載入過的模塊緩存在記憶體,說說這會導致些什麼問題(記憶體暴增啥的,比方說我們暴露出一個對象,上萬個請求都往這個對象上添加屬性)
8.說說瀏覽器和 node.js 的事件迴圈機制
9.聊到設計模式,講講你知道哪些設計模式(舉《JavaScript 設計模式與開發實踐》中的例子,講了幾個感覺差不多了就不講了)
10.項目用到 PM2,介紹下

推薦 :

  • 020 持續更新,精品小圈子每日都有新內容,乾貨濃度極高。
  • 結實人脈、討論技術 你想要的這裡都有!
  • 搶先入群,跑贏同齡人!(入群無需任何費用)
  • 群號:779186871
  • 點擊此處,與前端開發大牛一起交流學習

申請即送:

    • BAT大廠面試題、獨家面試工具包,

    • 資料免費領取,包括 各類面試題以及答案整理,各大廠面試真題分享


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 踩了三四天的坑,今天終於順利跑通了,原來是toolchain的問題,外網的教程大多都是用opencv source里的toolchain,會導致各種奇奇怪怪的錯誤(std not a member of std,canot find iostram等等) ...
  • 安裝Homebrew(已安裝跳過) raw.githubusercontent.com功能變數名稱被污染,如果報錯,host文件添加 199.232.68.133 raw.githubusercontent.com 安裝安卓工具 brew cask install android-platform-tool ...
  • 2020年,整個資本市場風起雲涌,大環境下,互聯網更是風聲鶴唳,大多數公司面臨著裁員,結構重構,他們收緊資本,為自己取暖。在漫長的寒冬下,互聯網人只有自己修煉內功,才能在寒風中屹立不倒。作為一名iOS開發者,要時時刻刻保持學習的衝勁,新的知識每年都是海量增長,要學的東西真的太多太多。很多公司收緊資本 ...
  • 目錄:andorid jar/庫源碼解析 Frida體驗: 作用: android手機上可以對,java和so層代碼,進行hook.監控數據和處理記憶體數據。 官譯:面向開發人員、逆向工程師和安全研究人員的動態工具工具包。 慄子: 運行步驟: 1、https://github.com/frida/fr ...
  • 前言: 眾所周知,Android廠商非常多,各種尺寸的android手機、平板層出不窮。導致了Android生態環境的碎片化現象越來越嚴重。Google公司為瞭解決解析度過多的問題,在Android的開發文檔中定義了px、dp、sp,方便開發者適配不同解析度的Android設備。對於初級程式員來說理 ...
  • 一、回調函數 1.含義:如果你把函數的指針(地址)作為參數傳遞給另一個函數,當這個指針用來調用所指向的函數時,我們就說這是回調函數。 2.函數也是有類型的,下麵舉個回調函數以及函數的類型演示。 function fn() { ​ } console.log(typeof fn); console.l ...
  • 2020/6/11 23:23 今天做系統時,用到二級菜單,菜單下方放了一個<iframe>標簽,但二級菜單的菜單項太多,導致一部分菜單項被<iframe>覆蓋,從而無法再選中,之後查詢了一下,瞭解到了z-index屬性。 z-index屬性是用來調整元素堆疊順序,在手冊中的取值如下: 預設的優先順序 ...
  • #最近項目中,要用到element-ui的無限級分類菜單,根據角色生成不同的遞歸數據,查閱了網上很多資料,發現很多都不太完整並且沒有很多的延伸性。 ###梳理遞歸數據 我們一般拿到後臺的數據是:1.扁平化數據格式 2.遞歸式數據格式 複製代碼 let arr = [ { name:小七, id:1 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...