主頁 > 軟體設計 > 看完這些面試必問的Linux小知識,我保證你面試后會來給我的文章一鍵三連

看完這些面試必問的Linux小知識,我保證你面試后會來給我的文章一鍵三連

2021-04-10 10:52:20 軟體設計

作為一名以后想從事嵌入式Linux工程師的大學生,那么Linux肯定是得學習的,如果要從事C++后臺或者服務器運維相關的作業那么Linux肯定也是一個必備的工具啦!既然作為作業中需要接觸的工具那么在面試程序中就一定會問到,關于Linux的基本命令、Linux的基本組件、行程間通信、執行緒間同步…都有可能被問到,盡管面試考察的方面很多,但是經過大量的面試就會發現有很多問題面試官是會百問不厭的,
往期推薦:
經過筆試和多輪技術面試我居然敗給了HR面?
面試官說:我們不要連Android TP驅動流程都不知道的人
Alt

高能預警 干貨滿滿 不確定看看?然后再給個一鍵三連?
文章將更新!
走過路過千萬別錯過,點贊收藏+關注是對我最大的支持

文章目錄

    • Linux——系統篇
      • Linux是什么?
      • Unix和Linux有什么區別?
      • Linux系統的組成部分?
      • Linux內核的組成部分?
      • 記憶體管理單元MMU有什么作用?
      • 常見的作業系統行程調度策略有哪些?
      • I/O子系統層次結構
      • 邏輯地址、線性地址、物理地址、總線地址、虛擬地址的區別?
      • 作業系統的記憶體一般有哪幾種方式,各有什么優缺點?
      • 用戶空間和內核通信的方式有哪些?
      • 呼叫API read()/write()時,內核具體做了那些事情?
      • 系統呼叫的作用?
      • Boot loader、Linux內核、根檔案系統三者之間的關系?
      • Bootloader的啟動程序分為那兩個階段?
    • Linux——人機互動篇
      • Linux常用命令
      • Shell腳本
      • GCC、GDB、makefile
      • makefile
    • Linux ——行程執行緒篇
      • 行程間通信
      • 執行緒間同步機制
      • 執行緒與行程的區別
      • 什么是死鎖?產生死鎖的原因是什么?
      • 死鎖的四個必要條件是什么?
      • 死鎖的處理方法?
      • 如何預防死鎖?
    • Linux——網路篇
      • 網路基礎知識
      • TCP編程
      • 網路高頻面試題匯總

Linux——系統篇

Linux是什么?

簡單的來說Linux就是一套開源的和自由傳播的基于Unix作業系統,是一個基于POSIX和Unix的多用戶、多任務、支持多執行緒和多CPU的作業系統,簡單的來說就是和windows、Mac OS比較像的一種多任務、多用戶的作業系統!

Unix和Linux有什么區別?

Linux和Unix都是功能強大的作業系統,都是應用廣泛的服務器作業系統,有很多相似之處,甚至有一部分人錯誤地認為Unix和Linux作業系統是一樣的,然而,事實并非如此,以下是兩者的區別,

  1. 開源性
    Linux是一款開源作業系統,不需要付費,即可使用;Unix是一款對原始碼實行知識產權保護的傳統商業軟體,使用需要付費授權使用,

  2. 跨平臺性
    Linux作業系統具有良好的跨平臺性能,可運行在多種硬體平臺上;Unix作業系統跨平臺性能較弱,大多需與硬體配套使用,

  3. 可視化界面
    Linux除了進行命令列操作,還有表單管理系統;Unix只是命令列下的系統,

  4. 硬體環境
    Linux作業系統對硬體的要求較低,安裝方法更易掌握;Unix對硬體要求比較苛刻,安裝難度較大,

  5. 用戶群體
    Linux的用戶群體很廣泛,個人和企業均可使用;Unix的用戶群體比較窄,多是安全性要求高的大型企業使用,如銀行、電信部門等,或者Unix硬體廠商使用,如Sun等,

相比于Unix作業系統,Linux作業系統更受廣大計算機愛好者的喜愛,主要原因是Linux作業系統具有Unix作業系統的全部功能,并且能夠在普通PC計算機上實作全部的Unix特性,開源免費的特性,更容易普及使用!

Linux系統的組成部分?

Linux系統由 boot loader、Linux kernel 、Linux Shell、Linux應用程式組成,

Linux內核的組成部分?

(1)第一種分類方式:記憶體管理子系統、行程管理子系統、檔案管理子系統、I/O管理子系統

