nor flash 和 nand flash的區別:
請闡述udp和tcp的區別:
1 nor_flash是匯流排模式,nand_flash 是io模式,nor_flash_flash具備應用程式直接可以在記憶體執行和儲存功能,但nand_flash只具備儲存功能。
2 nor flash沒有壞塊,nand flash有壞塊,廠家只保證nand flash第一塊沒有壞塊。
3記憶體大小相同的flash,nor flash**比nand flash貴
4 nor flash讀速度比nand flash稍快些,nor flash 寫速度比nand flash快很多
5 nand flash 比 nor flash壽命長
請闡述udp和tcp的區別:
1 都是傳輸層協議
2 tcp: 有連線協議,在通訊的全程保持連續,重發一切錯誤資料,保證資料的正確傳輸,
3 udp:無連線協議,傳送資料時連一下,不保持任何的連線
4tcp效率偏低,佔記憶體比較多
5udp效率較高,佔記憶體少,
程序間通訊的方法:
無名管道(父子程序之間的通訊),
共享記憶體,以系統核心維護的一塊記憶體做媒介,最快的ipc,速度雖然最快,但多程序同時寫時,無法保證資料的正確性。
訊息佇列:資料放入訊息中,訊息放入佇列,訊息分為有型別訊息和無型別訊息,有型別訊息支援任意型別訊息,無型別訊息必須是結構體,訊息佇列應用的最廣泛,訊息佇列由核心建立和維護。
訊號集:訊號量(semaphore)就是乙個計數器,用於控制同時訪問資源的程序總量。
socket程式設計
中斷底半部有哪些機制,各有哪些特點?
1. 軟中斷
2. 基於smp,可以在多個cpu上並行執行,所以,使用的函式要是可重入的
2軟中斷的實現要修改核心的**,進行靜態編譯,無形
提高了軟體設計的複雜度。
3在中斷上下文中,不能進行休眠操作
2tasklet
1基於軟中斷來實現,但是不能在多個cpu上並行的執行
2能夠進行動態的分配
3 在中斷上下文中,不能進行休眠操作
3工作佇列
它工作在程序上下文中,能夠進行休眠
4. 中斷的上半部分和下半部分的問題:
講下分成上半部分和下半部分的原因,為何要分?講下如何實現?
上半部分執行與硬體相關的處理要求快, 而有些驅動在中斷處理程式中又需要完成大量工作,這構成矛盾,所以linux有所謂的bottom half機制,中斷處理程式中所有不要求立即完成的,在開中斷的環境下,由底半程式隨後完成.
linux的底半處理實際上是建立在核心的軟中斷機制上的.
linux 的底半機制主要有tasklet 和 work queue 以及 softirq ( 2.4核心則有bh , task queue , softirq , tasklet 沒有work queue),其實底半可以理解成一種工作的延遲。所以實際使用時跟timer機制基本上乙個意思。
1. linux核心裡面,記憶體申請有哪幾個函式,各自的區別?
kmalloc vmalloc
kmalloc:分配連續的實體地址,如果沒有這麼大的,就是敗了
vmalloc: 分配虛擬位址,在物理上不一定連續
ioremap gpio可以直接訪問核心(物理位址對映虛擬位址)
get_free_page 按頁分配
2. irq和fiq有什麼區別,在cpu裡面是是怎麼做的?
irq 是普通中斷,fiq是快速中斷
不同處是他們的中斷處理函式不同,
fiq 優先
volatile的作用:
於訪問暫存器的速度要快過ram,所以編譯器一般都會作減少訪問外部ram的優化,但有可能會讀髒資料。
乙個定義為volatile的變數是說這變數可能會被意想不到地改變,這樣,編譯器就不會去假設這個變數的值了。精確地說就是,優化器在用到這個變數時必須每次都小心地重新讀取這個變數的值,而不是使用儲存在暫存器裡的備份。
6、關鍵字static的作用是什麼?
這個簡單的問題很少有人能回答完全。在c語言中,關鍵字static有三個明顯的作用:
1)在函式體,乙個被宣告為靜態的變數在這一函式被呼叫過程中維持其值不變。
2) 在模組內(但在函式體外),乙個被宣告為靜態的變數可以被模組內所用函式訪問,但不能被模組外其它函式訪問。它是乙個本地的全域性變數。
3) 在模組內,乙個被宣告為靜態的函式只可被這一模組內的其它函式呼叫。那就是,這個函式被限制在宣告它的模組的本地範圍內使用。
大多數應試者能正確回答第一部分,一部分能正確回答第二部分,同是很少的人能懂得第三部分。這是乙個應試者的嚴重的缺點,因為他顯然不懂得本地化資料和**範圍的好處和重要性。
7、關鍵字const有什麼含意?
6、關鍵字static的作用是什麼?
這個簡單的問題很少有人能回答完全。在c語言中,關鍵字static有三個明顯的作用:
1)在函式體,乙個被宣告為靜態的變數在這一函式被呼叫過程中維持其值不變。
2) 在模組內(但在函式體外),乙個被宣告為靜態的變數可以被模組內所用函式訪問,但不能被模組外其它函式訪問。它是乙個本地的全域性變數。
3) 在模組內,乙個被宣告為靜態的函式只可被這一模組內的其它函式呼叫。那就是,這個函式被限制在宣告它的模組的本地範圍內使用。
大多數應試者能正確回答第一部分,一部分能正確回答第二部分,同是很少的人能懂得第三部分。這是乙個應試者的嚴重的缺點,因為他顯然不懂得本地化資料和**範圍的好處和重要性。
7、關鍵字const有什麼含意?
const意味著"唯讀"就可以了
const int a;
int const a;
const int *a;
int * const a;
int const * a const;
10、什麼是野指標,野指標的產生有哪些情況?
答:記錄無效位址的指標叫做野指標,無法把野指標和正常指標區分開!
1>沒有初始化的指標。
2>位址資料對應的變數已經超過了生命週期。
3>堆中變數被銷毀,指標中仍然記錄他們的位址。
程式設計:從大排到小
void bubble_sort(int value, int size ) }}
演講面試題目
2014陽明演講與辯論協會演講部面試內容 演講試題一 朗讀 1滿江紅2 山月 怒髮衝冠,憑欄處,瀟瀟雨歇在山中午夜松林像海浪抬望眼,仰天長嘯,壯懷激烈月光替松林剪影 三十功名塵與土你笑著說這不是松 八千里路雲和月管它是什麼深遠的黑透明的藍 莫等閒,白了少年頭,空悲切一點點淡青一片片銀白靖康恥,猶未雪...
人事面試題目
1.簡要介紹你自己3 5分鐘 2.請告訴我你最大的優點,請用三到五個詞語表述 3.你將給我們公司帶來的最大財富是什麼?4.你最大的缺點是什麼?5.5年以後,你會發展到什麼程度?6.在你最近的工作中,你做了些什麼,來增加你們企業的營業收入?7.某職位 的一般職責是什麼?8.你認為你工作中的哪些方面是至...
微軟面試題目
智力題1 燒一根不均勻的繩子,從頭燒到尾總共需要1個小時,問如何用燒繩子的方法來確定半小時的時間呢?2 10個海盜搶到了100顆寶石,每一顆都一樣大小且價值連城。他們決定這麼分 1 抽籤決定自己的號碼 1 10 2 首先,由1號提出分配方案,然後大家表決,當且僅當超過半數的人同意時,按照他的方案進行...