別慌,我還要800多道題目。我想進大公司啊!難耐實力還沒到必定程度,哎! php
Linux面試(三)上html
1 服務器的linux系統是什麼版 ?mysql
答:CentOS 6.6,RHEL 6.4。 用cat /etc/rehat-release或者uname -a或者lsb_release -a再或者cat /etc/issuelinux
2 linux你作過那些優化?ios
答:(1)sysctl -w優化內核參數好比TCP鏈接超時net.ipv4.tcp_fin_timeout=30nginx
(2)服務器硬件自己的優化,使用固態硬盤或者RAID陣列提升磁盤尋道能力,web
(3)使用最小化安裝或者源碼包編譯安裝,寫一鍵安裝腳本面試
(4)對某個具體服務的配置文件的參數優化,好比my.cnf的socket=/tmp/mysql.sock,buffer_size,wait_timeout正則表達式
(5)作負載均衡和keepalived主備切換算法
(6)禁用開機沒必要要的服務
3 在linux上部署過那些服務
答:不少。kickstart、rsync+inotify、NFS、LAMP、LNMP、FTP、DNS、Samba、DHCP、Nagios、Cacti,等等
4 你怎樣用nagios作的監控,監控什麼?
答:首先使用yum源安裝nagios所需的組件如apache、gcc、glibc、gd庫等,在服務端源碼包安裝nagios主程序,groupadd nagios,useradd -g nagios nagios, /configrure --prefix=/usr/local/nagios,而後make all,make install,make install-init,make install-config ,make install-webconf,。主程序安裝完畢後,安裝插件。而後身份驗證htpasswd -c /usr/local/nagios/etc/htpasswd.user admin。nagios實現監控的方式有SNMP、NSClient++、NRPE,重啓apache和nagios服務後。在瀏覽器登入http://IP地址/nagios, 監控的東西有主機的存活狀態、CPU的使用率、負載、磁盤IO量、swap進出量、MySQL主從複製狀態、LVS的VIP以及網絡流量情況
*5 用cacti怎樣對網絡進行監控?之前公司的狀況(問具體的數字)?
答:須要安裝工具rrd-tool存儲數據經過web界面以圖表形式返回給用戶,它主要經過SNMP採集數據來監控流量。
6 你怎樣查看日誌?查什麼內容?
答:(1)查看服務的訪問日誌,用awk統計訪問IP地址的次數,檢測是否有惡意訪問
(2)當服務不能正常運行,首先先查看服務的錯誤日誌error_log,而後查看系統全部日誌信息/var/log/messages,最後查看/etc/syslogd.conf系統日誌的配置文件。
(3)還能查看/var/log/wtmp記錄登入者的信息, 以及lastlog文件記錄登入者的時間信息和終端
*7 安裝PHP以後,你作了那些優化?
答: (1)PHP 腳本若是不作緩衝,每次調用都須要編譯,所以,安裝一個 PHP 緩衝產品能提高 25-100% 的性能。
(2)編譯 PHP 時,建議採用以下的參數: --enable-inline-optimization --disable-debug
(3)把基於文件的會話切換到基於共享內存的會話。編譯 PHP 時採用 --with-mm 選項,在 php.ini 中設置 set session.save_handler=mm 。這個簡單的修改能讓會話管理時間縮短一半。
8 會用shell嗎?都用shell作什麼? (這個問題問的機率很大)
答:答:批量幹什麼事情、備份什麼東西、監控什麼什麼。
(1)監控磁盤分區、CPU、內存使用率達到什麼程度後就郵件報警mail -s
(2)用wget、curl判斷服務狀態是否OK,判斷進程、端口是否存在
9 你對apache作了那些優化? (LAMP的優化是重點)
答:(1)在httpd.conf 設置HostnameLookups off
(2)修改 httpd.conf 中的 SendBufferSize 爲最大的頁面文件的大小。加大內核的 TCP/IP 寫緩衝大小。
(3)動態頁面轉靜態頁面
(4)使用CDN內容分發網絡,提升站點訪問效率
(5)擴充硬件,使用nginx+apache的負載均衡方式。
10 mysql你都修改了那些配置文件來進行優化(問配置文件中具體修改的內容)?
答:vi /etc/my.cnf,參數有skip-external-locking,key_buffer_size=384M,max_connetions=768,table_cache=1024,wait_timeout=10等等
11 用到的什麼架構?用什麼語言寫的,(jsp?asp?php?)畫一下架構圖並簡要介紹一下大家公司的架構。
答:2臺LVS+keepalived————>4臺nginx————>一大堆應用服務器(httpd、DNS、email等)————>MySQL主從
12 查看正在運行的端口用什麼命令?
答:netstat -tulpn
13 用正則表達式作域名排序:n個http://www.sina.com/mail 讓把www.sina.com提出來倒着排序,
答:awk -F "/" '{print $3}'|sort |uniq -c |sort -nr
14 監控會麼?大家公司對幾臺服務器作了監控,監控了哪些服務?若是給你50臺服務器,讓你監控全部服務器的80端口具體怎麼作
答:nagios、zabbix,服務端安裝完畢後,加入客戶端響應的配置信息文件
15 rsync遠程鏈接的時候受控端的驗證怎麼作?
答:客戶端也要裝rsync,在rsync.passwd中寫入密碼,跟服務端的同樣,在/usr/local/rsync/建立rsync.conf文件
16 shell腳本會麼?會哪些編程語言?你要說你會shell腳本,問你寫過什麼腳本?
答:...
17 raid0 raid1 raid5工做原理有什麼區別?大家用的哪一種?
答:raid0:將所有數據分散在全部磁盤上,利用率爲100%,沒有容錯能力,最少須要2塊磁盤;
raid1 :利用鏡像功能,每份數據都複製一份在磁盤上,最少須要2塊磁盤,利用率爲50%,讀性能優異,具備冗餘能力,可是成本過高
raid5:最少須要3塊磁盤,其中2塊存放數據,第3塊存放奇偶校驗碼,當其中一塊磁盤上數據丟失後,可以經過校驗碼來恢復數據,全部具備良好的容錯能力
1八、lvs有哪三種?大家用的哪一種?這種集羣有什麼優點?也就是和其餘兩種的對比分析下差別。apache熟悉麼?模塊知道什麼如何優化?nginx怎麼把來自80端口的請求交給8080?
答:(1)NAT:當調度器收到一個數據包,其中源IP地址是客戶端IP地址,目的IP地址是VIP,通過調度器就把目的IP地址替換成真實服務器的IP地址,根據某種調度算法,把請求交給後端的某臺服務器,服務器處理後,進行應帶數據包,該數據包的格式爲源IP地址是RIP,目的IP是調度器出接口的IP,再次返回到調度器的時候,根據緩存的映射關係,將目的IP替換爲客戶端的IP。那麼這種優點在於,既支持linux操做系統又支持windows操做系統,缺點是,調度器容易成爲瓶頸。
(2)DR:稱爲直接路由模式,要求調度器和後端服務器共享VIP,當調度器收到請求數據包的時候,發出ARP請求,替換目的MAC地址交給後端的服務器處理,處理完畢,直接返回給客戶端,而不通過調度器,那麼從而較少了系統開銷,調度器能處理更多的併發請求。
(3)隧道模式:將私有IP地址進行封裝,外部是公有IP,要求後端服務器支持隧道協議,並且也是不通過調度器。
apache模塊優化:註釋掉一些不須要用的模塊
端口轉換:echo 1 >/proc/sys/net/ipv4/ip_forward ,iptables -t nat -A PREROUTING -s [源IP] -p tcp --dport 80 -j REDIRECT --to-port 8080
19 memcache工做的時候用到過麼?什麼命令清理緩存?
答:flush_all,做用大概是第一次從硬盤中讀取數據,最後將結果放入內存中,下次訪問網站的時候,效率就很高,不少公司都這樣幹
20 iptables幾個表
答:四表五鏈,表:netfilter nat mangle raw 鏈:PREROUTING INPUT FORWARD OUTPUT POSTROUTING
21 iptables熟練麼?簡單的規則懂麼?有幾個表幾個鏈?
答:規則舉例:iptables -t nat -L ,iptables -F ,iptable -D INPUT 1,iptables -p INPUT DROP //若是沒有明確說明,默認拒絕INPUT鏈上的規則
22 SecureCRT如何操做時防斷線
答:斷線的緣由有:(1)觸碰了網線(2)物理主機關機或者休眠(3)網絡擁塞致使斷線(4)誤操做reboot或者service network stop(5)iptables幹掉了SSH會話
23 apache怎麼調優?
答:(1)動態頁面轉靜態頁面
(2)httpd.conf中HostnameLookups off
(3)httpd.conf中SendBufferSize的大小爲最大頁面大小,加大TCP/IP內核寫緩存大小
(4)使用CDN內容分發網絡,提供站點的訪問效率
(5)擴充硬件,使用nginx+apache負載均衡方式
24 用過什麼監控工具?
答:glances/cacti/nagios/zabbix
25 nagios怎麼同時監控80臺服務器的狀態?
答:每臺服務器安裝nagios客戶端,nagios-plugin和nrpe,Nagios服務端寫入配置文件。
26 大家公司的架構是什麼樣的?怎麼作的cdn
答:CDN(內容分發網絡)是個邊緣網絡,距離用戶最近部署站點,從而提升網站的訪問效率。知道的就這麼多,反正這是個大工程。
27 對日誌都作過哪些操做?用什麼作的?
答:排錯啊,重要日誌有/var/log/message,以及/var/log/lastlogs,配置文件/etc/syslogd.conf,還有不少訪問日誌和服務日誌用於統計和排錯使用
28 作過哪些調優?
答:調優很差辦,慢慢研究
29 會用哪些編程語言,寫過什麼shell腳本?
答:略
30 memcache怎麼清理緩存
答:telnet localhost 11211 而後flush_all
31 linux基本服務的配置都會吧?
答:不要文檔還真不行
32 linux apache mysql調優
答:重難點,好說很差作。
33 畫出本身公司的架構圖
答:略
34 apache的MPM
答:都說爛了。
35 給出一套網遊架構 分析優缺點(從架構設計、維護成本、數據與備份)
答:C/S架構
36 exchange都作過什麼?
答:這是據說微軟開發的郵件服務器,沒時間學
37 lvs 的模式和算法 ?
答:模式:DR、NAT、tunnel 算法:有11種之多,常見4種,輪詢、加權輪詢、最少鏈接、加權最少鏈接(將請求交給已經創建鏈接數較少的服務器上)
38 postfix工做原理
答:不瞭解。流程:接收郵件、將郵件排入隊列、遞送郵件
39 你對lvs 掌握到什麼程度?
答:3大模式原理理解,四種調度算法瞭解,配置不夠熟悉。
40 iptable會嗎?都作過什麼?
答:(1)第一次部署虛擬機web服務器,須要開放80端口,iptable -t filter -A INPUT -p tcp --dport 80 -j ACCEPT,而後保存
(2)squid部署透明代理的時候須要設置:iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3218
iptables -t nat -A POSTROUTING -o eth1 -p tcp -j MASQUERADE
41 你說一下linux 的啓動流程 (50%機率要考,再複習一遍)
答:(1)BIOS加電自檢,決定從網絡、硬盤或者USB、光盤等方式啓動
(2)讀取MBR,加載bootloader,出現grub菜單,加載內核
(3)啓動第一個進程即init進程,讀取/etc/inittab,決定從哪一個運行級別啓動
(4)偵測硬件,加載驅動程序,執行/etc/rc.sysint系統初始化,好比網絡、時區等
(5)運行一些某個級別下開機自啓服務,啓動內核模塊
(6)讀取/etc/rc.local,執行開機運行腳本
(7)miggety程序運行/bin/login,出現用戶登陸界面,通過身份認證後,用戶方可以使用操做系統
42 nagios報警值 (這個問題,我真的被問過,估計還要問監控啥東西)
答:(1)、返回的狀態值爲0,表示OK,沒有異常。
(2)、返回的狀態值爲1,表示WARNING,會觸發WARNING報警。
(3)、返回的狀態值爲2,表示CRITICAL,會觸發CRITICAL報警。
(4)、返回狀態爲3,表示UNKNOWN。
43 你平時都幹什麼?
答:10小時分段學習,8—9小時睡眠,剩下的時間玩手機、吃飯、瞎逛思考人生(誰叫我單身狗呢,嚶嚶嚶!)。
44 前臺和後臺的進程怎麼殺掉?
答:前臺進程:當即終止ctrl+C,kill -9 【進程PID】或者pkill -9 【進程名】
後臺進程:用jobs -l查看有哪些後臺進程?會有PID顯示,而後再用kill -9 PID
##前臺轉後臺,按下ctrl+Z,輸入bg,輸入disown,最後exit 後臺轉前臺:fg %工做號 ,其中工做號能夠用jobs -l查看,工做號不是PID
45 服務器宕機瞭如何處理?(重要,也很差回答)
答:緣由:因爲用戶訪問量過大,形成資源耗盡,或者你網站的數據超出你的空間限制範圍大小也會出現宕機,最後就是遭遇***。
辦法:(1)重啓,若是reboot不靈的話,如果在機房,通常只能按機箱上的reset健來重啓,若是遠程登陸,echo 1 > /proc/sys/kernel/sysrq echo b > /proc/sysrq-trigger
(2)先用其餘服務器承擔一段時間業務,而後對故障機是該更換硬件了
(3)另外這種狀況,原本就很差解決,當即通知最有豐富經驗的人來解決,以避免本身耽擱時間。
46 你對小型機瞭解嗎
答:過期了
47 遇到故障如何排除?舉一個例子; (呵,這玩意80%又要問啊,要熟記)
答:(1)root用戶忘記密碼:進入單用戶模式,passwd rooot更改密碼;
(2)grub文件損壞,進入linux rescue 模式,chroot sysp_w_picpath,從新gurbinstall
(3)服務不能正常運行,首先測試故障所處範圍,而後查看系統日誌,最後查看服務日誌,逐步排錯
(4)命令丟失:在另外一臺主機上,用rpm -qf 找到對應命令安裝包,而後用scp命令遠程拷貝過來,再進行安裝,並移至相應位置
(5)網站響應極慢:檢查是否是客戶端網絡擁塞問題,若是不是再定位到服務端,系統負載過大,查看什麼進程佔用了較大負載,或者說咱們服務的配置自己有問題,應對不了大併發鏈接,創建先要ab或者httperf測試一下併發量,再去琢磨修改,而後PHP響應慢,多是SQL代碼查詢效率過低,該刪的要刪,最後是MySQL響應慢問題,多是磁盤IO性能很差,先換換硬件,好比固態硬盤和RAID陣列,也有多是配置文件沒有作好優化措施。
##top命令, 鍵入M能夠達到之內存佔用率大小順序排列,鍵入P能夠達到以CPU使用率順序排序
(3)服務不可以正常運行,(1)先
48 會不會編寫腳本
答:略
49 會不會部署squid
答:看來是重點啊
50 遊戲架構瞭解多少
答:P2P結構、C/S結構、會話大廳結構 參考文檔:http://www.cnblogs.com/kanego/articles/2171009.html
服務器的運行流程以下:
(1)建立一個套接字,綁定IP和端口。
(2)服務器監聽端口,等待鏈接。建立一個遊戲大廳。
(3)服務器處於等待狀態,所以須要兩個進程/線程在服務器端運行:一個界面線程,處理遊戲菜單操做;一個網絡線程,等待鏈接。
(4)在每一個客戶端建立一個Socket,鏈接遊戲服務器。
(5)服務器更新鏈接信息,並在遊戲大廳上顯示。同時,將鏈接用戶信息發送給每一個鏈接用戶。
(6)當全部的用戶都鏈接到服務器上開始遊戲,關閉服務器偵聽的套接字,中斷全部等待的鏈接,新的用戶將不可能鏈接上服務器。
51 怎麼樣測試網站最大流量?
答:使用jmeter工具,得出每條訪問請求數throughoutput,再推算出日均訪問量。
52 會不會安裝系統
答:會,有時候一臺虛擬機不能知足須要測試,須要多裝幾臺,過一段時間,刪除系統,從新裝系統和服務,增強熟悉
53 linux怎麼調優的
答:太多了,四個角度入手。硬件、軟件編譯安裝、服務配置文件、底層內核參數
54 之前有多少臺服務器
答:小公司:500臺;中型公司:2000臺 大型公司:1W臺
55 之前公司的pv多少
答:PV就是page view的意思,頁面訪問量,像阿里這種天天應該千萬級別吧
56 apache mpm 區別
答:略
57 用過什麼負載均衡
答:對於服務器來講,硬件:F5 BIG-IP; 軟件:nginx負載均衡,HAproxy,LVS+Keepalived
58 作負載均衡 真實服務器ABC 用戶訪問A而且上傳了圖片在A服務器,下次負載到B,B沒有圖標,用戶怎麼請求圖片
答:這是一個負載均衡同步問題。仍是老樣子,部署rsync+inotify或者在A服務器部署NFS,進行共享。其實我想B服務器能不能有一個指向A服務器資源的連接,可是呢。這樣就沒有負載均衡的效果了,因此我想反向代理行不行,當B找不到對應的資源的時候,就去向A請求。
59 用什麼監控?
答:Cacti監控流量、Nagios監控服務
60 編寫過腳本嗎?(必定要說出有點水平的腳原本,瞎吹也行)
答:(1)nginx日誌切割(2)rsycn的服務端的同步腳本(3)還有nagios監控腳本 ;批量幹啥玩意、備份啥玩意、監控啥玩意
61 ospf相比rip的優勢
答:OSPF:(1)收斂速度快(2)適合大中型網絡(3)劃分區域提升了它的可管理性(4)優良的防環機制(5)即支持明文認證,有支持密文認證(6)支持等價負載均衡 (我研究的領域側重點已經不是網絡了,否則我能說出一大堆來,嘻嘻)
62 進程和線程的區別 (最喜歡考這個了)
答:(1)線程是CPU調度的基本單位,而進程是CPU分配的基本單位(2)一個進程中含有多個線程,線程之間共享地址空間,從而提升它的訪問效率,而每一個進程獨佔資源(3)相比進程而言,線程是一個更切近執行體的概念。(3)線程常常用在對稱多處理技術上,線程之間通訊快,切換速度也快。
63 squid 配置過嗎?
答:跟大多數緩存原理相同,若是有則...若是沒有....
64 存儲瞭解嗎 ?
答:SAN和NAS
65 apache 的keepalive是作什的?
答:保持長鏈接,避免不斷的創建和終止TCP鏈接增大系統開銷。
66 lvs有哪些模式?大家原來用什麼模式
答:略
67 你瞭解dr 原理嗎?
答:DR稱爲直接路由模式。後臺服務器共享VIP地址,當調度器收到一個請求數據包的時候,根據某種調度算法,將請求交給後端某臺服務器來處理,同時更改數據的目的MAC地址,發出ARP請求,可是不做出ARP應答,服務器處理完請求,封裝應答包的時候,不通過調度器,直接返回給客戶端,從而提升了系統效率,調度器能處理更多的併發鏈接。
68 兩臺directory數據怎麼共享存儲
答:(1)rsync+inotify實時同步(2)後端連一臺NFS,可是不夠安全(3)
69 說說你在之前公司的主要職責是什麼(這玩意估計常常考)
答:(1)保證機房物理上的安全,路由器、交換機、服務器及我的PC正常運做(2)對操做系統防漏洞、防***、使用權限、密鑰管理等(3)對服務的安裝配置、排障、權限授予以及身份驗證(4)對用戶進行操做培訓教育(5)編寫完善的運營維護技術文檔(6)數據備份以及災難恢復等。
70 之前使用過什麼架構
答:無非就是2臺LVS+keepalived,4臺nginx,一大堆應用服務器,後臺2臺MySQL主從
71 之前用什麼監控網絡流量,網絡流量大概是多少。
答:Cacti監控流量
72 畫一下大家公司的服務器架構
答:略
73 大家公司運維人員有幾個
答:通常中型公司,怎麼也得2000+臺服務器吧,估計至少20人。
74 大家是怎麼作的服務器的高可用?
答:所謂高可用就是保證服務器的在線處理能力,一臺掛掉以後,另外一臺可以迅速接替,使用keepalived主備切換。
75 問我作高可用的兩臺服務器是用什麼線連在一塊兒的。
答:雙絞線,準確來講交叉線
76 對raid瞭解嗎?
略
77 大家用的什麼服務器
。。。
78 對nas瞭解嗎?
答:NAS(Network Attached Storage:網絡附屬存儲),它是一種數據存儲服務器。容許用戶在網絡上存取數據,NAS設備集中管理和處理網絡上的全部數據
##SAN 和NAS的區別:
(1)SAN是一種網絡,NAS產品是一個專有文件服務器或一個只讀文件訪問設備。
(2)SAN是在服務器和存儲器之間用做I/O路徑的專用網絡。
(3)SAN包括面向塊(iSCSI)和麪向文件(NAS)的存儲產品。
(4)NAS產品能經過SAN鏈接到存儲設備
79 會源碼編譯嗎?
答: ./configure檢驗gcc,配置環境 make編譯 make install安裝
80 你以爲你如今的技術在那個層次?內核的編譯,系統參數的調優。
答:4-5個月linux基礎,我目前所處初級運維工程師到中級運維工程師過渡的階段。
81 服務器的linux系統是什麼版
答:用cat /etc/rehat-release或者uname -a 或者cat /etc/issue,用file /bin/ls
82 linux你作過那些優化
答:通常來講,從三個大方向:硬件、服務編譯安裝、配置文件入手
83 在linux上部署過那些服務
答:rsync+inotify、kickstart、LAMP、nginx、FTP、DNS、Samba、DHCP、Nagios、Cacti,等等
84 apache使用的版本
答:2.2 ,能夠用rpm -q httpd 查看,源碼包的話使用/usr/local/apache2/bin/apachectl -V
85 apache使用的工做模式
答:prefork和worker
86 apache的主配置文件以及虛擬主機的配置文件
答:/etc/httpd/conf/httpd.conf。虛擬主機vi /etc/httpd/conf.d/vhosts.conf
87 端口轉發80 轉到8080
答:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 ##其實就能夠理解爲從80端口接收請求數據包,從8080端口發出應答數據包
88 內核編譯命令?(你編譯過內核嗎,這個問題可能會被問)
答:make menuconfig ##參考文檔:http://blog.csdn.net/xiaocainiaoshangxiao/article/details/21931801
89 把某文件夾下小於10k的文件移動到tmp文件夾下
答:find 某文件夾/ -10k -a type f -exec mv {} /tmp \;
90 iptable保存 恢復
答:service iptables save,service iptables restart
91 httpd配置文件位置
答:(1)源碼包安裝:/usr/local/apache2/conf/httpd.conf (2)二進制包安裝:/etc/httpd/conf/httpd.conf
92 rsync的使用?
答:一般結合inotify監控工具,達到實時同步的效果
93 cp和mv的區別?
答:(1)就文件來講,cp 在產生新文件的同時,原文件不變,而mv會移走原文件到指定位置(2)就更名來講,mv 直接將該文件更名,不會產生新的文件,而cp 使原文件名不變,同時產生新文件,並更名
94 postfix郵件發不出去的緣由?
答:(1)域名解析問題(2)由於網關或者其餘緣由形成的網絡不通(3)郵件服務器不正常 (4)selinux問題
95 郵件發不出去的解決辦法?
答:(1)域名解析問題:/etc/hosts(2)由於網關或者其餘緣由形成的網絡不通:路由交換,逐點ping來排錯(3)郵件服務器不正常:看日誌 (4)selinux問題:禁用,vi /etc/sysconfig/selinux,selinux=disabled
96 smtp的端口
答:25
97 以前使用的操做系統版本
答:redhat 6.4 ,CentOS 6.6
98 是否會用freebsd?
答:只知道是Unix,操做手段略有不一樣
99 以前工做中所遇到的重大事故及解決辦法
答:通常是誤操做把某些數據給刪了,災難恢復很難辦;或者遭遇網絡***,手足無措
100 是否會部署緩存DNS ?
答:(1)緩存服務器主機安裝yum -y install bind caching-nameserver, cd /etc, cp –p named.caching-nameserver.conf named.conf ##-p保持屬性不變。vi named.conf ,view localhost_resolver {match-clients { any; }; match-destinations { any; };
(2)在主域名服務器上vi /var/named/test.com.zone ,添加localhost.localdomain. IN A 【緩存服務器的IP地址】