總結昨天去面試美工半導體實習崗位的經驗(成功)。
首先,給你一個小時做一份c語言試卷,試卷題量較適中,可以一個小時完成。
接着,是兩個資深engineer拿着你的簡歷及做完的試卷進行面試。
主要還是介紹你簡歷里面做的東西,其次就是看你做的試卷成果怎么樣。
再是,Manager直接過來簡單面試,Manager還是很隨和,人很好。
Mannager只提了簡單的三個問題。
其中一個問題我沒回答上來。
最后是,HR過來直接告訴我面試通過,回去發英文簡歷和中文簡歷給她,需要在美國公司那邊走個流程。
接下來,就我在面試中碰到的問題,一一解答。看到的朋友可以借鑒。
一、數組和鏈表的區別是什么,什么時候用數組什么時候用鏈表?
我在網上查閱的答案如下:
相同點:都是一種數據存儲結構,
不同點:
(1)從邏輯結構來講:
1、數組必須事先定義好長度(元素的個數),不能適應數據的動態進行刪除、增加操作。當數據增加時候,有可能超出數據原先定義的總長度,當數據較少時候,會引起內存浪費;數組可以根據下標進行直接存儲、提取。
2、鏈表進行動態的存儲分配,可以適應數據的動態刪減操作;方便數據項的插入刪除操作。(數組中插入、刪除數據項時候需要移動其他數據項,非常的繁瑣),鏈表必須根據next指針找到下一個元素。
(2)從內存存儲分配來看:
數組從棧中分配存儲空間,對於程序員來說,方便快速,但是自由度小;
鏈表是從堆中分配存儲空間,自由度大,但是申請管理比較麻煩;
從上面來看,如果要快速訪問數據,很少插入刪除元素,就應該用數組;
如果經常插入、刪除元素就需要采用鏈表存儲結構
二、虛擬內存技術是基於什么原理?
虛擬存儲器是由硬件和操作系統自動實現存儲信息調度和管理的。
虛擬內存是基於信息調度的原理。
三、操作系統是通過什么來管理一個進程?
PCB(進程控制塊,progress control block)
PCB是進程存在的唯一標志.
進程控制塊保存進程狀態、進程性質(如優先程度)、與進程有關的控制信息(如參數、信號量和消息等)、相應隊列和現場保護區域等。
進程控制塊隨着進程的建立而產生,隨着進程的完成而撤消,它是操作系統核心中最主要的數據結構之一,它既是進程存在的標志和調度的依據,
又是進程可以被打斷並能恢復運行的基礎。操作系統核心通過PCB管理進程,一般PCB是常駐內存的,尤其是調度信息必須常駐內存。
在操作系統中有許多進程,它們對應着不同的或相同的程序,競爭地使用着系統的資源。進程管理涉及到進程控制、隊列管理和進程調度等。
進程的生命過程從它被創建時開始,直至任務終止而撤消,其間會經歷各種狀態的轉換,它們都是在操作系統控制下完成的。操作系統提供了對進程的基本操作,也稱為原語。
這些原語包括創建原語、阻塞原語、終止原語、優先級原語和調度原語。
進程調度即處理器調度,它的主要功能是確定在什么時候分派處理器,並確定分給哪一個進程。
在分時系統中,一般有一個確定的時間單位(時間片)。當一進程用完一個時間單位時,就發生進程調度,
即讓正在運行的進程改變狀態並轉入就緒隊列的隊尾,再由調度原語將緒隊列的首進程取出,投入運行。
進程調度的方法基本上分為兩類:非剝奪調度與剝奪調度。所謂非剝奪調度是指一旦某個作業或進程占有了處理器,
別的進程就不能把處理器從這個進程手中奪走;相反,如果別的進程可將處理器從這個進程手中奪走則是剝奪調度。
進程調度的算法采用服務於系統目標的策略,對於不同的系統與系統目標,常采用不同的調度算法,如先來先服務、優先數調度和輪轉法等。
四、下列指令中不會改變指令指示器IP的是(A)
A、MOV;B、JMP;C、CALL;D、RET
RET:在這里RET指令的內部操作是:棧頂字單元出棧,其值賦給IP寄存器。
即實現了一個程序的轉移,將棧頂字單元保存的偏移地址作為下一條指令的偏移地址。
CALL:
常見的CPU的CALL指令(“調用”指令)的功能,就是以下兩點:
(1)將下一條指令的所在地址(即當時程序計數器PC的內容)入棧,
(2)並將子程序的起始地址送入PC(於是CPU的下一條指令就會轉去執行子程序JMP:跳轉。
五、順序表中插入一個元素需要移動的元素平均個數為(n+1)/2;
但是我在數據結構的結果:
刪除一個元素需要移動的元素平均個數為(n-1)/2;
六、一個棧的輸入序列為:a、b、c、d、e;則棧的輸出序列不可能為(B、C)
棧是先進后出
A.a、b、c、d、e; (一個輸入接着這個輸出,是有可能的)
B.d、e、c、b、a;(這個不可能)
C.d、c、e、a、b; (這個也不可能)
D.e、d、c、b、a;(這個是可以的)
七、簡述信號量的物理意義
1、系統中可用資源的數目
2、因請求該資源而阻塞的數目
信號量是通過定義好的“互斥”的變量元,來實現進程的同步.
它不但可以使進程實現互斥訪問,而且還能通過信號量本身的數值來反映物理資源數或進程數,以及反映是什么操作.
一個很好的博客,但是還沒來得及看,有時間認真看一下,博客地址如下:http://blog.csdn.net/wxwzy738/article/details/8063632