- 相關(guān)推薦
廣東北電面試題目
在各個(gè)領(lǐng)域,我們都經(jīng)?吹皆囶}的身影,借助試題可以為主辦方提供考生某方面的知識(shí)或技能狀況的信息。什么樣的試題才是好試題呢?下面是小編收集整理的廣東北電面試題目,供大家參考借鑒,希望可以幫助到有需要的朋友。
廣東北電面試題目 1
1. Tranlation (Mandatory)
CDMA venders have worked hard to give CDMA roaming capabilities via the de
velopment of RUIM-essentially, a SIM card for CDMA handsets currently being de
ployed in China for new CDMA operator China Unicom. Korean cellco KTF demonstr
ated earlier this year the ability to roam between GSM and CDMA using such car
ds.However,only the card containing the user’s service data can roam-not the
CDMA handset or the user’s number (except via call forwarding).
2. Programming (Mandatory)
Linked list
a. Implement a linked list for integers,which supports the after (in
sert a node after a specified node) and removeafter (remove the node after a s
pecified node) methods;
b. Implement a method to sort the linked list to descending order.
3. Debugging (Mandatory)
a. For each of the following recursive methods,enter Y in the answer box i
f themethod terminaters (assume i=5), Otherwise enter N.
static int f(int i){
return f(i-1)*f(i-1);
}
Ansewr:
static int f(int i){
if(i==0){return 1;}
else {return f(i-1)*f(i-1);}
}
Ansewr:
static int f(int i){
if(i==0){return 1;}
else {return f(i-1)*f(i-2);}
}
Ansewr:
b. There are two errors in the following JAVA program:
static void g(int i){
if(i==1){return;}
if(i%2==0){g(i/2);return;}
else {g(3*i);return;}
}
please correct them to make sure we can get the printed-out result as belo
w:
3 10 5 16 8 4 2 1
廣東北電面試題目 2
1、你在 __nix 服務(wù)器上登錄后鍵入的前五個(gè)命令是什么?
lsblk 以查看所有的塊設(shè)備信息
who 查看誰登錄到服務(wù)器
top,以了解服務(wù)器上正在運(yùn)行的進(jìn)程
df -khT 以查看服務(wù)器上可用的磁盤容量
以查看哪些 TCP 網(wǎng)絡(luò)連接處于活動(dòng)狀態(tài)
2、如何使進(jìn)程在后臺(tái)運(yùn)行,這樣做的好處是什么?
你可以通過在命令末尾添加特殊字符 & 來使進(jìn)程在后臺(tái)運(yùn)行。通常,執(zhí)行時(shí)間太長(zhǎng)并且不需要用戶交互的應(yīng)用程序可以放到后臺(tái),以便我們可以在終端中繼續(xù)工作。
3、以 root 用戶身份運(yùn)行這些命令是好事還是壞事?
由于兩個(gè)主要問題,以 root 身份運(yùn)行(任何命令)是不好的。第一個(gè)是風(fēng)險(xiǎn)。當(dāng)你以 root 身份登錄時(shí),無法避免你由于粗心大意而犯錯(cuò)。如果你嘗試以帶有潛在危害的方式更改系統(tǒng),則需要使用 sudo,它會(huì)引入一個(gè)暫停(在你輸入密碼時(shí)),以確保你不會(huì)犯錯(cuò)。
第二個(gè)原因是安全。如果你不知道管理員用戶的登錄信息,則系統(tǒng)更難被攻擊。擁有 root 的訪問權(quán)限意味著你已經(jīng)能夠進(jìn)行管理員身份下的一半工作任務(wù)。
4、rm 和 rm -rf 有什么區(qū)別?
rm 命令本身僅刪除指明的文件(而不刪除目錄)。使用 -rf 標(biāo)志,你添加了兩個(gè)附加功能:-r(或等價(jià)的 -R、--recursive)標(biāo)志可以遞歸刪除目錄的內(nèi)容,包括隱藏的文件和子目錄;而 -f(或 --force)標(biāo)志使 rm 忽略不存在的文件,并且從不提示你進(jìn)行確認(rèn)。
5、有一個(gè)大小約為 15GB 的 Compress.tgz 文件。你如何列出其內(nèi)容,以及如何僅提取出特定文件?
要列出文件的內(nèi)容:
tar tf archive.tgz
要提取特定文件:
tar xf archive.tgz filename
有點(diǎn)難度的問題
這是你可能會(huì)遇到的一些較難的問題,以及我的答案:
6、什么是 RAID?什么是 RAID 0、RAID 1、RAID 5、RAID 6 和 RAID 10?
RAID( 廉價(jià)磁盤冗余陣列(Redundant Array of Inexpensive Disks))是一種用于提高數(shù)據(jù)存儲(chǔ)性能和/或可靠性的技術(shù)。RAID 級(jí)別為:
RAID 0:也稱為磁盤條帶化,這是一種分解文件并將數(shù)據(jù)分布在 RAID 組中所有磁盤驅(qū)動(dòng)器上的技術(shù)。它沒有防止磁盤失敗的保障。
RAID 1:一種流行的磁盤子系統(tǒng),通過在兩個(gè)驅(qū)動(dòng)器上寫入相同的數(shù)據(jù)來提高安全性。RAID 1 被稱為鏡像,它不會(huì)提高寫入性能,但讀取性能可能會(huì)提高到每個(gè)磁盤性能的總和。另外,如果一個(gè)驅(qū)動(dòng)器發(fā)生故障,則會(huì)使用第二個(gè)驅(qū)動(dòng)器,發(fā)生故障的驅(qū)動(dòng)器需要手動(dòng)更換。更換后,RAID 控制器會(huì)將可工作的驅(qū)動(dòng)器的內(nèi)容復(fù)制到新驅(qū)動(dòng)器上。
RAID 5:一種磁盤子系統(tǒng),可通過計(jì)算奇偶校驗(yàn)數(shù)據(jù)來提高安全性和提高速度。RAID 5 通過跨三個(gè)或更多驅(qū)動(dòng)器交錯(cuò)數(shù)據(jù)(條帶化)來實(shí)現(xiàn)此目的。在單個(gè)驅(qū)動(dòng)器發(fā)生故障時(shí),后續(xù)讀取可以從分布式奇偶校驗(yàn)計(jì)算出,從而不會(huì)丟失任何數(shù)據(jù)。
RAID 6:通過添加另一個(gè)奇偶校驗(yàn)塊來擴(kuò)展 RAID 5。此級(jí)別至少需要四個(gè)磁盤,并且可以在任何兩個(gè)并發(fā)磁盤故障的情況下繼續(xù)執(zhí)行讀/寫操作。RAID 6 不會(huì)對(duì)讀取操作造成性能損失,但由于與奇偶校驗(yàn)計(jì)算相關(guān)的開銷,因此確實(shí)會(huì)對(duì)寫入操作造成性能損失。
RAID 10:RAID 10 也稱為 RAID 1 + 0,它結(jié)合了磁盤鏡像和磁盤條帶化功能來保護(hù)數(shù)據(jù)。它至少需要四個(gè)磁盤,并且跨鏡像對(duì)對(duì)數(shù)據(jù)進(jìn)行條帶化。只要每個(gè)鏡像對(duì)中的一個(gè)磁盤起作用,就可以檢索數(shù)據(jù)。如果同一鏡像對(duì)中的兩個(gè)磁盤發(fā)生故障,則所有數(shù)據(jù)將丟失,因?yàn)閹^(qū)集中沒有奇偶校驗(yàn)。
7、ping 命令使用哪個(gè)端口?
ping 命令使用 ICMP。具體來說,它使用 ICMP 回顯請(qǐng)求和應(yīng)答包。
ICMP 不使用 UDP 或 TCP 通信服務(wù):相反,它使用原始的 IP 通信服務(wù)。這意味著,ICMP 消息直接承載在 IP 數(shù)據(jù)報(bào)數(shù)據(jù)字段中。
8、路由器和網(wǎng)關(guān)之間有什么區(qū)別?什么是默認(rèn)網(wǎng)關(guān)?
路由器描述的是一種通用技術(shù)功能(第 3 層轉(zhuǎn)發(fā))或用于該目的的硬件設(shè)備,而網(wǎng)關(guān)描述的是本地網(wǎng)段的功能(提供到其他地方的連接性)。你還可以說“將路由器設(shè)置為網(wǎng)關(guān)”。另一個(gè)術(shù)語(yǔ)是“跳”,它描述了子網(wǎng)之間的轉(zhuǎn)發(fā)。
術(shù)語(yǔ)默認(rèn)網(wǎng)關(guān)表示局域網(wǎng)上的路由器,它的責(zé)任是作為對(duì)局域網(wǎng)外部的計(jì)算機(jī)通信的第一個(gè)聯(lián)系點(diǎn)。
9、解釋一下 Linux 的引導(dǎo)過程。
BIOS ->主引導(dǎo)記錄(MBR) ->GRUB ->內(nèi)核 ->初始化 ->運(yùn)行級(jí)
10、服務(wù)器啟動(dòng)時(shí)如何檢查錯(cuò)誤消息?
內(nèi)核消息始終存儲(chǔ)在 kmsg 緩沖區(qū)中,可通過 dmesg 命令查看。
引導(dǎo)出現(xiàn)的問題和錯(cuò)誤要求系統(tǒng)管理員結(jié)合某些特定命令來查看某些重要文件,這些文件不同版本的 Linux 處理方式不同:
/var/log/boot.log 是系統(tǒng)引導(dǎo)日志,其中包含系統(tǒng)引導(dǎo)過程中展開的所有內(nèi)容。
/var/log/messages 存儲(chǔ)全局系統(tǒng)消息,包括系統(tǒng)引導(dǎo)期間記錄的消息。
/var/log/dmesg 包含內(nèi)核環(huán)形緩沖區(qū)信息。
11、符號(hào)鏈接和硬鏈接有什么區(qū)別?
符號(hào)鏈接(軟鏈接)實(shí)際是到原始文件的鏈接,而硬鏈接是原始文件的鏡像副本。如果刪除原始文件,則該軟鏈接就沒有用了,因?yàn)樗赶虻奈募淮嬖诹。如果是硬鏈接,則完全相反。如果刪除原始文件,則硬鏈接仍然包含原始文件中的數(shù)據(jù)。
12、如何更改內(nèi)核參數(shù)?你可能需要調(diào)整哪些內(nèi)核選項(xiàng)?
要在類 Unix 系統(tǒng)中設(shè)置內(nèi)核參數(shù),請(qǐng)首先編輯文件 /etc/sysctl.conf。進(jìn)行更改后,保存文件并運(yùn)行 sysctl -p 命令。此命令使更改永久生效,而無需重新啟動(dòng)計(jì)算機(jī)
13、解釋一下 /proc 文件系統(tǒng)。
/proc 文件系統(tǒng)是虛擬的,并提供有關(guān)內(nèi)核、硬件和正在運(yùn)行的進(jìn)程的詳細(xì)信息。由于 /proc 包含虛擬文件,因此稱為“虛擬文件系統(tǒng)”。這些虛擬文件具有獨(dú)特性。其中大多數(shù)顯示為零字節(jié)。
虛擬文件,例如 /proc/interrupts、/proc/meminfo、/proc/mounts 和 /proc/partitions,提供了系統(tǒng)硬件的最新信息。其他諸如 /proc/filesystems 和 /proc/sys 目錄提供系統(tǒng)配置信息和接口。
14、如何在沒有密碼的情況下以其他用戶身份運(yùn)行腳本?
例如,如果你可以編輯 sudoers 文件(例如 /private/etc/sudoers),則可以使用 visudo 添加以下內(nèi)容:
user1 ALL =(user2)NOPASSWD:/opt/scripts/bin/generate.sh
15、什么是 UID 0 toor 帳戶?是被入侵了么?
toor 用戶是備用的超級(jí)用戶帳戶,其中 toor 是 root 反向拼寫。它預(yù)期與非標(biāo)準(zhǔn) shell 一起使用,因此 root 的默認(rèn) shell 不需要更改。
此用途很重要。這些 shell 不是基本發(fā)行版的一部分,而是從 ports 或軟件包安裝的,它們安裝在 /usr/local/bin 中,默認(rèn)情況下,位于其他文件系統(tǒng)上。如果 root 的 shell 位于 /usr/local/bin 中,并且未掛載包含 /usr/local/bin 的文件系統(tǒng),則 root 無法登錄以解決問題,并且系統(tǒng)管理員必須重新啟動(dòng)進(jìn)入單用戶模式來輸入 shell 程序的路徑。
更難的問題
這是你可能會(huì)遇到的甚至更困難的問題:
16、tracert 如何工作,使用什么協(xié)議?
命令 tracert(或 traceroute,具體取決于操作系統(tǒng))使你可以準(zhǔn)確地看到在連接到最終目的地的連接鏈條中所觸及的路由器。如果你遇到無法連接或無法 ping 通最終目的地的問題,則可以使用 tracert 來幫助你確定連接鏈在何處停止。
通過此信息,你可以聯(lián)系正確的人;無論是你自己的防火墻、ISP、目的地的 ISP 還是中間的某個(gè)位置。 tracert 命令像 ping 一樣使用 ICMP 協(xié)議,但也可以使用 TCP 三步握手的第一步來發(fā)送 SYN 請(qǐng)求以進(jìn)行響應(yīng)。
17、使用 chroot 的主要優(yōu)點(diǎn)是什么?我們何時(shí)以及為什么使用它?在 chroot 環(huán)境中,mount /dev、mount /proc 和 mount /sys 命令的作用是什么?
chroot 環(huán)境的優(yōu)點(diǎn)是文件系統(tǒng)與物理主機(jī)是隔離的,因?yàn)?chroot 在文件系統(tǒng)內(nèi)部有一個(gè)單獨(dú)的文件系統(tǒng)。區(qū)別在于 chroot 使用新創(chuàng)建的根目錄(/)作為其根目錄。
chroot 監(jiān)獄可讓你將進(jìn)程及其子進(jìn)程與系統(tǒng)其余部分隔離。它僅應(yīng)用于不以 root 身份運(yùn)行的`進(jìn)程,因?yàn)?root 用戶可以輕松地脫離監(jiān)獄。
該思路是創(chuàng)建一個(gè)目錄樹,在其中復(fù)制或鏈接運(yùn)行該進(jìn)程所需的所有系統(tǒng)文件。然后,你可以使用 chroot 系統(tǒng)調(diào)用來告訴它根目錄現(xiàn)在位于此新樹的基點(diǎn)上,然后啟動(dòng)在該 chroot 環(huán)境中運(yùn)行的進(jìn)程。由于該命令因此而無法引用修改后的根目錄之外的路徑,因此它無法在這些位置上執(zhí)行惡意操作(讀取、寫入等)。
18、如何保護(hù)你的系統(tǒng)免遭黑客攻擊?
遵循最低特權(quán)原則和這些做法:
使用公鑰加密,它可提供出色的安全性。
增強(qiáng)密碼復(fù)雜性。
了解為什么要對(duì)上述規(guī)則設(shè)置例外。
定期檢查你的例外情況。
讓具體的人對(duì)失敗負(fù)責(zé)。(它使你保持警惕。)
19、什么是 LVM,使用 LVM 有什么好處?
LVM(邏輯卷管理)是一種存儲(chǔ)設(shè)備管理技術(shù),該技術(shù)使用戶能夠合并和抽象化組件存儲(chǔ)設(shè)備的物理布局,從而可以更輕松、靈活地進(jìn)行管理。使用設(shè)備映射器的 Linux 內(nèi)核框架,當(dāng)前迭代(LVM2)可用于將現(xiàn)有存儲(chǔ)設(shè)備收集到組中,并根據(jù)需要從組合的空間分配邏輯單元。
20、什么是粘性端口?
粘性端口是網(wǎng)絡(luò)管理員最好的朋友,也是最頭痛的事情之一。它們?cè)试S你設(shè)置網(wǎng)絡(luò),以便通過將交換機(jī)上的每個(gè)端口鎖定到特定的 MAC 地址,僅允許一臺(tái)(或你指定的數(shù)字)計(jì)算機(jī)在該端口上進(jìn)行連接。
21、解釋一下端口轉(zhuǎn)發(fā)?
嘗試與安全的網(wǎng)絡(luò)內(nèi)部的系統(tǒng)進(jìn)行通信時(shí),從外部進(jìn)行通信可能非常困難,這是很顯然的。因此,在路由器本身或其他連接管理設(shè)備中使用端口轉(zhuǎn)發(fā)表可以使特定流量自動(dòng)轉(zhuǎn)發(fā)到特定目的地。例如,如果你的網(wǎng)絡(luò)上運(yùn)行著一臺(tái) Web 服務(wù)器,并且想從外部授予對(duì)該服務(wù)器的訪問權(quán)限,則可以將端口轉(zhuǎn)發(fā)設(shè)置為該服務(wù)器上的端口 80。這意味著在 Web 瀏覽器中輸入你的(外網(wǎng))IP 地址的任何人都將立即連接到該服務(wù)器的網(wǎng)站。
請(qǐng)注意,通常不建議允許從你的網(wǎng)絡(luò)外部直接訪問服務(wù)器。
22、對(duì)于 IDS,誤報(bào)和漏報(bào)是什么?
當(dāng)入侵檢測(cè)系統(tǒng)(IDS)設(shè)備為實(shí)際上沒有發(fā)生的入侵生成警報(bào)時(shí),這是 誤報(bào)(假陽(yáng)性)(false positive)。如果設(shè)備未生成任何警報(bào),而入侵實(shí)際上已發(fā)生,則為 漏報(bào)(假陰性)。
23、解釋一下 :(){ :|:&; };:,如果已經(jīng)登錄系統(tǒng),如何停止此代碼?
這是一枚復(fù)刻炸彈。它分解如下:
:() 定義了函數(shù),以 : 作為函數(shù)名,并且空括號(hào)表示它不接受任何參數(shù)。
{} 是函數(shù)定義的開始和結(jié)束。
:|: 將函數(shù) : 的副本加載到內(nèi)存中,并將其輸出通過管道傳遞給函數(shù) : 的另一個(gè)副本,該副本也必須加載到內(nèi)存中。
。 使前一個(gè)命令行成為后臺(tái)進(jìn)程,因此即使父進(jìn)程被自動(dòng)殺死,子進(jìn)程也不會(huì)被殺死。
: 執(zhí)行該函數(shù),因此連鎖反應(yīng)開始。
保護(hù)多用戶系統(tǒng)的最佳方法是使用特權(quán)訪問管理(PAM)來限制用戶可以使用的進(jìn)程數(shù)。
復(fù)刻炸彈的最大問題是它發(fā)起了太多進(jìn)程。因此,如果你已經(jīng)登錄系統(tǒng),我們有兩種嘗試解決此問題的方法。一種選擇是執(zhí)行一個(gè) SIGSTOP 命令來停止進(jìn)程,例如:
killall -STOP -u user1
如果由于占用了所有進(jìn)程而無法使用命令行,則必須使用 exec 強(qiáng)制其運(yùn)行:
exec killall -STOP -u user1
對(duì)于復(fù)刻炸彈,最好的選擇是防患于未然。
24、什么是 OOM 殺手,它如何決定首先殺死哪個(gè)進(jìn)程?
如果內(nèi)存被進(jìn)程徹底耗盡,可能會(huì)威脅到系統(tǒng)的穩(wěn)定性,那么 內(nèi)存不足(out of memory)(OOM)殺手就登場(chǎng)了。
OOM 殺手首先必須選擇要?dú)⑺赖淖罴堰M(jìn)程。最佳在這里指的是在被殺死時(shí)將釋放最大內(nèi)存的進(jìn)程,并且對(duì)系統(tǒng)來說最不重要。主要目標(biāo)是殺死最少數(shù)量的進(jìn)程,以最大程度地減少造成的損害,同時(shí)最大化釋放的內(nèi)存量。
為了實(shí)現(xiàn)此目標(biāo),內(nèi)核為每個(gè)進(jìn)程維護(hù)一個(gè) oom_score。你可以在 /proc 文件系統(tǒng)中的 pid 目錄下的看到每個(gè)進(jìn)程的 oom_score:
$ cat /proc/10292/oom_score
任何進(jìn)程的 oom_score 值越高,在內(nèi)存不足的情況下被 OOM 殺手殺死的可能性就越高。
【廣東北電面試題目】相關(guān)文章:
廣東北電面試題目09-04
廣東北電筆試題目08-30
名企面試試題——廣東北電08-29
廣東北電試題03-26
記廣東北電筆試06-20
廣東北電(nortel)筆試題10-02
[ZT]北電面試10-23
名企面試試題程序設(shè)計(jì)(廣東北電)08-12
總結(jié)-北電面試歸來06-12