蝦皮后端面經


進程與線程的區別
進程是系統資源分配和調度的基本單位,切換進程系統開銷大,線程是cpu分配和調度的基本單位,切換線程系統開銷小,一個進程至少有一個線程,可以有多個線程

 

linux查看進程ps

ps -A:列出所有進程

ps -e:列出所有進程

ps -aux作用:列出所有進程

 

linux殺死進程kill

kill-9操作系統從內核級別強制殺死進程

kill-15操作系統通知進程主動關閉

 

linux修改用戶權限

chmod

 

死鎖

定義:兩個或兩個以上的線程在執行過程中,爭奪共享資源,並且不放棄自己占有的資源

解決:給線程設置不同的優先級,回退等待,按順序加鎖,設置請求鎖的時限,超時就放棄請求並且釋放自己占有的鎖

 

客戶端和服務器

客戶端:為客戶提供本地服務的程序

服務器:網絡中能對其他機器提供服務的計算機系統

 

linux為什么比windows安全

windows用戶量大,容易被攻擊

linux開源,解決漏洞的人多,windows不開源

windows默認管理員權限,一旦被入侵危害范圍大,linux默認非管理員權限,危害范圍小

 

tcp

transmission control protocol傳輸控制協議,工作在傳輸層

ip internet protocol網絡協議,工作在網絡層

tcp:是面向連接,可靠的協議,傳輸之前要經過三次握手,不容易丟失數據,網絡開銷大

udp:是不面向連接,不可靠的協議,不需要對方確認就可以開始傳輸,容易丟失數據,網絡開銷小

三次握手:發送方發送syn,接收方發送ack,syn,發送方發送ack

四次揮手:發送方發送fin,接收方發送ack,接收方發送fin,發送方發送ack

 

http

hypertext transfer protocol超文本傳輸協議,工作在應用層

為什么基於tcp不基於udp,因為打開一個網頁需要傳輸很多數據,tcp提供傳輸控制,按順序組織數據,有錯誤糾正

 

視頻電話用的什么協議

udp,因為視頻電話對實時性要求高,udp傳輸速度快,比較合適

 

如何布置服務器

不會

 

服務器程序崩潰怎么解決

服務器超載:采用輪詢機制,減少中斷,減少上下文切換,擴容

線程死鎖:設置不同的線程優先級,回退等待,按順序加鎖,設置請求鎖時限,超時則放棄請求並且釋放自己占有的鎖

 

數據庫索引類型

單列索引:普通索引:單個列,唯一索引:索引的列的值是唯一的,可以有空值,主鍵索引:索引的列的值是唯一的,不允許有空值

組合索引:多個列

全文索引:字段中是否包含指定的關鍵字,原理是將字段進行分詞

 

主鍵索引和唯一索引

相同:索引的列的值是唯一的

不同:主鍵索引不可以有空值,唯一索引可以有空值

 

慢查詢優化

將字段很多的表分解成多個表

分解關聯查詢

 

忘了寫主鍵索引,但是已經有幾萬條數據,要怎么優化

導出表,清空表,建立索引,導入數據

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM