【前端面經2】京東一面

題目來源:牛客網

自我介紹

動態參數解析的解決方案

對于動態部分使用…args進行接受,可以把動態部分提取成數組

前端安全問題

CDN劫持

內容安全策略CSP

安全沙箱

Iframe

跨站腳本攻擊XSS

攻擊者通過在目標網站上注入惡意腳本,使之在用戶的瀏覽器上運行

跨站請求偽造CSRF

誘導用戶進入第三方網站,在第三方網站向被攻擊網站發送跨站請求,通過用戶的注冊憑證,繞過后臺的用戶驗證

點擊劫持

HTTP嚴格傳輸安全

數據校驗在前端還是后端

都需要,前端為了體驗,后端為了安全

websocket使用過程中存在的問題

  1. 連接的建立與保持
  2. 錯誤處理與短線重連
  3. 性能優化與拓展性

echarts的適配性問題

性能優化

瀏覽器

  1. 減少HTTP請求
  2. 設置瀏覽器緩存策略
  3. 合理添加加載動畫

資源

  1. 靜態資源CDN
  2. 靜態資源單獨域名
  3. GZIP壓縮
  4. 服務端渲染
  5. CSS放在頭部、JS放在底部

圖片

  1. 字體圖標代替圖片圖標
  2. 精靈圖
  3. 圖片懶加載
  4. 圖片預加載
  5. 使用PNG格式圖片
  6. 小于10k的圖片轉為base64格式

代碼

  1. 慎用全局變量
  2. 緩存全局變量
  3. 減少回流與重繪
  4. 節流+防抖
  5. 少用閉包
  6. 減少數據讀取次數
  7. 文檔碎片優化節點
  8. 減少判斷層級
  9. 字面量與構造式

方案

  1. 長列表優化
  2. web worker
  3. 避免iframe

打包

  1. 減少代碼體積
  2. 按需加載

緩存策略

緩存分為強緩存和若緩存。其中強緩存包括Expires和Cache-Control,主要是在過期策略生效時應用的緩存。弱緩存包括Last-Modified和ETag,是在協商策略后應用的緩存。強弱緩存之間的主要區別在于獲取資源時是否會發送請求

nextTick的原理

因為Vue采用的異步更新策略,當監聽到數據發生變化的時候不會立即去更新DOM,而是開啟一個任務隊列,并緩存在同一事件循環中發生的所有數據變化,減少DOM操作的次數。nextTick接受一個回調函數作為參數,并將這個回調函數延遲到DOM更新后執行

Vuex的響應式原理

Vue2在組件和實例初始化的時候,會將data里的數據進行數據劫持。被劫持過后的數據會有兩個屬性,分別是getter和setter

Vue3使用的是ES6中的代理和反射,代理用來攔截對象中任意屬性的變化,而反射用于對源對象的屬性進行操作

原型在vue中的應用

vue-router的核心

核心是路由隱射,將URL路徑隱射到Vue組件上

vue提升渲染性能的工作

前端的項目架構分類

微前端的實現方式

  • Nginx路由轉發:通過Nginx配置反向代理來實現不同路徑映射到不同應用
  • Iframe嵌套:父應用單獨是一個頁面,每個子應用有一個Iframe包裹,父子通過Message進行通信
  • WebComponents: 每個子應用需要采用純WebComponents技術編寫組件
  • 組合式應用路由分發:每個子應用獨立構建和部署,運行時由父應用進行路由管理

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

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

相關文章

OpenHarmony驅動框架HDF中設備管理服務構建過程詳解

前言 如下圖,開源鴻蒙系統驅動框架HDF在內核中的實現,可以分為向用戶層提供設備服務的管理模塊(Manager),和實際管理硬件的Host模塊。 Manager分為DeviceManageService和 DeviceServiceManage,前者負責提供…

1.WEB滲透測試-前置基礎知識-ip地址

ip地址: ip地址指的是互聯網協議地址,是IP協議提供的一種統一的地址格式,以每一臺聯網的主機都有一個對應的ip地址,ip地址也可以理解為分配給用戶上網使用的網際協議的設備的數字標簽。通俗的來說就是你打電話時候的每個人都有自己…

AIGC 實戰:如何使用 Docker 在 Ollama 上離線運行大模型(LLM)

Ollama簡介 Ollama 是一個開源平臺,用于管理和運行各種大型語言模型 (LLM),例如 Llama 2、Mistral 和 Tinyllama。它提供命令行界面 (CLI) 用于安裝、模型管理和交互。您可以使用 Ollama 根據您的需求下載、加載和運行不同的 LLM 模型。 Docker簡介 D…

在Mac上搭建MongoDB環境

