Linux:面試題

1. 什么是中斷和異常?

中斷:由外部設備(如鍵盤、網卡)觸發的異步事件,用于通知 CPU 有緊急事件需要處理。
異常:由 CPU 內部執行指令時產生的同步事件(如除零錯誤、缺頁異常),需要操作系統介入處理。

2. 用戶態和核心態

用戶態:進程運行在受限環境,只能訪問自己的內存空間和受限系統調用。
核心態:操作系統內核運行的特權模式,可訪問所有硬件資源和內存空間。

3. 并行和并發

并行:多個任務在多核 CPU 上同時執行。
并發:多個任務在單核 CPU 上通過時間片輪轉交替執行,宏觀上看似同時運行。

4. 內部碎片和外部碎片

內部碎片:分配的內存塊大于實際所需,導致部分空間浪費(如固定分區分配)。
外部碎片:內存中存在多個小空閑塊,但無法合并為大連續空間(如動態分區分配)。

5. 僵尸進程和孤兒進程

僵尸進程:子進程結束后,父進程未回收其狀態信息(PID、退出碼等),導致進程控制塊殘留。
孤兒進程:父進程提前退出,子進程被 init 進程(PID=1)收養。

6. 信號和信號量

信號:用于進程間異步通知的機制(如SIGTERM、SIGKILL)。
信號量:用于進程 / 線程同步的計數器,通過 P/V 操作控制臨界資源的訪問。

7. 常用 Linux 命令

文件操作:ls、cd、mkdir、rm、cp、mv
文本處理:grep、sed、awk
進程管理:ps、top、kill、pkill
網絡:ping、ifconfig/ip、netstat/ss
權限:chmod、chown

8. 查看和殺死進程

查看進程:ps aux(詳細列表)、top/htop(實時監控)、pgrep <進程名>(獲取 PID)。
殺死進程:kill (默認發送 SIGTERM)、kill -9 (強制終止)、pkill <進程名>。

9. 局部性原理

程序在執行時傾向于訪問近期使用過的內存區域(時間局部性)和相鄰內存位置(空間局部性),是緩存設計的基礎。

10. 進程 vs 線程

在這里插入圖片描述

11. 進程的狀態

運行態:正在 CPU 上執行。
就緒態:等待 CPU 調度。
阻塞態:等待外部事件(如 IO)。
創建態:進程正在被創建。
終止態:進程正在退出。

12. 進程間通信(IPC)方式

管道:半雙工通信(如|)。
消息隊列:基于消息的存儲 - 轉發機制。
共享內存:最快的方式,直接訪問同一塊物理內存。
信號量:同步機制,控制對共享資源的訪問。
套接字(Socket):跨主機通信。

13. 線程同步方式

互斥鎖:同一時間只允許一個線程訪問臨界區。
讀寫鎖:允許多個線程同時讀,寫時互斥。
條件變量:線程等待特定條件滿足。
信號量:允許多個線程并發訪問有限資源。

14. 常見鎖

互斥鎖(Mutex):二進制鎖,用于互斥訪問。
自旋鎖(Spinlock):不睡眠,循環等待鎖釋放(適用于短時間持有)。
讀寫鎖(ReadWriteLock):讀共享、寫互斥。
遞歸鎖(Reentrant Lock):允許同一線程多次加鎖。

15. 死鎖的條件與解除

死鎖條件:互斥、占有并等待、不可搶占、循環等待。
解除方法:
預防:破壞死鎖的四個條件之一(如資源一次性分配)。
避免:銀行家算法動態檢測安全性。
檢測與恢復:定期檢測并強制釋放資源。

16. 進程調度算法

先來先服務(FCFS):按到達順序調度。
短作業優先(SJF):優先調度執行時間最短的進程。
時間片輪轉(RR):每個進程分配固定時間片。
多級反饋隊列:動態調整優先級,平衡長短期作業。

17. 分段 vs 分頁

在這里插入圖片描述

18. 頁面置換算法

FIFO:淘汰最早進入內存的頁面。
LRU:淘汰最久未使用的頁面(需維護訪問順序)。
OPT:淘汰未來最長時間不會使用的頁面(理論最優)。
Clock:近似 LRU,用訪問位(Reference Bit)實現。

19. IO 多路復用

