佰鈞成 社招 一面

1. “評估需求、排期”的工作流程?

“我的工作流程一般是這樣的:

  1. 需求評審: 首先會和產品、后端同學一起過需求,確保我完全理解了業務背景和要實現的價值,而不僅僅是功能點。
  2. 技術方案設計: 之后,我會進行技術方案的初步設計,評估實現的可行性和技術難點,比如是否需要新技術、是否存在兼容性風險、是否需要后端配合接口設計等。
  3. 工時評估: 基于技術方案,我會將需求拆解成一個個具體的開發任務點,并為每個任務評估一個保守且合理的工時。評估時會留出20%左右的Buffer時間用于應對意外情況(如聯調阻塞、bug修復)。
  4. 排期同步: 將評估結果和排期與產品、測試同步,達成一致后,就進入開發。

2.頁面錯誤是如何處理,比如頁面白屏頁面報錯你是如何第一時間知道的

讓反饋人一次性給齊:機型/系統網絡(4G/Wi-Fi/公司代理)、登錄態頁面路徑+操作步驟、發生時間(方便對日志對點)。
同步兩件事:
a.本地調試
環境復現
(開發者工具 →詳情→ 真機調試);
b.臨時開啟線上埋點(onError、接口耗時、首屏超時點)

定位問題的關鍵方法
1本地復現
在本地調試環境復現問題,檢查控制臺是否有錯誤日志。
使用瀏覽器開發工具(DevTools)的 Network面板檢查資源加載是否成功。
2 線上日志分析
分析監控平臺或后端日志,定位問題發生的頻率、用戶環境和錯誤堆棧,
3 用戶環境驗證
檢查用戶瀏覽器、操作系統版本、網絡環境等因素。

4 斷點調試

  • 5.常見坑位速查表
  • 分包路徑大小寫、頁面相對路徑寫錯。
  • 合法域名漏配子域,開發可用,線上全白。
  • 全屏cover-view /oading 遮罩未移除。
  • 圖片原圖過大(超大長圖、base64),低端機染崩。

3.vue2和vue3的區別

Vue2是使用object.defineproperty來做的,
在頁面剛開始加載時,Vue會遍歷data中的所有屬性,
然后使用object.defineproerty把這些屬性全部轉為getter/setter,
當用戶訪問或修改某個屬性時會觸發對應的getter/setter方法,然后會通知每個組件實例對應的watch方法,
最后實現視圖的更新。

defineproperty的缺點:
1.對于復雜對象需要深度監聽,一次性監聽到底,它的計算量是非常大的,性能也是不太好的
2.對于新增、刪除操作是無法監聽的,需要使用到Vue.set和Vue.set和Vue.set和Vue.delete來作為輔助
3.需要重寫數組的原生方法來實現數組的監聽

所以Vue3使用proxy代替Vue2的defineproperty。

proxy的優勢:
1.它可以監聽整個對象,而不需要遍歷監聽屬性,性能會有所提升
2.它可以直接監聽數組的變化,而不需要重寫數組的原生方法,它的便利性會增加很多
3.它有多達13種攔截方法,所以它的功能會更強大
4.proxy作為一個新標準,它會收到瀏覽器廠商持續的性能優化,也就是它會享受到傳說中的新標準的性能紅利。

解題思路:
1.Vue2是怎么做的?
2.Vue2這種方法有什么問題?
3.Vue3是怎么做的?
4.Vue3又是怎么解決Vue2的這些問題?

4.閉包的優缺點,什么場景下用到

閉包是什么:JS中內層函數可以訪問外層函數的變量,外層函數無法操作內存函數的變量的特性。我們把這個特性稱作閉包。

閉包的好處

  • 隔離作用域,保護私有變量;有了閉包才有局部變量,要不然都是全局變量了。
  • 讓我們可以使用回調,操作其他函數內部;
  • 變量長期駐扎在內存中,不會被內存回收機制回收,即延長變量的生命周期;

閉包的弊端:內層函數引用外層函數變量,內層函數占用內存。如果不釋放內存,過多時,易引起內存泄露。

