當前位置:首頁 » 操作系統 » cLinux面試題

cLinux面試題

發布時間: 2025-05-26 12:09:12

『壹』 面試套路——如何應對linux問題

面試中Linux問題是基礎知識部分中必然會問到的一塊,對於不常使用或沒有接觸過Linux的同學,如何巧妙應對呢?以下是我的經驗。

面試官 :Linux了解嗎?

我:還可以。

面試官:查看******的指令是什麼?

我:不清楚。。。

面試官:查看******的指令呢?

我:不記得了。。。

(GG)

後來又一次跟學長吃飯,學長表示其實對於面試官Linux是加分項,會最好,不會也沒什麼。重要的是展示你了解多少,讓面試官覺得你有一定程度的了解的,而不是一定要把面試官問的問題答上來(想要做到這一點要花的功夫可不小)。所以在之後的面試中,我改變了戰術。

面試官:Linux了解嗎?

我:Linux我只有一些使用經驗,沒有開發經驗。去年在分布式的項目中,我需要在centos環境下部署分布式組件,常用一些基礎的命令,比如:
cd 到一個路徑下;
ll 查看當前路徑下的內容;
chown 修改許可權;
ps -aux | grep 查看進程信息;
cat 、 vim 等查看、修改文件內容。我常用的一些 vim 快捷鍵:
dd 刪除當前行;
gg 定位到文件頭部;
1$ 、 2$ 、 3$ 定位到當前行、第二行、第三行尾部。

有的面試官:(漏出滿意的笑容)不錯。(改問其他部分的問題)

還有的面試官: shell 命令熟悉嗎?

我:接觸過,有幾次需要編寫簡單的shell腳本進行自動化測試,當時用的是 base shell ,但是只用過一兩次,具體怎麼寫想不起來了,如果要用的話需要查一下 。

面試官:哦~能查出來是吧,可以。

總之,對於來不及准備情況,在被問到時主動把自己會的噼里啪啦說出來,可以避免被動提問然後答不上來的尷尬情況。而且會讓面試官覺得你掌握得不錯。我網路三面都被問到Linux,我都用了這一套回答過關,旁聽的同學都聽樂了。

當然這只是一個應對面試的小套路,真正學習和掌握Linux對於工作中是不可避免的一步。投機取巧只能應付一時,不要本末倒置哦。

『貳』 Linux 中關於Shell腳本面試問題大全

了解腳本或至少知道基礎知識對系統管理員來說至關重要,它也有助於你在工作環境中自動完成很多任務。在過去的幾年裡,所有 Linux 工作職位都要求腳本技能。

1) 如何向腳本傳遞參數?

例子:顯示文件名稱腳本。

2) 如何在腳本中使用參數?

第一個參數:$1,第二個參數:$2

例子:腳本會復制文件(arg1)到目標地址(arg2)。

3) 如何計算傳遞進來的參數?

4) 如何在腳本中獲取腳本名稱?

5) 如何檢查之前的命令是否運行成功?

6) 如何獲取文件的最後一行?

7) 如何獲取文件的第一行?

8) 如何獲取一個文件每一行的第三個元素?

9) 假如文件中每行第一個元素是 FIND,如何獲取第二個元素

10) 如何調試 bash 腳本?將 -xv 參數加到 #!/bin/bash 後。

例子:...

11) 舉例如何寫一個函數?

12) 如何向連接兩個字元串?輸出...

13) 如何進行兩個整數相加?輸出:3。

14) 如何檢查文件系統中是否存在某個文件?

15) 寫出 shell 腳本中所有循環語法?for 循環,while 循環,until 循環。

16) 每個腳本開始的 #!/bin/sh 或 #!/bin/bash 表示什麼意思?這一行說明要使用的 shell。#!/bin/bash 表示腳本使用 /bin/bash。對於 python 腳本,就是 #!/usr/bin/python。

17) 如何獲取文本文件的第 10 行?

18) bash 腳本文件的第一個符號是什麼?

19) 命令:[ -z "" ] && echo 0 || echo 1 的輸出是什麼?

20) 命令 「export」 有什麼用?使變數在子 shell 中可用。

21) 如何在後台運行腳本?在腳本後面添加 「&」。

22) "chmod 500 script" 做什麼?使腳本所有者擁有可執行許可權。

23) ">&" 做什麼?重定向輸出流到文件或另一個流。

