面試回筆,以示記念(2),中興歸來,前期策略分析

(1)   瞭解一下網件常用策略

已經知道了。

(2)   基本知識點:C語言二級

如何應付筆試啊,面試的基本算法

(3)   常用數據結構的分析

排序,遞歸的用法

先看一下PPT

 

(4)   內存問題

段錯誤,內存泄漏

在編程中以下幾類做法容易導致段錯誤,基本是是錯誤地使用指針引起的:

1)訪問系統數據區,尤其是往系統保護的內存地址寫數據,最常見的就是給一個指針以0地址;

2)內存越界(數組越界,變量類型不一致等) 訪問到不屬於你的內存區域。

 

內存泄漏的排查:

 

(5)   性能優化的問題

 

(6)   路由器原理

 

 

(7)   系統建模

Rose UML

 

 

(8)   轉發流程

指路由器,華爲的了 ma5200

控制層面,轉發層面

 

(9)   簡歷上的東東

讓人信服吧

EPON原理的介紹

(10)華爲交換機的構架與簡要介紹 

(11)組網問題/架構平臺介紹

 

(12)常用專業名詞的解釋

PON技術的介紹,給別人大致解釋一下

 

(13)堆與棧的區別?

C/C++編譯的程序佔用的內存分爲以下幾個部分
1
、棧區(stack) 由編譯器自動分配釋放 ,存放函數的參數值,局部變量的值等。其操作方式類似於數據結構中的棧。
2
、堆區(heap) 一般由程序員分配釋放, 若程序員不釋放,程序結束時可能由OS回收。注意它與數據結構中的堆是兩回事,分配方式倒是類似於鏈表。
3
、全局區(static) 全局變量和靜態變量的存儲是放在一塊的,初始化的全局變量和靜態變量在一塊區域, 未初始化的全局變量和未初始化的靜態變量在相鄰的另一塊區域,程序結束後有系統釋放
4
、文字常量區: 常量字符串就是放在這裏的, 程序結束後由系統釋放。
5
、程序代碼區: 存放函數體的二進制代碼。

 

(14)VXworks操作系統

=====================================================

介紹概念的介紹

實時系統是對外來事件在限定時間內能做出反應的系統。

指標

響應時間  Response Time

生存時間  Survival Time

吞吐量      Throughput

進程問題

=====================================================

在實時計算中,系統的正確性不僅僅依賴於計算的邏輯結果而且依賴於結果產生的時間

對於實時系統來說最重要的要求就是實時操作系統必須有滿足在一個事先定義好的時間限制中對外部或內部的事件進行響應和處理的能力

此外作爲實時操作系統還需要有效的中斷處理能力來處理異步事件和高效的I/O能力來處理有嚴格時間限制的數據收發應用

功能:

任務管理(多任務和基於優先級的任務調度)

任務間同步和通信(信號量和共享內存等)

存儲器優化管理(含ROM的管理)

實時時鐘服務

中斷管理服務

預先分配內存。

在系統構造或編譯時爲每個任務指定其使用的內存空間。這種方法對於硬實時系統來說是很合適的。而且嵌入式實時操作系統很多都是在ROM中運行,僅僅只有需要變化的數據才放在RAM中。這種系統在組成上無疑是靜態的。

虛擬內存

但必須給實時任務提供方法,以便將實時任務“鎖”進內存,也就是系統在管理虛擬內存時,不將“鎖”住的內存塊換出物理內存。

       實時系統的一個任務可有多種狀態,其中最基本的狀態有四種:

    就緒態:任務只等待系統分配CPU資源;

    懸置態:任務需等待某些不可利用的資源而被阻塞;

    休眠態:如果系統不需要某一個任務工作,則這個任務處於休眠狀態;

    延遲態:任務被延遲時所處狀態;

進行任務管理

任務是競爭系統資源的最小運行單元。任務可以使用或等待CPUI/O設備及內存空間等系統資源,並獨立於其它任務,與它們一起併發運行(宏觀上如此)。VxWorks內核使任務能快速共享系統的絕大部分資源,同時有獨立的上下文來控制個別線程的執行。

 

VxWorks實時內核Wind提供了基本的多任務環境,系統內核根據某一調度策略讓它們交替運行。

系統調度器使用任務控制塊的數據結構(簡記爲TCB)來管理任務調度功能。

 

任務控制塊裏面包含了:

當前狀態、優先級、要等待的事件或資源、任務程序碼的起始地址、初始堆棧指針

任務的“上下文”(context)任務的上下文就是當一個執行中的任務被停止時,所要保存的所有信息。通常,上下文就是計算機當前的狀態,也即各個寄存器的內容。 

VxWorks中,內存地址空間不是任務上下文的一部分。所有的代碼運行在同一地址空間。如每一任務需各自的內存空間,需可選產品VxVMI的支持。

 

優先級調度策略:

       基於優先級的搶佔式調度法作爲缺省策略

    這種調度方法爲每個任務指定不同的優先級。沒有處於懸置或休眠態的最高優先級任務將一直運行下去。

    當更高優先級的任務由就緒態進入運行時,系統內核立即保存當前任務的上下文,切換到更高優先級的任務。

    當有內核調用或有中斷到來時,內核重新調度

       同時提供了時間片輪轉調度

內核時間片:

       時間片的長度可由系統調用

KernelTimeSlice(ticks)

  通過輸入參數值來指定。

  ticks0時,時間片調度被關閉

       基於優先級的搶佔式調度可以發生在任何時候,時間片輪轉調度只能在相同優先級的任務間每隔ticks發生一次。

       VxWorks系統中,可以調用函數kernelTimeSlice來使用時間片輪轉調度。

VxWorks任務特性:

所有的代碼運行在同一地址空間。

任務能快速共享系統的絕大部分資源,同時有自己獨立的上下文

所有的任務都運行在特權模式下

 

VxWorks怎樣滿足實時性需求

多任務特性

基於搶佔式多任務調度

快速的任務上下文切換

快速確定的系統響應

高效的任務間通訊機制

 

任務狀態遷移:

任務編程的常見異常分析:

l        1 代碼重入與共享

l        2 符號表的使用

l        3 特殊的任務保護

l        4 任務調度中CPU的佔用

l        5 堆棧越界

l        6 CPU異常

 

冒泡,選擇排序,快速排序

 

 

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