解決辦法:無法自動銷戶,就及時手動回收,使用后將函數的引用賦null。

5.js的數據類型

string number null undefined boolean object bigInt symbol

6.檢測 JavaScript 數據類型時,typeof和 instanceof 有什么區別?

typeof 和 instanceof都是用來檢測JavaScript 數據類型的,但兩者用途和適用場景不同:
6.1.typeof
·用于檢測基本數據類型

typeof'abc'//'string
typeof 123// 'number
typeof true//'boolean'
typeof undefined //'undefined'
typeof symbol()//'symbol'
typeof BigInt(1)//'bigint'

·局限性:

typeof null  //'object'(特殊情況)
.typeof {}  // 'object
typeof []   // 'object
typeof function(){}  //"function'

6.2.二、instanceof
·判斷對象是否屬于某個構造函數的實例:

[] instanceof Array  // true
{}instanceof object  // true
new Date()instanceof Date // true

·局限性:

'abc'instanceof string // false,基礎類型返回false
iframeArray instanceof Array //false,不同全局對象
  • 僅適用于引用類型(對象),不適用于基本類型:
  • 跨iframe等不同上下文時,可能失效:

推薦實踐:
基礎類型優先用 typeof
對象類型優先用 instanceof或0bject.prototype.toString.call()。
例如:

Object.prototype.tostring.call([])//[object Array]Object.prototype.tostring.call(null)//[object Null]

7.性能優化

7.1.一、頁面渲染性能優化

1.虛擬列表與長列表優化

使用 vue-virtual-scroller 實現長列表虛擬滾動,只渲染可視區域的 DOM 節點

避免一次性渲染數百或上千條數據導致卡頓

優化后頁面滾動流暢度提升明顯,卡頓問題基本消除。

2.組件懶加載與路由懶加載。

利用 Vue 異步組件和import()實現按需加載頁面和組件。

首屏體積減小約 30%,首屏加載速度提升 1~2 秒。

3.合理使用 v-show替代 v-if

減少頻繁銷毀重建組件,提升視圖切換性能。

7.2.二、網絡請求與接口性能優化

1.接口合井與請求緩存。

合并多接口為一個批量接口,減少請求數量;

對部分靜態數據實現本地緩存(如用戶權限、字典表),免重復請求。

2.防抖和節流

對搜索框輸入、窗口 resize 等高頻操作加防抖/節流;

顯著降低請求頻率,減輕后端壓力。

7.3.三、構建與打包優化

1.按需引入和 Tree shaking。

替換全量導入組件庫為按需加載(如 Element Plus):

啟用生產環境 Tree Shaking,有效減少無用代碼。

2.CDN 外鏈和 externals 配置

將 Vue、ECharts 等大依賴通過 CDN 引入,減小打包體積

Bundle 體積縮小約 40%。

3.代碼分割與緩存策略

配置 SplitChunks 拆分公共代碼和第三方庫;

使用 contenthash 保證緩存命中,提升用戶二次訪問速度。

8.請解釋一下什么是模塊化開發?

解答:模塊化開發是一種組織代碼的方法,它將應用程序分解成獨立的、可復用的模塊。每個模塊負責實現特定的功能,并通過導出和導入API與其他,口模塊通信。模塊化開發有助于代碼的組織、維護和重用,同時也促進了團隊協作。

9.ES6 你使用過哪些語法特性?簡單介紹一下

1.塊級作用域:let 和 const

  • 替代 var,解決變量提升和作用域污染問題;
  • const 用于定義常量不可重新賦值,
  • 實際項目中我默認用const需要修改時才用 let

2.箭頭函數

  • 簡化函數寫法;
  • 自動綁定 this,常用于事件回調、數組操作等;

3.解構賦值

  • 更方便地從對象或數組中提取變量;
    配合函數參數結構體使用頻率很高,

4.模板字符串

  • 支持變量插入和多行字符串,避免字符串拼接混亂;

5.模塊化:import/export

  • 實現 ES 模塊機制;

6.Promise 異步編程

  • 提供更優雅的異步寫法,避免回調地獄;
    我通常在封裝請求或并發控制時使用。