通過一個線程監視多個 IO 事件(如 socket 連接),當有事件就緒時通知應用程序處理。
常見實現:select、poll、epoll(Linux)、kqueue(BSD/macOS)。

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

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

相關文章

linux關閉某端口暫用的進程

查看是哪個端口暫用 sudo netstat -tulpn | grep :80根據圖片 顯示 80端口暫用的 進程id是 3002 結束進程id為3002的進程 sudo kill -9 3002

【學習心得】Jupyter 如何在conda的base環境中其他虛擬環境內核

如果你在conda的base環境運行了jupyter lab打開了一個ipynb文本&#xff0c;此時選擇的內核是base虛擬環境的Python內核&#xff0c;如果我想切換成其他conda虛擬環境來運行這個文件該怎么辦&#xff1f;下面我們試著還原一下問題&#xff0c;并且解決問題。 【注】 這個問題出…

React Flow 邊的基礎知識與示例:從基本屬性到代碼實例詳解

本文為《React Agent&#xff1a;從零開始構建 AI 智能體》專欄系列文章。 專欄地址&#xff1a;https://blog.csdn.net/suiyingy/category_12933485.html。項目地址&#xff1a;https://gitee.com/fgai/react-agent&#xff08;含完整代碼示?例與實戰源&#xff09;。完整介紹…

ZooKeeper 原理解析及優劣比較

大家好&#xff0c;這里是架構資源棧&#xff01;點擊上方關注&#xff0c;添加“星標”&#xff0c;一起學習大廠前沿架構&#xff01; 引言 在分布式系統中&#xff0c;服務注冊、配置管理、分布式鎖、選舉等場景都需要一個高可用、一致性強的協調服務。Apache ZooKeeper 憑…

模糊照片變清晰:照片高清修復 ComfyUI 使用教學

模糊照片變清晰 滿心歡喜地翻出舊相冊&#xff0c;想重溫那些美好的回憶&#xff0c;結果照片卻模糊不清&#xff0c;根本看不清當年的模樣&#xff1b;又或者精心拍攝了一張超有氛圍感的照片&#xff0c;結果因為手抖或者光線問題&#xff0c;變得模糊&#xff0c;無法發朋友圈…

IEEEtran中文獻中的作者大于3個時,用et al.省略

latex&#xff1a; 在使用bib文件的時候&#xff0c;當參考文獻超過三個作者時&#xff0c;第三個作者后加逗號并接上et al.。我使用的是IEEEtran.bst。 \begingroup \small \bibliographystyle{IEEEtran} \bibliography{newbmyref1} \endgroup1.需要將IEEEtran.bst添加到這個…

Android Studio Kotlin 中的方法添加灰色參數提示

在使用 Android Studio 時&#xff0c; 我發現使用 Java 編寫方法后在調用方法時&#xff0c; 會自動顯示灰色的參數。 但在 Kotlin 中沒有顯示&#xff0c; 于是找了各種方法最后找到了設置&#xff0c; 并且以本文章記錄下來。 博主博客 https://blog.uso6.comhttps://blog.…

python寵物用品商城系統

目錄 技術棧介紹具體實現截圖系統設計研究方法&#xff1a;設計步驟設計流程核心代碼部分展示研究方法詳細視頻演示試驗方案論文大綱源碼獲取/詳細視頻演示 技術棧介紹 Django-SpringBoot-php-Node.js-flask 本課題的研究方法和研究步驟基本合理&#xff0c;難度適中&#xf…

《具身智能機器人:自修復材料與智能結構設計的前沿探索》

在具身智能機器人的研發進程中&#xff0c;自修復材料與智能結構設計無疑是極具挑戰性與創新性的關鍵領域&#xff0c;吸引著無數科研人員投身其中&#xff0c;探尋未知。 傳統機器人在復雜多變的環境中執行任務時&#xff0c;一旦材料出現損傷&#xff0c;如外殼刮擦、內部線…

矩陣的秩(Rank)

矩陣的秩&#xff08;Rank&#xff09;是線性代數中的核心概念&#xff0c;表示矩陣中線性無關的行&#xff08;或列&#xff09;的最大數量&#xff0c;反映了矩陣所包含的“獨立信息”的多少。以下是其核心要點&#xff1a; 1. 秩的定義 行秩&#xff1a;矩陣中線性無關的行…