最近工作中需要裝MongoDB環境,搭建過程中遇到了一些問題,在這里記錄一下安裝MongoDB環境的方法以及問題的解決方法。有兩種安裝MongoDB的方法:brew安裝和手動安裝。 目錄 使用Homebrew安裝MongoDB 手動安裝MongoDB(不使用Homebr…

備戰藍橋杯 Day11(滾動數組優化+完全背包)

01背包的滾動數組優化 【題目描述】 經典0—1背包問題,有n個物品,編號為i的物品的重量為w[i],價值為c[i],現在要從這些物品中選一些物品裝到一個容量為m的背包中,使得背包內物體在總重量不超過m的前提下價值盡量大。 #include&…

python_數據分析_numpy庫

一、創建ndarray *ndarray是NumPy中表示數組的重要類型 1、使用np.array()創建 *參數列表:[1,2,3,4] 注:(1)、numpy默認ndarray的所有元素的類型是相同的 ? (2)、如果傳入的數據類型不同,會被按照優先級強制轉換為同一類型,其…

vue--兩種定時任務cron表達式組件比較選擇

背景&#xff1a; 使用vue頁面中cron表達式的組件&#xff0c;實現定時任務參數配置。 方案1 vue-cron 安裝插件 npm install vue-cron --save 全局引入&#xff0c;修改main.js import Vue from vue import VueCron from vue-cron Vue.use(VueCron);頁面配置 html<el-…

Java入門-可重入鎖

可重入鎖 什么是可重入鎖? 當線程獲取某個鎖后&#xff0c;還可以繼續獲取它&#xff0c;可以遞歸調用&#xff0c;而不會發生死鎖&#xff1b; 可重入鎖案例 程序可重入加鎖 A.class,沒有發生死鎖。 sychronized鎖 package com.wnhz.lock.reentrant;public class Sychroniz…

多普勒變化率的應用 與 FPGA

1.多普勒變化率是一個描述波源和觀察者相對速度變化的物理量&#xff0c;它與加速度有關。 多普勒效應是指當波源和觀察者之間存在相對運動時&#xff0c;觀察者接收到的波頻率與波源發射的頻率之間的差異。這種現象在聲波、電磁波等多種波動中都會出現。多普勒變化率通常用來…

linux系統內核升級

1.查看舊版本內核 2.導入密鑰 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 3.安裝yum源 rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm4.啟用elrepo-kernel倉庫并安裝最新內核版本 yum --enablerepoelrepo-kernel install …

一文弄明白KeyedProcessFunction函數

引言 KeyedProcessFunction是Flink用于處理KeyedStream的數據集合&#xff0c;它比ProcessFunction擁有更多特性&#xff0c;例如狀態處理和定時器功能等。接下來就一起來了解下這個函數吧 正文 了解一個函數怎么用最權威的地方就是 官方文檔 以及注解&#xff0c;KeyedProc…

c++實現棧和隊列類

c實現棧和隊列類 棧(Stack)Stack示意圖Stack.cpp 隊列(queue)queue 示意圖queue.cpp 棧(Stack) Stack示意圖 Stack.cpp #pragma once #include "ListStu.cpp"template<typename T> class Stack { public: /* * void push(T& tDate)* 參數一 &#xff1a;…

【OCR專題文章】

目錄 一、數據獲取及預處理方法篇 二、兩階段算法篇(檢測識別) 三、一階段算法篇(Enc-Dec) 四、拓新篇 本欄聚焦在OCR的相關算法&#xff0c;專欄內文章的代碼均已實現。 一、數據獲取及預處理方法篇 【數據獲取】 合同數據獲取&#xff1a;【OCR】【專題系列】二、數據獲取-…

解決windows無法訪問wsl下docker服務

筆者在初學使用wsl跑docker時,遇到了windows無法訪問的問題,并且瀏覽了大部分的文章,發現并沒有起效,在反復試錯終于成功之后,總結為以下幾點: 1.升級至wsl2 2.將.wslconfig文件(用戶文件夾下)中的如下鏡像服務關閉刪除 networkingModemirrored 3.打開wsl防火墻相應的端口 …

記錄解決uniapp使用uview-plus在vue3+vite+ts項目中打包后樣式不能顯示問題

一、背景 從 vue2uview1 升級到 vue3vitetsuview-plus ,uview組件樣式打包后不顯示&#xff0c;升級前uview 組件是可以正常顯示&#xff0c;升級后本地運行是可以正常顯示&#xff0c;但是打包發布成H5后uview的組件無法正常顯示&#xff0c;其他uniapp自己的組件可以正常顯示…

Vue 中 onclick和@click區別

文章目錄 一、直接上結論二、驗證代碼&#xff0c;可直接運行三、點擊結果 一、直接上結論 onclick 只能觸發 js的原生方法&#xff0c;不能觸發vue的封裝方法click 只能觸發vue的封裝方法&#xff0c;不能觸發js的原生方法 二、驗證代碼&#xff0c;可直接運行 <!DOCTYP…

Vue3 + Ts (使用lodash)

安裝 npm i --save lodash使用 import _ from lodash??報警告&#xff1a;&#xff01;&#xff01;&#xff01; 此時還需要安裝ts聲明文件庫 npm install types/lodash -D安裝之后重啟Vscode還是會提示上面的警告&#xff0c;此時還需在tsconfig.ts里面配置 {"c…

快速將excel/word表格轉換為web頁面(html)的方法

前言 在進行開發企業信息化建設的過程&#xff0c;應該有很多這樣的場景&#xff0c;就是將現有的電子表格記錄的方式轉換為在數據系統中進行網頁上報。也就是需要根據當前一直使用的表格制作一個上傳這個表格信息的網頁&#xff0c;如果要減少系統的使用學習成本&#xff0c;…

【Day55】代碼隨想錄之動態規劃_買賣股票含冷凍期和手續費

文章目錄 動態規劃理論基礎動規五部曲&#xff1a;出現結果不正確&#xff1a; 1. 最佳買賣股票的時機含冷凍期2. 買賣股票的最佳時機含手續費 動態規劃理論基礎 動規五部曲&#xff1a; 確定dp數組 下標及dp[i] 的含義。遞推公式&#xff1a;比如斐波那契數列 dp[i] dp[i-1…

【Elasticsearch專欄 01】深入探索:Elasticsearch的正向索引和倒排索引是什么

文章目錄 什么是Elasticsearch的正向索引和倒排索引&#xff1f;1.倒排索引&#xff08;Inverted Index&#xff09;2.正向索引&#xff08;Forward Index&#xff09;3.小結 什么是Elasticsearch的正向索引和倒排索引&#xff1f; 首先&#xff0c;要明確的是&#xff0c;Ela…