7.展開運算符/剩余參數(…)

  • 對象/數組拷貝、合并、函數參數處理都非常方便:

10.JS性能優化

層面關鍵優化點
編碼減少查找、優化循環、事件委托、防抖節流
DOM批量操作、使用 DocumentFragment、避免布局抖動
內存解除引用、避免泄漏、使用 WeakMap
網絡壓縮、代碼分割、Tree Shaking、利用緩存
加載使用 async/defer 屬性
APIWeb Workers, rAF, Intersection Observer

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/96639.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/96639.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/96639.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

最短路徑問題(圖論)

1 Floyd 作用: 求圖中所有頂點之間的最短路徑,包括有向圖或者無向圖,權重正負皆可,用來一次性求所有點之間的最短路徑。 思路是 通過逐步擴大中間層,使得最短路徑不斷被更新,直到中間層擴大到n位置&#…

2025年8月新算法—云漂移優化算法(Cloud Drift Optimization Algorithm, CDO)

1、簡介 這項研究介紹了云漂移優化(數位長)算法,這是一種創新的自然啟發的元啟發式方法來解決復雜的優化問題。CDO模仿受大氣力影響的云粒子的動態行為,在探索和利用之間取得了微妙的平衡。它具有自適應權重調整機制,可…

VS Code進行.NET開發時使用斷點和熱重載

VS Code 調試熱重載 1. VS Code 設置 安裝擴展:C#、C# Dev Kit設置中搜索hot reload,選擇C#開發工具包,把下圖的幾項全部打勾2. 啟動項目(僅用左側“運行和調試”) 打開解決方案,選你的啟動項目的“.NET La…

mysqlbinlog解析命令

解析 MySQL Binlog 詳細信息的命令以下是解析 MySQL Binlog 詳細信息的常用命令:1. 基本 binlog 解析命令# 查看 binlog 文件內容(基本格式) mysqlbinlog /var/lib/mysql/mysql-bin.000001# 查看特定時間段的 binlog mysqlbinlog --start-dat…

算法訓練營day60 圖論⑩ Bellman_ford 隊列優化算法、判斷負權回路、單源有限最短路(修改后版本)

增加對最短路徑的優化算法、負權回路、單源有限最短的講解 Bellman_ford 隊列優化算法 -------------------------------------------------------------------------------- 8.24更新:該算法是針對帶負值的最短路徑的優化算法,核心通過隊列來實現&…

Python 學習(十六) 下一代 Python 包管理工具:UV

