應聘準備資料 逐步更新

2021-05-27 22:40:44 字數 2770 閱讀 2148

1.交換兩個值的大小

a.  a=a+b ;  b = a-b;  a = a-b;      b. a = a*b;  b = a/b;  a = a/b     c. a = a^b;   b = a^b;  a = a^b

2.int func(x)

return countx;

}假定x = 9999. 答案:8思路:將x轉化為2進製,看含有的1的個數。

3.const int* c=new int;

int * e = c ;  出錯,指標不能指向乙個常量,在這裡c所指向的值不能改變

int* const c=new int;

int * e = c ; 正確

4.#include

union

a;void main()

5.string的實現(雖然簡單,但要注意細節)

class string

;string::string(const char *str)

else

}string::string(const string &another)

string& string::operator =(const string &rhs)

string::~string()

6.作業系統的組成(一道讓我誤解的題目)

(1)對cpu的使用進行管理的程序排程程式

(2)對記憶體分配進行管理的記憶體管理程式

(3)對輸入輸出裝置進行管理的裝置驅動程式

(4)對外存中資訊進行管理的檔案系統

7.ping是否可以檢視埠21是否可用,為什麼?

不能,ping只能pingip,不能ping埠.

8.說出a、b、c類網路的子網號有幾位?

注意,這裡的子網號是等於網路號的,我一時沒有反應過來,暈。

a: 0   網路號7位  主機號24位

b:10    網路號16位  主機號16位

c:110 網路號23位  主機號8位  

10.函式壓棧的方式(只列舉常考的)

函式名                 引數壓棧              清棧                             備註

(1)_cdcel            _function               右到左          呼叫者清棧         可變引數列表的定義方式

(2)_fastcall       @function@8         右到左          函式內部清棧     利用了暫存器ecx、eax、edx

(3)_stdcall        _function@8           右到左         函式內部清棧      

11.多執行緒同步的方式及比較

主要有下面幾種:

1)如果同步的是乙個32位或者64位的數,我們用原子方式實現同步,旋轉鎖就是用原子函式實現的,通過不停地呼叫原子函式對乙個變數賦值,並返回變數的原值,如下:

while(interlockedexchange(&g,true) == true);

由於返回的是原值,會不斷迴圈,直至在別的地方改變為止。這種方式非常消耗cpu資源,在單處理器上不能使用,會一直占用著,多處理器上也不建議使用。也可以用一

個volatile的變數實現同步,但效率不高。

2)如果同步的是一段**,我們用關鍵**段。在我們執行函式時,會以原子方式執行,也就是說在函式呼叫時會對資源進行原子方式處理,別的執行緒只能等待,並從使用者模

式切換到核心模式,進入等待狀態,由於此過程開銷很大,所以微軟出了乙個與關鍵**段相結合的旋轉鎖,在一段很小的週期內不斷詢問是否可以呼叫資源,在裡面有一

個計數,記錄著旋轉次數,當次數轉為0時也是會進入核心模式。關鍵段速度快,非內物件, 只能用於同一程序之中,且容易處於死鎖狀態。

3)有另一種方式跟關鍵**段差不多,就是slim讀寫鎖。它也是對資源以原子的形式保護起來,不過,在進行讀操作時,允許別的執行緒讀取該資源,只是在寫操作時獨佔資源

而已。4)利用事件核心物件。讓乙個事件處於觸發或者非觸發狀態,當事件處於觸發時,等待的事件就變成可排程狀態了。這裡有一點值得注意,事件分為兩種,手動重置和自動重

置。手動重置是事件觸發時,所有等待的執行緒變為可排程狀態,而自動的話就只有乙個。事件物件屬於核心物件,系統耗費大量資源,但是可用於多程序間。

5)訊號量核心物件。對某一資源設定乙個訪問上限值,只允許上限值的個數訪問,當計數等於0時,訊號量就變成未觸發狀態。訊號量屬於核心物件,耗費大量資源,但可用

於多程序間。

6)互斥量核心物件。獨佔對乙個資源的訪問,裡面有乙個執行緒id,為0時表示該物件可觸發。訊號量屬於核心物件,耗費大量資源,但可用於多程序間。

12、執行緒終止執行時系統的處理

1)釋放執行緒棧物件       2)返回退出**       3)執行緒的核心物件減一,並置為觸發狀態(互斥量或者事件物件時有用)       4)倘若結束執行緒為程序最後執行緒則結束程序

13.postmessage 與sendmessage區別

相同點:引數相同,函式作用相同

不同點:1)返回值不同

2)前者是非同步的,把訊息放在訊息迴圈佇列裡面後就返回,不管有無處理。而後者是同步的,等待訊息被處理後再返回

3)同一執行緒時, sendmessage不把訊息放進迴圈佇列,而是呼叫目標窗體的訊息處理程式進行處理,之後等待結果返回。而postmessage 就直接放在訊息迴圈隊 

列,然後通過迴圈分配到相應的視窗。

4)不同執行緒時,sendmessage把訊息放進訊息迴圈佇列,然後在目標窗體的訊息處理程式裡面監視訊息的處理,等待返回,而postmessage 一樣。

QA應聘準備系列之三 簡歷如何準備

原創 東昇 興軍 路濤 乙份好的簡歷既是通過面試邀請篩選的重器,同時也是面試過程的重要引導。好的簡歷應該具備以下的特徵 1.重點突出 篇幅適中 2.結構清晰 邏輯合理 3.體現成就與貢獻 4.目標明確 體現能力 有了以往工作和專案的整理,接下來就是整理乙份好的簡歷。那麼什麼樣的簡歷算乙份好的簡歷呢?...

面試準備 資料庫(持續更新)

1 mysql分頁有什麼優化 2 悲觀鎖 樂觀鎖 悲觀鎖還是樂觀鎖,都是人們定義出來的概念,可以認為是一種思想。行鎖,表鎖,排他鎖,共享鎖等是資料庫的鎖機制 悲觀鎖 獲取鎖之後再執行操作,提交事務後釋放鎖,實現上使用資料庫提供的鎖機制適合資源競爭比較激烈,或者鎖代價小於回滾代價的場景 樂觀鎖 在事務...

前端應聘要準備些什麼樣子的作品?

文章背景 來自於其它 的一次線上交流,當時回答感覺比較粗糙,現重新整理分享出來,同時也是階段性的總結。公司現有官網,相關產品位址,如果沒有就提供 截圖,介面截圖,靜態頁面等等。反正得有一樣,證明你曾經有這個經歷,在交流時,證明當時擔任這個角色的時候做了那些東西,當中遇到了什麼困難或問題,你是怎麼解決...