麒麟系統編譯osg —— 擴展篇

一、背景 前文講到麒麟系統編譯osg&#xff0c;通常情況下會提示&#xff1a; 意思是無法生成插件osgdb_jpeg&#xff0c;需要配置“JPEG_LIBRARY”和“JPEG_INCLUDE_DIR”。 經查&#xff0c;本機不存在jpeglib.h和libjpeg.so&#xff0c;需要另外安裝。 二、編譯jpeg庫 …

【數據倉庫面試題合集①】數據建模高頻面試題及解析

?? 面試官愛問什么?——核心考察點 數據建模作為數倉崗位面試的重頭戲,考察的不只是模型知識,更是對業務理解、抽象能力和工程落地經驗的綜合評估。常見題型可分為三類: 概念類:模型類型、建模方法論(如維度建模、范式建模) 場景類:給定一個業務場景進行模型設計(如…

園區無人機智能巡檢項目方案

在工業4.0與智慧園區建設加速推進的今天&#xff0c;傳統人工巡檢的局限性日益凸顯&#xff1a;效率低、覆蓋范圍有限、安全隱患大。而無人機智能巡檢技術的崛起&#xff0c;正以其 "高空視角AI大腦全自動作業" 的創新模式&#xff0c;重新定義園區管理標準。本文將深…

【C++】vector:容器的別樣風采

目錄 vector&#xff1a; vector實例化&#xff1a; vector構造函數&#xff1a; vector對象尾插&#xff1a;v1.push_back() vector迭代器&#xff1a; vector實例化string類型的對象 vector接口: begin()end()//rbegin()rend() resize()&#xff1a; vector&#xff…

大語言模型 15 - Manus 超強智能體 開源版本 OpenManus 案例與原理深入解析

寫在前面 Manus 是由中國初創公司 Monica.im 于 2025 年 3 月推出的全球首款通用型 AI 智能體&#xff08;AI Agent&#xff09;&#xff0c;旨在實現“知行合一”&#xff0c;即不僅具備強大的語言理解和推理能力&#xff0c;還能自主執行復雜任務&#xff0c;直接交付完整成…

【node.js】安裝與配置

個人主頁&#xff1a;Guiat 歸屬專欄&#xff1a;node.js 文章目錄 1. Node.js簡介1.1 Node.js的特點1.2 Node.js架構 2. Node.js安裝2.1 下載和安裝方法2.1.1 Windows安裝2.1.2 macOS安裝2.1.3 Linux安裝 2.2 使用NVM安裝和管理Node.js版本2.2.1 安裝NVM2.2.2 使用NVM管理Node…

Neo4j(一) - Neo4j安裝教程(Windows)

文章目錄 前言一、JDK與Neo4j版本對應關系二、JDK11安裝及配置1. JDK11下載2. 解壓3. 配置環境變量3.1 打開系統屬性設置3.2 新建系統環境變量3.3 編輯 PATH 環境變量3.4 驗證環境變量是否配置成功 三、Neo4j安裝&#xff08;Windows&#xff09;1. 下載并解壓Neo4j安裝包1.1 下…

深信服golang面經

for range 中賦值的變量&#xff0c;這個變量指向的是真實的地址嗎&#xff0c;還是臨時變量 不是真實地址&#xff0c;是臨時變量 package mainimport "fmt"func main() {slice : []int{4, 2, 3}for _, v : range slice {fmt.Println(v, &v) // 這里的 v 是臨…

PLC雙人舞:profinet轉ethernet ip網關奏響施耐德與AB的協奏曲

PLC雙人舞&#xff1a;ethernet ip轉profinet網關奏響施耐德與AB的協奏曲 案例分析&#xff1a;施耐德PLC與AB PLC的互聯互通 在現代工業自動化中&#xff0c;設備之間的互聯互通至關重要。本案例旨在展示如何通過北京倍訊科技的EtherNet/IP轉Modbus網關&#xff0c;將施耐德P…

鏈接家里電腦

要在外網訪問家里的電腦&#xff08;或NAS&#xff09;&#xff0c;主要有 5種主流方法&#xff0c;各有優缺點&#xff0c;適用于不同需求。以下是詳細方案和操作指南&#xff1a; 一、方案對比速查表 方法適用場景速度安全性難度是否需要公網IP遠程桌面&#xff08;RDP&…