(2)第二種分類方式:行程調度(SCHED)、行程間通信(IPC)、記憶體管理(MMU)、虛擬檔案系統(VFS)、網路介面(NET)

記憶體管理單元MMU有什么作用?

記憶體管理單元的主要作用是記憶體映射、記憶體分配和回收、記憶體保護、記憶體擴充

常見的作業系統行程調度策略有哪些?

先來先服務、短行程優先、高回應比優先、時間片輪轉、多級反饋佇列、最高優先權優先,

I/O子系統層次結構

從上至下依次是用戶層I/O軟體,設備獨立性軟體,設備驅動程式,中斷處理程式

邏輯地址、線性地址、物理地址、總線地址、虛擬地址的區別?

地址簡介
邏輯地址與記憶體段相關的偏移地址部分,例如,在C語言獲取指標變數的值,就是邏輯地址,不和絕對的物理地址相關
線性地址線性地址=邏輯地址+基地址
物理地址如果啟動了分頁機制,那么線性地址使用頁表項變換后就是物理地址,如果沒有啟用分頁機制,那么線性地址就是物理地址,
總線地址x86下的I/O地址,ARM下的物理地址,
虛擬地址MMU虛擬出來的地址

作業系統的記憶體一般有哪幾種方式,各有什么優缺點?

  • 分頁存盤管理:優點是不需要連續的記憶體空間,且記憶體利用率高(只有很小的頁內碎片);缺點是 不易于實作記憶體共享與保護,
  • 分段存盤管理:優點是易于實作段記憶體共享和保護;缺點是每段都需要連續的記憶體空間,且記憶體利 用率較低(會產生外部碎片),
  • 段頁式存盤管理:優點是不需要連續的記憶體空間,記憶體利用率高(只有很小的頁內碎片),且易于 實作段記憶體共享和保護;缺點是管理軟體復雜性較高,需要的硬體以及占用的記憶體也有所增加,使得執 行速度下降,

用戶空間和內核通信的方式有哪些?

系統呼叫API用戶空間行程通過系統呼叫進入內核空間,訪問指定的內核空間資料
驅動程式用戶空間行程可以使用封裝后的系統呼叫介面訪問驅動設備節點,和運行在內核空間的驅動程式通信
copy_to_user()、copy_from_user()在驅動程式中呼叫的介面,實作用戶空間和內核空間的資料拷貝操作,應用于實時性要求不太高的專案中
procfs是一種特殊的檔案系統,是Linux內核資訊的抽象檔案介面,大量內核中的資訊以及可呼叫的引數都被作為常規檔案映射到這個目錄樹中,用戶可以直接通過echo或cat這樣的命令對系統資訊進行修改和查詢,
共享記憶體mmap在代碼呼叫介面,實作內核空間與用戶空間的地址映射,在實時性要求很高的專案中為首選
netlink用戶行程使用標準的socket API就可以使用netlink提供的強大功能

呼叫API read()/write()時,內核具體做了那些事情?

用戶行程呼叫read()/write()后進入內核空間-> 呼叫內核的sys_read()/sys_write()函式 -> 內核函式進一步呼叫fop.read()/fop.write()指向的函式,也就是驅動程式里具體的讀寫函式,

系統呼叫的作用?

為應用程式提供訪問硬體的同一介面,以至于應用程式不必關心具體的硬體操作細節,

為系統內核提供保護,保證系統的穩定和安全,因為**系統呼叫還規定了用戶行程進入內核的具體方式以及所能訪問的資料范圍**,

Boot loader、Linux內核、根檔案系統三者之間的關系?

系統上電,就執行Bootloader來初始化處理器及其外設,將系統的軟硬體環境帶到一個合適的狀態

Boot loader傳遞給Linux 內核 bootcmd和boot targs這兩個比較重要的引數,讓Linux內核知道從記憶體中那個地方讀取相關的設備樹,系統鏡等檔案,然后執行Linux內核,

Linux內核完成初始化之后就掛載某個檔案系統作為根檔案系統,

Bootloader的啟動程序分為那兩個階段?

  • 第一個階段是匯編階段,完成一些依賴于CPU體系結構的初始化,并執行第二階段的代碼,
  • 第二階段是C語言的,進一步完成硬體的初始化,并建立記憶體映射,并將記憶體和根檔案系統讀取到記憶體中,然后啟動內核

Linux——人機互動篇

Linux常用命令

