從零開始的面經總結DAY1

2021-10-06 23:07:36 字數 1696 閱讀 5638

q1:水印專案

a1:兩種方案 shadow dom/canvas 繪圖

shadow dom 優點:1.低耦合,shadow dom 與原先dom樹隔離,不會影響系統原有功能

缺點:1.shadow dom 不能夠被監聽到 2.水印文案及dom 被篡改的成本較低 3.實現邏輯比較複雜

q2:音訊數字水印

a2:將數字水印通過水印嵌入演算法,嵌入到音訊檔案中

q3:區塊鏈專案(哪些地方使用了密碼學)

a3:區塊鏈可看作是乙個去中心化的資料庫(分布式資料庫)

涉及領域:支付領域/內容/防偽溯源/**市場/加密通訊/遊戲娛樂/資產交易/物聯網/去中心化交易/資料儲存。

在每個區塊中包含自己和上乙個區塊的hash值,使用密碼學關聯產生的資料塊。

q4:同態加密的原理,應用?雲計算中用到

a4: 同態加密:對經過同態加密的資料進行處理得到乙個輸出,將這一輸出進行解密,其結果與用同一方法處理未加密的原始資料得到的輸出結果是一樣的。

通俗解釋:好處就是我對(f(x))運算,對結果進行解密之後,就是想要的原文運算結果,那麼我把資料加密後給雲,雲只要計算計算密文,在不知真實資料情況下幫助計算,再發給我,再機器解密就是結果。

應用領域:雲計算,電子商務,物聯網。

q5:指標的指標有什麼用?

a5:用於指向另乙個指標的位址,為了提高函式封裝性,避免使用全域性變數。

eg:使用鍊錶時,有乙個頭結點指標,若需要函式進行修改,只將頭結點指標作為形參傳入函式,作用域僅在函式內部,不能影響真正的頭指標。一種解決方法就是頭結點指標定義為全域性變數,但不符合強封裝要求,另一種方法則是傳遞頭結點指標的指標,就是將頭結點指標的位址傳入,即可在函式內操作

q6:作業系統的使用者態和核心態的原理和關係

a6: 在cpu的所有指令中,有一些指令是非常危險的,如果錯用,將導致整個系統崩潰。比如:清記憶體、設定時鐘等。如果所有的程式都能使用這些指令,那麼你的系統一天宕機n回就不足為奇了。所以,cpu將指令分為特權指令和非特權指令,對於那些危險的指令,只允許作業系統及其相關模組使用,普通的應用程式只能使用那些不會造成災難的指令。intel的cpu將特權級別分為4個級別:ring0,ring1,ring2,ring3。

linux的核心是乙個有機的整體。每乙個使用者程序執行時都好像有乙份核心的拷貝,每當使用者程序使用系統呼叫時,都自動地將執行模式從使用者級轉為核心級,此時程序在核心的位址空間中執行。

當乙個任務(程序)執行系統呼叫而陷入核心**中執行時,我們就稱程序處於核心執行態(或簡稱為核心態)。此時處理器處於特權級最高的(0級)核心**中執行。當程序處於核心態時,執行的核心**會使用當前程序的核心棧。每個程序都有自己的核心棧。當程序在執行使用者自己的**時,則稱其處於使用者執行態(使用者態)。即此時處理器在特權級最低的(3級)使用者**中執行。當正在執行使用者程式而突然被中斷程式中斷時,此時使用者程式也可以象徵性地稱為處於程序的核心態。因為中斷處理程式將使用當前程序的核心棧。這與處於核心態的程序的狀態有些類似。

q7:你對spark的使用?

a7:同行軟體hadoop,mapreduce 專為大規模處理而設計的快速通用的計算引擎,在scala語言中實現

q8:rsa

a8:rsa加密演算法是一種非對稱加密演算法,因數分解越困難,加密越可靠,目前只要鑰匙長度足夠長,即無法破解。

從零開始積累的javascript陣列面試題

相關部落格 陣列扁平化 方式一 param arr 陣列 function flat1 arr 陣列扁平化 方式二 param arr 陣列 function flat2 arr 陣列去重複 param arr 陣列 function unique arr var obj console.log a...

Python從零開始 day9 裝飾器 1

裝飾器 作用域 高階函式,閉包 閉包 在乙個內部函式裡,對乙個外部作用域進行引用,那麼這個內部函式被認為是閉包 def f x 5 def fo 內部函式 print x 5 x是外部環境的變數 return fo fo 就是乙個閉包 f foo f 不能直接呼叫fo 函式,區域性變數,全域性變數無...

入門 1 從零開始的HTML

html hypertext markup languge 超文字標記語言。乙個標籤被解析後會顯示標籤要表達的內容。單單乙個標籤就可以解釋成一張。總結 html標籤內存放各種元素的集合,是乙個資訊的載體 讀取,整理,計算顯示並渲染到頁面上 解析,渲染 瀏覽器與對應核心 瀏覽器核心firefox ge...