目錄1. UV 介紹1.1 什么是UV?1.2 UV的核心優勢1.3 UV和其他工具對比1)UV vs. pipvirtualenv2)UV vs. Conda3)UV vs. Poetry4)功能對比表2. UV的安裝與常用命令2.1 安裝UV1)使用官方安裝腳本(推薦…

Redis學習筆記 ----- 緩存

一、什么是緩存 緩存(Cache)是數據交換的緩沖區,是存儲數據的臨時地方,一般讀寫性能較高。 (一)緩存的作用 降低后端負載:減少對數據庫等后端存儲的直接訪問壓力。提高讀寫效率,降低…

React響應式鏈路

文章目錄響應式鏈路的核心環節1.狀態定義與初始化2.狀態更新觸發(狀態變更)3.調度更新(Scheduler)4.重新渲染(Render 階段)5.協調(Reconciliation)與 Fiber 架構6.提交更新&#xff…

軟件設計師——計算機網絡學習筆記

一、計算機網絡 網絡基礎 1. 計算機網絡的分類2. 網絡拓撲結構 總線型(利用率低、干擾大、價格低) 星型(交換機形成的局域網、中央單元負荷大) 環型(流動方向固定、效率低擴充難) 樹型(總線型的擴充、分級結構) 分布式(任意節點連接、管理難成本高)一般來說,辦公室局…

1200 SCL學習筆記

一. IF. 如果。下面是一個起保停IF #I_start AND NOT #I_stop THEN //如果I_start接通 和 I_stop沒有接通#Q_run : 1; //輸出Q_run 接通 ELSIF #I_stop THEN //如果I_stop接通#Q_run : 0; //。。。。。。 END_IF;二. CASECASE…

單例模式與線程池

1. 單例模式單例模式是一種常用的設計模式,它確保一個類只有一個實例,并提供一個全局訪問點來獲取這個實例。這種模式在需要控制資源訪問、管理共享狀態或協調系統行為時非常有用。單例模式的核心特點:私有構造函數:防止外部通過n…

Chrome和Edge如何開啟暗黑模式

Edge和Chrome瀏覽器都提供了實驗性功能,可以通過修改實驗性設置來開啟暗黑模式。 在瀏覽器地址欄中輸入edge://flags/(Edge)或chrome://flags/(Chrome)。在搜索框中輸入“dark”,找到與暗黑模式相關的選項。…

【科研繪圖系列】浮游植物的溶解性有機碳與初級生產力的關系

禁止商業或二改轉載,僅供自學使用,侵權必究,如需截取部分內容請后臺聯系作者! 文章目錄 介紹 數據準備 數據處理 溶解性有機碳(DOC)與初級生產力(NPP)的關系 溶解性有機碳(DOC)與光照強度(PAR)的關系 數據可視化 加載R包 數據下載 導入數據 畫圖1 畫圖2 總結 系統信…

IDEA相關的設置和技巧

IDEA相關的設置和技巧 我的博客對應文章地址 1.布局設置 IDEA的布局自定義程度很高,頂部工具欄,側邊欄都可以隨意定制,設置好的布局方案可以保存,在新項目中快速使用 1.1 工具欄設置 [!tip] 舉個例子:比如我要在頂部…

AWS Lambda 完全指南:解鎖無服務器架構的強大力量

在云計算的發展浪潮中,無服務器(Serverless) 架構已然成為構建現代應用的新范式。而在這場變革的中心,AWS Lambda 作為開創性的 Function-as-a-Service (FaaS) 服務,徹底改變了我們部署和運行代碼的方式。 本文將帶您深入探索 AWS Lambda,從核心概念、工作原理到高級實踐…

人工智能時代下普遍基本收入(UBI)試驗的實踐與探索——以美國硅谷試點為例

一、硅谷UBI試驗的最新進展(2025年)1. 試驗規模與資金來源圣克拉拉縣試點:硅谷所在地圣克拉拉縣針對脫離寄養家庭的年輕人開展UBI試驗,每月發放1000美元補貼,持續1-2年,覆蓋約60名參與者,成本約…

云計算之云主機Linux是什么?有何配置?如何選?

一、云環境如何選擇Linux發行版 1.1、Linux在各個領域的發展 Linux在各個領域的發展序號Linux發展領域說明1Linux在服務器領域的發展目前Linux在服務器領域已經占據95%的市場份額,同時Linux在服務器市場的迅速崛起,已經引起全球IT產業的高度關注&#xf…

XCVU13P-2FHGB2104E Xilinx(AMD)Virtex UltraScale+ FPGA

XCVU13P-2FHGB2104E 是 Xilinx(AMD)Virtex UltraScale FPGA 系列中的一款高性能芯片,適用于需要大量邏輯資源、高帶寬和高速數據傳輸的應用場景。作為該系列中的旗艦產品,XCVU13P-2FHGB2104I 結合了強大的處理能力和靈活的可編程性…

自動化單詞例句獲取系統設計方案

方案一 (網絡爬蟲) 這個方案的核心思路是:創建一個自動化的腳本,該腳本會讀取你 MongoDB 中的單詞,然后去一個免費的在線詞典網站上抓取這些單詞的例句,最后將抓取到的例句存回你的 MongoDB 數據庫中對應的單詞條目下。 一、 核心思路與技術選型 自動化腳本: 我們將使用 P…

WPF Alert彈框控件 - 完全使用指南

WPF Alert彈框控件 - 完全使用指南概述快速開始nuget安裝與引用基本用法功能特性詳細說明AlertType 枚舉方法參數詳解Show 方法(局部彈窗)ShowGlobal 方法(全局彈窗)完整示例代碼XAML 布局C# 代碼實現界面演示功能特性對比表格自定…