在博主之前的文章中有整理了相關的Linux常用命令可以查看史上最全的Linux常用命令匯總(超全面!超詳細!)收藏這一篇就夠了!這篇文章,這篇文章覆寫了絕大部分的Linux命令!目前已經有1000+點贊,6000+收藏,這里面需要重點關注的命令就是關于**Linux用戶Linux行程管理檔案查找**這些是面試官最喜歡問的問題也是最容易記混淆的知識!既然是最容易記混淆的那么就需要重點關注整理一下!

命令作用說明
useradd -m -g 組 新建用戶名添加新用戶- m 自動創建用戶家目錄
- g 指定用戶所在的組,負責會建立一個和同名的組
passwd設定用戶密碼如果是普通用戶,直接用passwd可以修改自己的賬戶密碼
userdel -r 用戶名洗掉用戶-r 選項會自動洗掉家用戶目錄
cat /etc/passwd | grep 用戶名確認用戶資訊新建用戶后,用戶資訊會保存在/etc/passwd檔案中
命令作用說明
ps -aux查看行程的詳細資訊- a 顯示終端上的所有行程
- u 顯示行程的詳細狀態
- x 顯示沒有控制終端的行程
ps -ef | grep -列出需要的行程配合管道查看相關的行程的詳細資訊
pstree通過顯示行程的樹狀圖來展示行程間的關系如果指定了pid,那么樹的根就是該pid
top監控系統不同行程所使用的資源資訊
nice <優先值> <行程名> - 通過給定的優先值啟動一個程式設定改變行程的優先級普通用戶只能設定0~20,越小優先級越高
renice -n -g - 改變指定行程的優先值通過改變指定用戶和組來改變行程優先級
kill用于發送信號來結束行程可以通過-9引數來執行
netstat -nap | grep xxx查看行程號為xxx的埠占用號
命令作用說明
find <指定目錄> <指定條件> <指定動作>查找指定目錄下的指定檔案,并對檔案進行相關操作條件引數可以是 - name按照名字進行查找
grepgrep允許對文本進行模式查找- n顯示匹配行及行號
- v顯示不包含匹配文本的所有行(相當于取反)
- i 忽略大小

Shell腳本

用戶界面和命令列這個另外開發的程式,Linux下這個命令列的程式就叫Shell,其是一個應用程式,它連接了用戶和 Linux 內核,讓用戶能夠更加高效、安全、低成本地使用 Linux 內核,這就是 Shell 的本質

博主在之前學習Shell腳本的時候已經整理的比較詳細了,這里就把鏈接給貼出來啦!

  • Shell基本概念
  • Shell變數和程式陳述句
  • Shell函式呼叫以及變數的作用域

GCC、GDB、makefile

  • 預處理:引入頭檔案、進行宏替換、處理條件編譯指令、去除注釋、添加行號,
  • 編譯:進行語法分析等,并生成匯編代碼.s,
  • 匯編:將匯編代碼轉成二進制代碼.o(目標檔案),
  • 鏈接:將有關的目標檔案彼此連接為可執行代碼,分為靜態鏈接(將庫檔案代碼搬遷到可執行檔案 中,后綴是.a)和動態鏈接(在執行的時候轉到庫檔案代碼執行,后綴是.so),

之前也有整理關于代碼的編譯還有除錯相關的文章,可以戳鏈接進入文章代碼從編譯到運行經歷了什么?

makefile

makefile從入門到放棄——博主吐血整理的筆記

makefile的基本條件就是目標和依賴

Linux ——行程執行緒篇

行程間通信

每個行程各自有不同的用戶地址空間,任何一個行程的全域變數在另一個行程中都看不到,所以行程間交換資料必須通過內核,在內核中開辟一塊緩沖區,行程1把資料從用戶空間拷貝到內核緩沖區,行程2再從內核緩沖區把資料讀走,內核提供這種機制稱為行程間通信!

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-2DMiFYSH-1617975383512)(C:\Users\lenovo-pc\AppData\Roaming\Typora\typora-user-images\image-20210409204514616.png)]

  • 管道

    專案通信方式特點
    無名管道(記憶體檔案)半雙工通信資料只能單向流動,只能在有親緣關系的行程間使用(父子行程)
    有名管道(FIFO檔案,借助檔案系統)半雙工通信允許在沒有親緣關系的行程間使用,是先進先出的通信方式
  • 共享記憶體:共享記憶體就是映射一段能被其他行程所訪問的記憶體,這段記憶體由一個行程創建,但是多個行程可以訪問,共享記憶體是最快的IPC方式,他是針對其他行程間通信方式運行效率低而專門設計的,

  • 訊息佇列:訊息佇列是有訊息的鏈表,存放在內核中并由訊息佇列識別符號標識,訊息佇列克服了信號傳遞資訊少、管道只能承載無格式位元組流以及緩沖區大小受限制等缺點,

  • 套接字:適用于不同機器間行程通信,在本地可作為兩個行程間通信的方式,

  • 信號:用于通知接收行程某個時間已經發生,比如按下ctrl+C就是信號

  • 信號量:信號量就是一個計數器,可以用來控制多個行程對共享資源的訪問,常用一種鎖的機制,實作行程、執行緒的臨界區的同步及互斥訪問,

