六所華盛面試題總結

過度緊張,語言組織能力不行,好多回的東西都回答的不好,,淡定!

1          線程和進程的區別!

       首先每個程序都有一個進程,每個進程都有一個線程!

              線程的劃分尺度小於進程,所以多線程的併發性較高。。

       進城擁有獨立的內存單元,而線程共享內存單元。

總體來講:進程和線程的主要差別在於它們是不同的操作系統資源管理方式。進程有獨立的地址空間,一個進程崩潰後,在保護模式下不會對其它進程產生影響,而線程只是一個進程中的不同執行路徑。線程有自己的堆棧和局部變量,但線程之間沒有單獨的地址空間,一個線程死掉就等於整個進程死掉,所以多進程的程序要比多線程的程序健壯,但在進程切換時,耗費資源較大,效率要差一些。但對於一些要求同時進行並且又要共享某些變量的併發操作,只能用線程,不能用進程。

 

2          數據結構:什麼是平衡二叉樹

數據結構包括:線性表、棧與隊列、串、數組和廣義表、樹和二叉樹、圖、集合(查找表)、內部排序和外部排序、文件。

什麼是平衡二叉樹:

所謂平衡二叉樹是指樹中任一結點的左、右子樹高度大致相同。平衡二叉樹有很多種最著名的是由前蘇聯數學家Adelse—VelskilLandis1962年提出的,稱爲AVL樹。平衡二叉樹(AVL)定義如下:平衡二叉樹或者是一棵空樹,或者是具有以下性質的二叉排序樹:(1)它的左子樹和右子樹的高度之差絕對值不超過1(2)它的左子樹和右子樹都是平衡二叉樹。

3          Linux中查進程的命令

PS – E

4          關於socket

網絡編程中的網絡套接字,可以看做是信封的地址,在套接字的綁定中,IP地址可以看做是樓房的地址,而端口可以看做是門牌號!這方可以實現準確的通信!

網絡的七層模型:

物理層

數據鏈路層

網絡層

傳輸層

會話層

表示層

應用層

服務器端:socket,bind,listen,accept,send,receive,close!基本結構是這樣。這裏難點是關於數據的存儲與使用,小數據的處理,大數據的處理。。需要具體問題去具體分析!~

5          Main函數做了什麼

日常生活中我們都習慣和喜歡將很多打的事情分成小塊去處理,計算機的世界也是一樣,我們將功能分成若干個模塊,而main函數的作用就是將這些細小的模塊整合來完成功能!但是 也有許多程序不需要main函數,就我知道有動態鏈接庫dll文件,它是爲別人提供接口,所以不需要去實現main函數,包括linux 的動態鏈接庫.SO文件。。聽說只能機器人的芯片也不要main函數。。

6          進程間通信

管道,信號,消息隊列,共享內存,信號量,socket

關於管道:Linux命令行模式中,如果命令所需的輸出不是來自鍵盤,而是來自指定的文件,這就是輸入重定向。同理,命令的輸出也可以不顯示在屏幕上,而是寫入到指定文件中,這就是輸出重定向。

要知道利用管道完成從定向問題!

有名管道:將前一個參數的結果給下一個參數使用例如:ps – ef|grep ora_

查看系統進程,然後過濾包含ora_a的進程

匿名管道僅限父子進程間通信,而有名管道可也用語任何的兩個進程間通信!

詳見:

http://blog.csdn.net/wallwind/article/details/6899330

socket:機頂盒必須實現的功能,聯網獲取當前時間。。。

消息隊列:在線升級

信號:機頂盒麼,必須相應遙控器

解決問題的能力:比如實現一個什麼功能

 

7    LinuxGCC編譯都做了什麼?

1         預處理生成.i文件

2         .i文件轉換成爲彙編文件

3         將彙編文件編譯生成.o文件

4         .o文件編譯生成可執行文件。。。gcc功能好強大

 

8        做過的項目:。。

以上是北京六所大廈面試的全部問題!

面試情況 那是相當的爛。。。。

就是淡定要在第一位。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章