24) 「&」 和 「&&」 有什麼區別?& - 希望腳本在後台運行的時候使用它;&& - 當前一個腳本成功完成才執行後面的命令/腳本的時候使用它。

25) 什麼時候要在 [ condition ] 之前使用 「if」?當條件滿足時需要運行多條命令的時候。

26) 命令:name=John && echo 'My name is $name' 的輸出是什麼?

27) bash shell 腳本中哪個符號用於注釋?#

28) 命令: echo ${new:-variable} 的輸出是什麼?

29) ' 和 " 引號有什麼區別?●' - 當我們不希望把變數轉換為值的時候使用它;●" - 會計算所有變數的值並用值代替。

30) 如何在腳本文件中重定向標准輸出和標准錯誤流到 log.txt 文件?在腳本文件中添加 "exec >log.txt 2>&1" 命令。

31) 如何只用 echo 命令獲取字元串變數的一部分?例子:...

32) 如果給定字元串 variable="User:123:321:/home/dir",如何只用 echo 命令獲取 home_dir?

33) 如何從上面的字元串中獲取 「User」?

34) 如何使用 awk 列出 UID 小於 100 的用戶?

35) 寫程序為用戶計算主組數目並顯示次數和組名

36) 如何在 bash shell 中更改標準的域分隔符為 ":"?

37) 如何獲取變數長度?

38) 如何列印變數的最後 5 個字元?

39) ${variable:-10} 和 ${variable: -10} 有什麼區別?●${variable:-10} - 如果之前沒有給 variable 賦值則輸出 10;如果有賦值則輸出該變數;●${variable: -10} - 輸出 variable 的最後 10 個字元。

40) 如何只用 echo 命令替換字元串的一部分?

41) 哪個命令將命令替換為大寫?

42) 如何計算本地用戶數目?wc -l /etc/passwd|cut -d" " -f1 或者 cat /etc/passwd|wc -l

43) 不用 wc 命令如何計算字元串中的單詞數目?

44) "export $variable" 或 "export variable" 哪個正確?

45) 如何列出第二個字母是 a 或 b 的文件?

46) 如何將整數 a 加到 b 並賦值給 c?三種方法

47) 如何去除字元串中的所有空格?

48) 重寫這個命令,將輸出變數轉換為復數: item="car"; echo "I like $item"?

49) 寫出輸出數字 0 到 100 中 3 的倍數(0 3 6 9 ...)的命令?

50) 如何列印傳遞給腳本的所有參數?

51) [ $a == $b ] 和 [ $a -eq $b ] 有什麼區別?●[ $a == $b ] - 用於字元串比較;●[ $a -eq $b ] - 用於數字比較。

52) = 和 == 有什麼區別?●= - 用於為變數賦值;●== - 用於字元串比較。

53) 寫出測試 $a 是否大於 12 的命令?

54) 寫出測試 $b 是否小於等於 12 的命令?

55) 如何檢查字元串是否以字母 "abc" 開頭?

56) [[ $string == abc* ]] 和 [[ $string == "abc*" ]] 有什麼區別?●[[ $string == abc* ]] - 檢查字元串是否以字母 abc 開頭;●[[ $string == "abc" ]] - 檢查字元串是否完全等於 abc。

57) 如何列出以 ab 或 xy 開頭的用戶名?

58) bash 中 $! 表示什麼意思?後台最近執行命令的 PID.

59) $? 表示什麼意思?前台最近命令的結束狀態。

60) 如何輸出當前 shell 的 PID?

61) $* 和 $@ 有什麼區別?●$* - 以一個字元串形式輸出所有傳遞到腳本的參數;●$@ - 以 $IFS 為分隔符列出所有傳遞到腳本中的參數。

62) 如何在 bash 中定義數組?

63) 如何列印數組的第一個元素?

64) 如何列印數組的所有元素?

65) 如何輸出所有數組索引?

66) 如何移除數組中索引為 2 的元素?

67) 如何在數組中添加 id 為 333 的元素?

68) shell 腳本如何獲取輸入的值?a) 通過參數;b) 通過 read 命令。

69) 在腳本中如何使用 "expect"?

『叄』 Linux系統工程師面試題附答案

一、簡答題

1.如何將本地80埠的請求轉發到8080埠,當前主機IP為192.168.16.1,其中本地網卡eth0:

答:# iptables -t nat -A PREROUTING -d 192.168.16.1 -p tcp --dport 80 -j DNAT --to 192.168.16.1:8080

或 者:# iptables -t nat -A PREROUTING -i eth0 -d 192.168.16.1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080

2.什麼是NAT,常見分為那幾種,DNAT與SNAT有什麼不同,應用事例有那些?

SNAT,DNAT,MASQUERADE都是NAT。

MASQUERADE是SNAT的一個特例。

SNAT是指在數據包從網卡發送出去的時候,把數據包中的源地址部分替換為指定的IP,這樣,接收方就認為數據包的來源是被替換的那個IP的主機。

MASQUERADE是用發送數據的網卡上的IP來替換源IP,因此,對於那些IP不固定的場合,比如撥號網路或者通過dhcp分配IP的情況下,就得用MASQUERADE。

DNAT,就是指數據包從網卡發送出去的時候,修改數據包中的目的IP,表現為如果你想訪問A,可是因為網關做了DNAT,把所有訪問A的數據包的目的IP全部修改為B,那麼,你實際上訪問的是B

因為,路由是按照目的地址來選擇的,因此,DNAT是在PREROUTING鏈上來進行的,而SNAT是在數據包發送出去的時候才進行,因此是在POSTROUTING鏈上進行的。

3.包過濾防火牆與代理應用防火牆有什麼區別,能列舉幾種相應的產品嗎?

4.iptables是否支持time時間控制用戶行為,如有請寫出具體操作步驟。

5.說出你知道的幾種linux/unix發行版本。

Redhat、CentOS、Fedora、SuSE、Slackware、Gentoo、Debian、Ubuntu、FreeBSD、Solaris、SCO、AIX、HP…

6.列出linux常見打包工具並寫相應解壓縮參數(至少三種)

7.計劃每星期天早8點伺服器定時重啟,如何實現?

8.列出作為完整郵件系統的軟體,至少二類。

9,當用戶在瀏覽器當中輸入一個網站,說說計算機對dns解釋經過那些流程?註:本機跟本地dns還沒有緩存

答:

a.用戶輸入網址到瀏覽器;

b.瀏覽器發出DNS請求信息;

c.計算機首先查詢本機HOST文件,看是否存在,存在直接返回結果,不存在,繼續下一步;

d.計算機按照本地DNS的順序,向合法dns伺服器查詢IP結果;

e.合法dns返回dns結果給本地dns,本地dns並緩存本結果,直到TTL過期,才再次查詢此結果;

f.返回IP結果給瀏覽器;

g.瀏覽器根據IP信息,獲取頁面;

10,我們都知道,dns既採用了tcp協議,又採用了udp協議,什麼時候採用tcp協議?什麼時候採用udp協議?為什麼要這么設計?

答:這個題需要理解的東西比較的多,分一下幾個方面

a,從數據包大小上分:UDP的最大包長度是65507個位元組,響應dns查詢的時候數據包長度超過512個位元組,而返回的只要前512個位元組,這時名字 解釋器通常使用TCP從發原來的請求。

b,從協議本身來分:大部分的情況下使用UDP協議,大家都知道UDP協議是一種不可靠的協議,dns不像其它的使用UDP的Internet應用 (如:Tftp,BOOTP和SNMP等),大部分集中在區域網,dns查詢和響應需要經過廣域網,分組丟失和往返時間的不確定性在廣域網比區域網上更 大,這就要求dns客戶端需要好的重傳和超時演算法,這時候使用TCP。

11,一個EXT3的文件分區,當使用touch test.file命令創建一個新文件時報錯,報錯的信息是提示磁碟已滿,但是採用df -h命令查看磁碟大小時,只使用了,60%的磁碟空間,為什麼會出現這個情況,說說你的理由。

答:兩種情況,一種是磁碟配額問題,另外一種就是EXT3文件系統的設計不適合很多小文件跟大文件的一種文件格式,出現很多小文件時,容易導致inode 耗盡了。

12,我們都知道FTP協議有兩種工作模式,說說它們的大概的一個工作流程?

FTP兩種工作模式:主動模式(Active FTP)和被動模式(Passive FTP)

在主動模式下,FTP客戶端隨機開啟一個大於1024的埠N向伺服器的21號埠發起連接,然後開放N+1號埠進行監聽,並向伺服器發出PORT N+1命令。

伺服器接收到命令後,會用其本地的FTP數據埠(通常是20)來連接客戶端指定的埠N+1,進行數據傳輸。

