技術面試的經歷
有一次技術面試,經歷如下:
1、那家公司是一家做手機開發應用程序的。我去到之後,先做筆試,筆試題目好像比較簡單,如下所示:
(1)、下面程序調用f(111)的結果是:
int f(int m)
{
int count = 0;
while( m )
{
m = m & (m - 1);
count++;
}
return count;
}
其實是考查參數在二進制形式中1的個數,可惜當時答不正確,寫了個3,誒~
因爲111化成二進制數是111 = 64 + 32 + 15 = 1101111,所以答案是6.
(2)、寫一個c程序,要求把一個數反序,比如1234,變成4321.
這道題應該是比較簡單的,但是我很久沒做過這種練習了,所以用了一個整形數組來存放每一個數字,在反過來,其實最簡單的方法如下:
int revert(int m)
{
int result = 0;
while( m )
{
result = result * 10 + m % 10;
m /= 10;
}
return result;
}
可見編程的基本功也扔了不少。
剩下的就不舉例了,總之感覺很不好。
2、剩下來的就是技術面試了。問題如下:
(1)、qt裏面的信號與槽的實現機制是怎樣的?(我答由於很久沒用了,所以忘了,不過還記得和mfc的實現機制差不多)
事後想想,如果能答信號和槽是類似於觀察者模式的機制實現的,估計都比上面的說法要好一點~(雖然實際上不是)
(2)、f->fun().當fun是普通成員函數和虛函數時候在實現上有什麼區別(我當時答,當fun是虛函數時候,要用虛表的形式來實現的)
事後想,如果能答具體一點,那就好了,因爲兩句話,使別人以爲我不大懂(本來就不大懂,又隔了半年,都忘差不多了)
(3)、c++中怎樣才能取出私有數據成員出來,不能用公有方法;當時我說了一個在網上看到的方法,他問還有沒有?
我說我想不出來了。
其實,有很多方法我以前都看過的,1、用#define private public; #define class struct;
2、強行將類成員的指針轉爲其他指針,比如整形或者浮點型(這種方式幾乎是萬能的,甚至可以把const的屬性消掉)
(4)、有沒有辦法把c++的虛函數實現機制在編譯期間綁定(我說我想沒有,現在還想不出來他要問什麼)
(5)、問我一道與上面筆試第一題相關的問題,就是怎麼判斷一個數是2的乘方。這個問題其實很好答滴,只不過當時我腦袋有點空白,所以~
後面的就不用說了,差不多可以掛了!
事後想想,原因可能是不會表達自己的東西,還有就是基礎也已經忘的差不多了,畢竟平時就是做項目的,哪能經常記得那些很久沒用的基礎,比如數據結構,比如算法分析。
還是得努力啊~
1、那家公司是一家做手機開發應用程序的。我去到之後,先做筆試,筆試題目好像比較簡單,如下所示:
(1)、下面程序調用f(111)的結果是:
int f(int m)
{
int count = 0;
while( m )
{
m = m & (m - 1);
count++;
}
return count;
}
其實是考查參數在二進制形式中1的個數,可惜當時答不正確,寫了個3,誒~
因爲111化成二進制數是111 = 64 + 32 + 15 = 1101111,所以答案是6.
(2)、寫一個c程序,要求把一個數反序,比如1234,變成4321.
這道題應該是比較簡單的,但是我很久沒做過這種練習了,所以用了一個整形數組來存放每一個數字,在反過來,其實最簡單的方法如下:
int revert(int m)
{
int result = 0;
while( m )
{
result = result * 10 + m % 10;
m /= 10;
}
return result;
}
可見編程的基本功也扔了不少。
剩下的就不舉例了,總之感覺很不好。
2、剩下來的就是技術面試了。問題如下:
(1)、qt裏面的信號與槽的實現機制是怎樣的?(我答由於很久沒用了,所以忘了,不過還記得和mfc的實現機制差不多)
事後想想,如果能答信號和槽是類似於觀察者模式的機制實現的,估計都比上面的說法要好一點~(雖然實際上不是)
(2)、f->fun().當fun是普通成員函數和虛函數時候在實現上有什麼區別(我當時答,當fun是虛函數時候,要用虛表的形式來實現的)
事後想,如果能答具體一點,那就好了,因爲兩句話,使別人以爲我不大懂(本來就不大懂,又隔了半年,都忘差不多了)
(3)、c++中怎樣才能取出私有數據成員出來,不能用公有方法;當時我說了一個在網上看到的方法,他問還有沒有?
我說我想不出來了。
其實,有很多方法我以前都看過的,1、用#define private public; #define class struct;
2、強行將類成員的指針轉爲其他指針,比如整形或者浮點型(這種方式幾乎是萬能的,甚至可以把const的屬性消掉)
(4)、有沒有辦法把c++的虛函數實現機制在編譯期間綁定(我說我想沒有,現在還想不出來他要問什麼)
(5)、問我一道與上面筆試第一題相關的問題,就是怎麼判斷一個數是2的乘方。這個問題其實很好答滴,只不過當時我腦袋有點空白,所以~
後面的就不用說了,差不多可以掛了!
事後想想,原因可能是不會表達自己的東西,還有就是基礎也已經忘的差不多了,畢竟平時就是做項目的,哪能經常記得那些很久沒用的基礎,比如數據結構,比如算法分析。
還是得努力啊~
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.