執行緒間同步機制

  • POSIX無名信號量(基于記憶體的信號量):可以用于行程間同步
  • POSIX有名信號量:執行緒行程都適用
  • 初始化、P操作(申請資源)、V操作(釋放資源)
  • 互斥鎖+條件變數:只能用于執行緒間同步

執行緒與行程的區別

調度:執行緒是調度的基本單位;行程是擁有所有資源的基本單位,

并發性:一個行程內多個執行緒可以并發;多個行程可以并發

擁有資源:行程擁有獨立的地址空間;執行緒不擁有系統資源,

系統開銷:執行緒創建銷毀只需要處理PC值,狀態碼,通用暫存器,執行緒堆疊和堆疊指標即可;行程創建和執行緒需要分配及銷毀task_struct結構,

關于執行緒與行程我也有整理相關的博客:

  • 1、行程簡介

  • 2、執行緒&執行緒間同步

  • 3、Unix間執行緒通信

  • 4、System V間通信

  • 5、并發與競爭

什么是死鎖?產生死鎖的原因是什么?

死鎖是指多個行程因競爭資源而造成的一種僵局(互相等待),若無外力作用,這些行程將無法向前推進,

原因:①系統資源不足,②資源分配不當,③行程推進的順序不合適,

死鎖的四個必要條件是什么?

互斥條件:一個資源每次只能被一個行程使用,其他行程只能等待,

請求與保持條件:行程已經獲得至少一個資源,但又提出了新的資源請求,而該資源已被其他行程占有,此時該行程被阻塞,但對已獲得資源依然保持不放,

不可剝奪條件:行程所獲得的資源不能被其他行程剝奪,只能被自己釋放,

回圈等待條件:若干行程形成首尾相接回圈等待資源的關系,

注意:以上四個條件缺一不可

死鎖的處理方法?

(1)預防死鎖:通過設定一些限制條件,去破壞產生死鎖的必要條件,

(2)避免死鎖:在資源分配程序中,使用某種方法避免系統進入不安全的狀態,從而避免發生死鎖,

(3)檢測和解除死鎖:允許死鎖的發生,但是通過系統的檢測之后,采取一些措施,將死鎖清除掉,

如何預防死鎖?

(1)破壞“請求與保持條件”:

  • ①靜態分配,即每個行程在開始執行時就申請它所需要的全部資源

  • ②動態分配,即每個行程在申請所需要的資源時它本身不占用系統資源,

(2)破壞“不可剝奪條件”:一個行程在阻塞等待期間,其占有的資源被隱式釋放后被其他行程使用,而阻塞等待的資源只有獲得所有需要的資源才能重新啟動,

(3)破壞“回圈等待條件”:采用資源的有序分配,將所有資源進行編號,緊缺的資源采用比較大的編號,一個行程只有獲得較小編號的資源才可以申請較大編號的資源,

Linux——網路篇

網路基礎知識

借鑒之前整理的博客:網路基礎知識

TCP編程

借鑒之前整理的博客:網路編程——TCP

網路高頻面試題匯總

借鑒之前博客整理的面試題掌握了這些面試題,離大廠的距離更近一步!

本文將持續更新和維護,如果覺得對自己有幫助就給個贊和關注吧!

不積小流無以成江河,不積跬步無以至千里,而我想要成為萬里羊,就必須堅持學習來獲取更多知識,用知識來改變命運,用博客見證成長,用行動證明我在努力,
如果我的博客對你有幫助、如果你喜歡我的博客內容,記得“點贊” “評論” “收藏”一鍵三連哦!聽說點贊的人運氣不會太差,每一天都會元氣滿滿呦!如果實在要白嫖的話,那祝你開心每一天,歡迎常來我博客看看,
在這里插入圖片描述

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/274438.html

標籤:其他

上一篇:LeetCode-旋轉陣列

下一篇:【JavaP6大綱】Java基礎篇:CAS,ABA,volatile特性

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more