在被動模式下,FTP客戶端隨機開啟一個大於1024的埠N向伺服器的21號埠發起連接,同時會開啟N+1號埠。然後向伺服器發送PASV命令,通 知伺服器自己處於被動模式。伺服器收到命令後,會開放一個大於1024的埠P進行監聽,然後用PORT P命令通知客戶端,自己的數據埠是P。客戶端收到命令後,會通過N+1號埠連接伺服器的埠P,然後在兩個埠之間進行數據傳輸。

總的來說,主動模式的FTP是指伺服器主動連接客戶端的數據埠,被動模式的.FTP是指伺服器被動地等待客戶端連接自己的數據埠。

被動模式的FTP通常用在處於防火牆之後的FTP客戶訪問外界FTp伺服器的情況,因為在這種情況下,防火牆通常配置為不允許外界訪問防火牆之後主機,而只允許由防火牆之後的主機發起的連接請求通過。

因此,在這種情況下不能使用主動模式的FTP傳輸,而被動模式的FTP可以良好的工作。

13.編寫個shell腳本將當前目錄下大於10K的文件轉移到/tmp目錄下

Q:主要是考察awk 這些的用法

#/bin/sh

#Programm :

# Using for move currently directory to /tmp

for FileName in `ls -l |awk ‘$5>10240 {print $9}’`

do

mv $FileName /tmp

done

ls -la /tmp

echo “Done! ”

14.apache有幾種工作模式,分別介紹下其特點,並說明什麼情況下採用不同的工作模式?

apache主要有兩種工作模式:prefork(apache的默認安裝模式)和worker(可以在編譯的時候加參數–with-mpm- worker選擇工作模式)

『肆』 誰知道軟體測試工程師筆試linux時,有哪些面試題目

一、請寫出如下功能Linux命令:
1.三種查看server.log的文件內容

linux查看日誌文件內容命令tail、cat、tac、head、echo

詳情:https://www.cnblogs.com/themost/p/7890154.html


2.編輯start.sh文件,查看文件前10行內容和後10行內容

vi start.sh

head -n 10 start.sh 前10行

tail -n 10 start.sh 後10行

3.刪除temp.conf文件

rm -f file.log


4.查看後台所有java進程

[plain]view plain

  • ps-ef|greptomcat

  • 5.結束後台java進程

    不所有進程都可以用「kill+進程編號」結束掉,對於結束不掉的進程可以使用「kill -s 9 進程編號」來進行強制結束;
    但一般情況下,只需要「kill 進程編號」就可結束。


    6.編譯maven項目

  • mvn compile


  • 7.將start.sh文件改為可執行許可權

    chmod u + x filename.sh

    chmod的語法格式如下:chmod [who] [opt] [mode] 文件/目錄名

    其中who表示對象,是以下字母中的一個或組合:
    u:表示文件所有者
    g:表示同組用戶
    o:表示其它用戶
    a:表示所有用戶

    opt則是代表操作,可以為:
    +:添加某個許可權
    -:取消某個許可權
    =:賦予給定的許可權,並取消原有的許可權

    而mode則代表許可權:
    r:可讀
    w:可寫
    x:可執行


    8.啟動jboss服務

    net start JBoss


    9.跨伺服器拷貝文件(怎樣把共享盤的文件拷貝到linux本機里)

    跨伺服器拷貝需要用到的命令是scp.

    ----------------------拷貝文件夾----------------------------------------------

    把當前文件夾tempA拷貝到 目標伺服器10.127.40.25 伺服器的 /tmp/wang/文件夾下

    scp-r /tmp/tempA/[email protected]:/tmp/wang/

    其中wasadmin是目標伺服器的用戶名,執行命令提示輸入密碼,然後輸入密碼即可

    ----------------------拷貝文件----------------------------------------------

    把當前文件tempA.txt拷貝到 目標伺服器10.127.40.25 伺服器的 /tmp/wang/文件夾下

    scp /tmp/[email protected]:/tmp/wang/

    其中wasadmin是目標伺服器的用戶名,執行命令提示輸入密碼,然後輸入密碼即可

『伍』 Linux系統工程師面試題附答案(2)

Linux系統工程師面試題(附答案)

prefork的特點是:(預派生)

1.這種模式可以不必在請求到來時再產生新的進程,從而減小了系統開銷

2.可以防止意外的內存泄漏

3.在伺服器負載下降的時候會自動減少子進程數

worker的特點是:支持混合的多線程多進程的多路處理模塊

如果對於一個高流量的HTTP服務 器,worker MPM是一個比較好的選擇,因為worker MPM佔用的內存要比prefork要小。

15.名詞解釋 HDLC,VTP,OSPF,RIP,DDOS,system V,GNU,netscreen,ssh,smartd,apache,WAIT_TIME 等等。

16.編寫shell腳本獲取本機的網路地址。比如:本機的ip地址是:192.168.100.2/255.255.255.0,那麼它的網路地址是

192.168.100.1/255.255.255.0

方法一:

#!/bin/bash

#This script print ip and network

file=”/etc/sysconfig/network-scripts/ifcfg-eth0″

if [ -f $file ] ;then

IP=`grep “IPADDR” $file|awk -F”=” ‘{ print $2 }’`

MASK=`grep “NETMASK” $file|awk -F”=” ‘{ print $2 }’`

echo “$IP/$MASK”

exit 1

fi

方法二:

#!/bin/bash

#This programm will printf ip/network

#

IP=`ifconfig eth0 |grep ‘inet ‘ |sed ‘s/^.*addr://g’|sed ‘s/ Bcast.*$//g’`

NETMASK=`ifconfig eth0 |grep ‘inet ‘|sed ‘s/^.*Mask://g’`

echo “$IP/$NETMASK”

exit

17.在命令行下發一郵件,發件人:[email protected], 收信人:[email protected]

二、簡述題:

1.linux下如何改IP,主機名,DNS

2.linux下如何添加路由

3.簡述linux下編譯內核的意義與步驟

4.簡述Linux啟動過程

5.簡述DDOS攻擊的原理

6.簡述Tcp三次握手的過程

7.簡述VPN,常見有哪幾種?

三、設計題:

1.系統設計

請考慮以下系統的設計. 您可以翻閱資料,查詢任何您有幫助的資料、指南等。

您有的資源:

8台安裝Linux (2.6內核) 的雙網卡PC伺服器以及相關開源軟體,交換機

Apache 2.2.x

Tomcat 5.5.X

資料庫系統

最多8個Internet IP地址,請您設計一個系統:

1、使用雙apache web server前端;

2、採用AJP連接後段的3台Tomcat應用伺服器,這些tomcat被配置成cluster, 因此需要考慮apache對後端的分配,分配採用完全平衡的方法;配置使用cookie來實現session stickness;

3、1台資料庫伺服器只有tomcat才需要連接,也不需要對Internet提供服務。

4、考慮系統的安全性和維護方便性;

5、通過rewrite規則配置把下屬URL規則改寫成友好的URL

http://server/webapp/getinfo?id=XXXX&name=YYYY –> http://server/getinfo/YYYY/XXXX

您需要提交

1、伺服器規劃,包括:

*網路結構圖

*每台機器的IP地址分配

*每台機器上運行的關鍵軟體

*您從安全性和維護性方面的考慮

2、Apache的以下配置文件給我們:

*extra/http-proxy-ajp.conf

*extra/http-rewrite.conf

2.你可以採取任何設備和不同操 作系統伺服器設計對兩台WWW伺服器和兩台FTP伺服器做負載均衡,用網路拓撲圖表示並加以說明!(方法越多越好)

第一種方法: DNS輪巡

www1 IN A 192.168.1.1

www2 IN A 192.168.1.2

www3 IN A 192.168.1.3

ftp1 IN A 192.1.1.4

ftp2 IN A 192.1.1.5

ftp3 IN A 192.1.1.6

www IN CNAME www1

www IN CNAME www2

www IN CNAME www3

ftp IN CNAME ftp1

ftp IN CNAME ftp2

ftp IN CNAME ftp3

;
熱點內容
速派壓縮比 發布:2025-05-28 02:12:51 瀏覽:62
linux復制到本地 發布:2025-05-28 02:11:13 瀏覽:255
雲伺服器網路類型 發布:2025-05-28 02:10:30 瀏覽:882
伺服器怎麼上鎖 發布:2025-05-28 02:00:11 瀏覽:421
蘋果如何一個密碼一個界面 發布:2025-05-28 01:53:04 瀏覽:382
靜態ip伺服器費用 發布:2025-05-28 01:53:03 瀏覽:429
學校學編程 發布:2025-05-28 01:52:17 瀏覽:258
大數據網管運營數據存儲模式研究 發布:2025-05-28 01:52:17 瀏覽:3
g4660這配置如何 發布:2025-05-28 01:52:17 瀏覽:212
電腦編程課程 發布:2025-05-28 01:39:10 瀏覽:832